年前快速地过了一遍Kotlin语法。这回计划花上半年的时间,从代码细节上重新系统的梳理一遍Kotlin语言。当然,性价比最高的方式是通过Kotlin开发项目来学习。
同样表示变量var与val有什么区别?
val = 加了final的变量
字符串模板
类比Java Web JSP里的EL表达式
函数
问题:表达式和语句有什么区别?
表达式有返回值,语句没有。表达式可以包含在语句或表达式里。语句与语句之间是并列的
Kotlin常见的表达式有:if,when,try{}catch
关于When
关于Kotlin里的循环和迭代
异常处理
背景知识:
Java异常继承自Throwable,分为两种
运行时异常RuntimeException,也叫非受检异常
受检异常 CheckedException
Java处理异常有两种方式:
try catch 捕获异常
throws抛出异常
先看下Java的例子
从上面程序可知:Java强制要求开发人员处理受检异常。
常见的受检异常:
Exception, FileNotFoundException, IOException, SQLException
常见的未检查异常:
NullPointerException, ClassCastException, ArrayIndexsOutOfBoundsException, ArithmeticException, NumberFormatException
上述Kotlin下的代码如下:
可知:与Java不同,对受检异常,Kotlin不强制开发人员处理。
小结对于异常,Kotlin与Java的不同之处如下:
Kotlin不区分受检异常和非受检异常, 都不强制处理异常
Kotlin不存在throws,不允许抛出异常
当try{}catch{}作为表达式的使用时
关于枚举
关于类和属性
我们看下Java的
等效Kotlin实现
Java中,成员变量就是一个字段,访问成员变量通过setter或者getter方法,相当于变量的访问器。Kotlin把这个概念作为语言层面的支持了。kotlin中每个属性,如果是val变量就自带访问器get(),如果是var属性则自带get()和set()
因此Kotlin中,一个属性 = 字段 + 访问器;这是Kotlin对Java语言的进化。
小结
领取专属 10元无门槛券
私享最新 技术干货