kotlin学习笔记(一)

1.变量
val(value的简写)声明一个不可变的变量。
var(variable的简写)声明一个可变的变量。
2.当一个函数中只有一行代码时,kotlin允许我们不必编写函数体,可以直接将唯一的以行代码写在函数定义的尾部,中间用等号连接即可。
例:fun methodName(param1: Int, param2: Int) = 0
3.kotlin中的if语句相比于Jave有一个额外的功能,它可以有返回值,返回值就是if语句每一个条件中最后一行代码的返回值。
例:fun largerNumber(num1:Int,num2:Int)=if(num1>num2) num1 else num2
4.kotlin中的when语句有点类似于Java中的Switch语句。when语句和if语句一样,也是可以有返回值的,when语句还允许进行类型匹配。匹配值——>{执行逻辑}
is 关键字 就是类型匹配的核心,它相当于Java中的instanceof关键字。
例:
fun checkNumber(num: Number) {
when (num) {
is Int-> println("number is Int")
is Double-> println("number is Double")
else ->println("number not support")
}
}
when语句还有一种不带参数的用法,kotlin中判断字符串或对象是否相等可以直接用==关键字
例:
fun getScore(name: String) = when {
name.startsWith("Tom") -> 86
name == "Jim" -> 77
name == "Jack" -> 95
name == "Lily" -> 100
else -> 0
}
5.for-in循环
区间:val range=0..10 val range = 0 until 10
.. 是创建两端闭区间的关键字,[0,10]
until 关键字来创建一个左闭右开的区间 ,[0,10)
例:
fun main() {
for (i in 0..10) {
println(i)
}
}
默认情况下,for-in循环每次执行循环时会在区间范围内递增1,
如果你想跳过其中一些元素,可以使用 step关键字。
fun main() {
for (i in 0until 10 step 2) {
println(i)
}
}
在遍历[0,10)这个区间的时候,每次执行循环都会在区间范围内递增2(i=i+2)
..和until关键字都要求区间的左端必须小于等于区间的右端,创建的都是一个升序的区间。
如果你想创建一个降序的区间,可以使用 downTo关键字:
fun main() {
for (i in 10 downTo 1) {
println(i)
}
}
[10,1]的降序区间
摘自《第一行代码——Android(第3版)》
努力学习,记录,分享中..........
