前言
学习笔记主要整理自书籍《第一行代码》(第三版),是笔者为自己之后的复习准备的。分享出来希望也可以帮助到大家。
一、条件语句
1. if语句
1)Kotlin中的if语句与Java中的语句几乎无差别
示例1
fun largerNumber(num1: Int, num2: Int): Int{
var value = 0
if (num1 > num2) {
value = num1
} else {
value = num2
}
return value
}
2)唯一的差别:Kotlin中的if语句可以有返回值
示例2(示例1的简化:去掉无用的变量定义)
fun largerNumber(num1: Int, num2: Int): Int{
var value = if (num1 > num2) {
num1
} else {
num2
}
return value
}
经过一系列语法糖的简化:
示例3(再简化:去掉无用的变量定义)
fun largerNumber(num1: Int, num2: Int): Int{
return if (num1 > num2) {
num1
} else {
num2
}
}
示例4(再简化:去掉无用的返回值类型定义)
fun largerNumber(num1: Int, num2: Int) = if (num1 > num2) {
num1
} else {
num2
}
示例5(再简化:去掉无用的括号)
fun largerNumber(num1: Int, num2: Int) = if (num1 > num2) num1 else num2
2. when语句
示例1(基本使用)
fun getScore(name: String) = when (name) {
"Tom" -> 86
"Jim" -> 77
"Lily" -> 100
else -> 0
}
注:格式为 " " -> 结果
注:when的传入参数可以为任何类型的
示例2(使用不同判断条件时)
fun getScore(name: String) = when {
name.startsWith("Tom") -> 86
name == "Jim" -> 77
name == "Lily" -> 100
else -> 0
}
注:格式为 " " -> 结果
注:when的传入参数可以为任何类型的
示例3(使用when判断参数类型)
fun checkNumber(name: Number) {
when (num){
is Int -> println("int")
is Double -> println("double")
else -> println("number is not support")
}
}
注:用到了“is”关键词
二、循环语句
1. while循环
略
2. for循环
1)Kotlin中的区间表示
0..10 //等价于[0,10]
0 until 10 //等价于[0,10)
0 until 10 step 2 //[0,10),正序,步长为2,输出:0,2,4,6,8
10 downTo 1 //倒叙输出:10,9,8,...,1
2)for的用法
示例
fun main(){
for (i in 0 until 10 step 2){
println(i)
}
}