在Kotlin中,if
表示式返回一個值。它用於控制程式結構的流程。 在Kotlin中有各種型別的if
表示式。
if-else
表示式if-else if-else
階梯表示式if
表示式傳統if
語句的語法 -
if(condation){
//code statement
}
傳統if else
語句的語法 -
if(condation){
//code statement
}
else{
//code statement
}
類似一個if
表示式,但它不是獨立使用的,它與else
表示式一起使用,if-else
表示式的結果賦值給一個變數。
if-else
表示式的語法 -
val returnValue = if (condation) {
//code statement
} else {
// code statement
}
println(returnValue)
Kotlin if-else表示式範例
fun main(args: Array<String>) {
val num1 = 10
val num2 =20
val result = if (num1 > num2) {
"$num1 is greater than $num2"
} else {
"$num1 is smaller than $num2"
}
println(result)
}
執行上面範例程式碼,得到以下結果 -
10 is smaller than 20
可以通過只在一個語句中寫表示式來刪除if-else
主體的花括號。
例如:
fun main(args: Array<String>) {
val num1 = 10
val num2 =20
val result = if (num1 > num2) "$num1 is greater than $num2" else "$num1 is smaller than $num2"
println(result)
}
在單行語句中使用if-else
表示式就像Java中的三元運算子一樣。 Kotlin不支援任何三元運算子。
下面來看一個if-else if-else
階梯表示式的例子。
fun main(args: Array<String>) {
val num = 10
val result = if (num > 0){
"$num is positive"
}else if(num < 0){
"$num is negative"
}else{
"$num is zero"
}
println(result)
}
執行上面範例程式碼,得到以下結果 -
10 is positive
下面來看看一個巢狀if
表示式的例子。
fun main(args: Array<String>) {
val num1 = 25
val num2 = 20
val num3 = 30
val result = if (num1 > num2){
val max = if(num1 > num3){
num1
}else{
num3
}
"body of if "+max
}else if(num2 > num3){
"body of else if"+num2
}else{
"body of else "+num3
}
println("$result")
}
執行上面範例程式碼,得到以下結果 -
body of if 30