#变量
val(value的简写)用来声明一个不可变的变量。
val a = 10
var(variable的简写)用来声明一个可变的变量。
var a: Int = 10
*Kotlin拥有出色的类型推导机制,每一行代码的结尾不加分号。
*Kotlin抛弃了Java中的基本数据类型,全部使用了对象数据类型
*优先使用val来声明变量,当val没有办法满足需求时,再使用var
#函数(方法)
fun methodName(param: Int): Int{
return 0
}
*语法糖:当函数只有一行代码时,可直接将代码写在函数定义的尾部,用等号连接。
fun largeNumber(num1: Int, num2: Int): Int = max(num1, num2)
由于出色的类型推导机制,不用再显示声明返回值
fun largeNumber(num1: Int, num2: Int) = max(num1, num2)
#if语句
if语句可以有返回值,返回值时if语句的最后一行代码
fun largeNumber(num1: Int, num2: Int) = if (num1 > num2) num1 else num2
#when语句
when语句允许传入一个任意类型的参数,然后可以在when的结构体中定义一系列的条件,格式为:匹配值 -> { 执行逻辑 }
fun getScore(name: String) = when (name) {
"Tom" -> 86
"Jim" -> 77
else -> 0
}
*当执行逻辑只有一行代码时,{ }可以省略。
除了精确匹配之外,when语句还允许进行类型匹配。
fun checkNumber(num: Number) {
when (num) {
is Int -> println("number is Int")
is Double -> println("number is Double")
else -> println("number is not support")
}
}
*is关键词是类型匹配的核心,相当于Java中的instanceof关键词
*Kotlin判断字符串或对象是否相等可以使用==关键字,不用像Java那样调用equals()方法。
#循环语句
…关键字:两端都是闭区间,用数学方式表达就是[0, 10]。
val range = 0..10
for-in循环:打印0到10
fun main() {
for (i in 0..10) {
println(i)
}
}
until关键字:走闭右开的区间。用数学方式表达就是[0, 10)。
val range = 0 until 10
step关键词:递增
fun main() {
fun (i in 0 until 10 step 2) {//每次执行循环都会在区间范围内递增2
println(i)
}
}
downTo关键字:创建一个降序的区间。[10, 1]
fun main() {
for (i in 10 downTo 1) {
println(i)
}
}
2020/05/18 00:01