適合有java基礎(chǔ)的,獲取kotlin基礎(chǔ)知識/語法等,Kotlin精講-黑馬程序員(原創(chuàng))的學習筆記。
1. if...else...
在Kotlin里面,針對if…else語句,還可以有返回值,然后可以把if…else的返回值賦值給某一個變量。
fun testIf() {
var list = listOf<Int>(1, 2, 3)
var age = 1
// 可以使用 in 進行元素的判斷
if (age in list) {
println("age is in list")
}
}
2. when
// when的兩種用法
fun testWhen() {
var score = 99
// when+變量
when (score) {
in 90..100 -> println("優(yōu)")
in 60 until 90 -> println("及格")
else -> println("不及格")
}
// when不使用變量
when {
score >= 90 && score <= 100 -> println("優(yōu)")
score >= 60 && score < 90 -> println("及格")
else -> println("不及格")
}
}
“when關(guān)鍵字帶變量”的語法形式,要根據(jù)變量類型,變量是不同的類型,支持的表達式也是不同的,
比如變量是Int類型,可以有“類型判斷、單值判斷、多值判斷、肯定存在判斷、否定存在判斷”。
fun testWhen() {
var num = 2
var range = 1..5
when (num) {
// 類型判斷
is Int -> println("num is int type")
// 單值判斷
2 -> println("num is 2")
// 多值判斷
2,3 -> println("num is 2 or 3")
// 肯定存在判斷
in range -> println("num is in range 2..4")
// 否定存在判斷
!in 5..9 -> println("num is not in range 5..9")
// else
else -> println("num is in case else..")
}
}
3. break/continue
kotlin中可以為每一個循環(huán)指定一個名字,可以在break的時候指定需要跳出的循環(huán)的名字。
continue也可以實現(xiàn)類似的跳轉(zhuǎn)功能。
// "xxx@"設(shè)定循環(huán)的名字
fun testBreak() {
loop1@for (i in 1..3) {
loop2@for (j in 1..5) {
if (j == 3) {
// break指定跳出某個循環(huán)
break@loop1
}
println("i = $i, j = $j")
}
}
}