I den här artikeln lär du dig att använda if expression i Kotlin med hjälp av exempel.
Traditionell användning av om … annat
Syntaksen för if … else är:
if (testExpression) (// codes to run if testExpression is true) else (// codes to run if testExpression is false)
if
kör en viss kodsektion om testExpression utvärderas till true
. Det kan ha valfri annan klausul. Koder inuti else
satsen körs om den testExpression
är falsk.
Exempel: traditionell användning av if … else
fun main(args: Array) ( val number = -10 if (number> 0) ( print("Positive number") ) else ( print("Negative number") ) )
När du kör programmet blir resultatet:
Negativt tal
Kotlin om uttryck
Till skillnad från Java (och andra många programmeringsspråk) if
kan det användas ett uttryck i Kotlin; det returnerar ett värde. Rekommenderad läsning: Kotlinuttryck
Här är ett exempel:
Exempel: Kotin if expression
fun main(args: Array) ( val number = -10 val result = if (number> 0) ( "Positive number" ) else ( "Negative number" ) println(result) )
När du kör programmet blir resultatet:
Negativt tal
Den else
gren är obligatoriskt vid användning if
som ett uttryck.
De lockiga hängslen är valfria om kroppen if
endast har ett uttalande. Till exempel,
fun main(args: Array) ( val number = -10 val result = if (number> 0) "Positive number" else "Negative number" println(result) )
Detta liknar den ternära operatören i Java. Därför finns det ingen ternär operatör i Kotlin.
Exempel: om block med flera uttryck
Om grenblocket if
innehåller mer än ett uttryck returneras det sista uttrycket som värdet på blocket.
fun main(args: Array) ( val a = -9 val b = -11 val max = if (a> b) ( println("$a is larger than $b.") println("max variable holds value of a.") a ) else ( println("$b is larger than $a.") println("max variable holds value of b.") b ) println("max = $max") )
När du kör programmet blir resultatet:
-9 är större än -11. max variabel innehar värdet på a. max = -9
Rekommenderad läsning: Kotlin när uttalande
Kotlin om … annars … om stege
Du kan returnera ett kodblock bland många block i Kotlin med hjälp av if… else… if
stege.
Exempel: om … annars … om stege
fun main(args: Array) ( val number = 0 val result = if (number> 0) "positive number" else if (number < 0) "negative number" else "zero" println("number is $result") )
Detta program kontrollerar om talet är positivt tal, negativt tal eller noll.
Kotlin Nested if Expression
Ett if-uttryck kan finnas i blocket för ett annat om uttryck som kallas kapslat om uttryck.
Exempel: Kapslat om uttryck
Detta program beräknar det största antalet bland tre siffror.
fun main(args: Array) ( val n1 = 3 val n2 = 5 val n3 = -2 val max = if (n1> n2) ( if (n1> n3) n1 else n3 ) else ( if (n2> n3) n2 else n3 ) println("max = $max") )
När du kör programmet blir resultatet:
max = 5