Kotlin学习笔记
因为学习Android开发的原因,需要先对Kotlin进行学习。在进行粗略的学习后发现Kotlin跟Java有着千丝万缕的关系,但同时在使用上却像Python。
变量
在Java中申明变量需要指定变量的类型,而在Kotlin中只使用val和var两个关键字。
val
value的简写,用于声明一个不可变的变量,对应Java中final。
var
variable的简写,用于声明一个可变的变量。
类型推导机制
Kotlin会根据给变量的赋值自动推导变量类型。
1 | val a = 10 |
1 | val b = "hello word!" |
显示声明变量类型
有的时候我们不想要Kotlin进行类型推导或者要延迟赋值,这个时候就可以使用显示声明。
1 | val a: Int = 10 |
数据类型
| Java基本数据类型 | Kotlin对象数据类型 | 数据类型说明 |
|---|---|---|
| int | Int | 整型 |
| long | Long | 长整型 |
| short | Short | 短整型 |
| float | Float | 单精度浮点型 |
| double | Double | 双精度浮点型 |
| boolean | Boolean | 布尔型 |
| char | Char | 字符型 |
| byte | Byte | 字节型 |
在Kotlin中,所有的数据类型都不是基本数据类型,而是对象数据类型,拥有自己的方法与继承结构。
函数
main函数
1 | fun main() { |
在Kotlin 1.3之前的版本中,main函数必须具有一个Array<String>类型的参数。
1 | fun main(args: Array<String>) { |
自定义函数
1 | fun largerNumber(num1: Int, num2: Int): Int{ |
语法糖
语法糖(Syntactic sugar),也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。
若函数只有一行代码时,我们可以省略函数体,将唯一一行代码写在函数定义的尾部,中间用等号相连。
1 | fun largerNumber(num1: Int, num2: Int): Int = max(num1, num2) |
由于类型推理机制,我们也可以省略函数的返回值类型。
1 | fun largerNumber(num1: Int, num2: Int) = max(num1, num2) |
逻辑控制
if语句
Kotlin中的if语句与Java中的if语句几乎没有区别,正常情况下按照Java写就好。
if语句返回值
Kotlin中if语句可以有返回值,返回值是每个条件中的最后一行代码的返回值。
1 | fun largerNumber(num1: Int, num2: Int): Int{ |
进行精简。
1 | fun largerNumber(num1: Int, num2: Int): Int{ |
因为函数体内其实就一个return,我们还可以把返回值写到函数定义最后一行。
1 | fun largerNumber(num1: Int, num2: Int)= if(num1 > num2)num1 else num2 |
when语句
when有点类似于Java中的switch,但更加强大。
1 | fun getScore(name: String){ |