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)
ifkör en viss kodsektion om testExpression utvärderas till true. Det kan ha valfri annan klausul. Koder inuti elsesatsen 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) ifkan 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 elsegren är obligatoriskt vid användning ifsom ett uttryck.
De lockiga hängslen är valfria om kroppen ifendast 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 ifinnehå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… ifstege.
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








