- 声明函数、变量、类、枚举以及类型
- Kotlin中的控制结构
- 智能转换
- 抛出和处理异常
函数和变量
函数
|
|
变量
可变变量和不可变变量
- val - 不可变引用。 相当于Java的final变量。
- var - 可变引用。 普通的Java变量。
在定义了val变量的代码块执行期间,val变量只能进行唯一一次初始化。但是,如果编译器能确保只有唯一一条初始化语句被执行,可以根据条件使用不同的值来初始化它:
|
|
注意:尽管val引用自身是不可变的,但是它指向的对象可能是可变的。例如:
|
|
错误:类型不匹配
|
|
字符串模板
|
|
和许多脚本语言一样,只需要在变量名称前加上 $ ,就可以在字符串字面值中引用局部变量。
引用”$”需要转义“\$”
类和属性
类
在Kotlin中,public是默认的可见性,所以你能省略它。12345678public class Person { private final String name; public Person(String name) { this.name = name; }}
—>
|
|
属性
|
|
自定义访问器
|
|
Kotlin源码布局:目录和包
1.把类和函数的声明放在包中,可以同级
|
|
Kotlin不区分导入的是类还是函数,而且,它允许使用import关键字导入任何种类的声明。可以直接导入顶层函数的名称。
2.导入其他包中的函数
|
|
包层级和java类似。
表示和处理选择: 枚举和”when”
when结构,java中switch结构的替代品,但是更强大。智能转换。
枚举
1.声明简单的枚举类
|
|
2.声明一个带属性的枚举类
|
|
3.使用“when”处理枚举类
|
|
when
1、在 when 结构中使用任意对象
|
|
2、不带参数的 when
|
|
3、智能转换:合并类型检查和转换
|
|
4、重构:用“when”代替“if”
|
|
5、代码块作为 “if” 和 “when” 的分支
|
|
迭代事物: “when”循环和“for”循环
1、“while” 循环
Kotlin 有 while 循环和 do-while 循环,他们的语法和Java中相应的循环没有什么区别
2、迭代数字:区间和数列
|
|
3、迭代map
|
|
4、使用 “in” 检查集合和区间的成员
|
|
1、try catch 和 finally
|
|
2、try 作为表达式
|
|
总结
- fun 关键字用来声明函数。Val关键字和var关键字分别用来声明只读变量和可变变量。
- 字符串模板帮组你避免繁琐的字符串拼接。在变量名称前加上 $ 前缀或者用 ${} 包围一个表达式,来把值注入到字符串中。
- 值对象类在Kotlin中以简洁的方式表示。
- 熟悉的if现在是带返回值的表达式。
- when表达式类似于Java中的switch但功能更强大。
- 在检查过变量具有某种类型之后不必显示地转换它的类型:编译器使用智能转换字段帮你完成。
- for、while、和 do-while 循环与java类似,但是for循环现在更加方便,特别是当你需要迭代map的时候,又或是迭代集合需要下标的时候。
- 简洁的语法 1..5 会创建一个区间。区间和数列允许Kotlin在for循环中使用统一的语法和同一套抽象机制,并且还可以使用in运算符和!in运算符来检查值是否属于某个区间。
- Kotlin中的异常处理和java非常相似,除了Kotlin不要求你声明函数可以抛出异常。