最适合网络开发者的网站
Kotlin。W3Schools 英文版。初学者课程

尿素 西斯

Kotlin If ... Else


Kotlin Conditions and If..Else

Kotlin supports the usual logical conditions from mathematics:

  • Less than: a < b
  • Less than or equal to: a <= b
  • Greater than: a > b
  • Greater than or equal to: a >= b
  • Equal to: a == b
  • Not Equal to: a != b

You can use these conditions to perform different actions for different decisions.

Kotlin has the following conditionals:

  • Use if to specify a block of code to be executed, if a specified condition is true
  • Use else to specify a block of code to be executed, if the same condition is false
  • Use else if to specify a new condition to test, if the first condition is false
  • Use when to specify many alternative blocks of code to be executed

笔记: Unlike Java, if..else can be used as a statement or as an expression (to assign a value to a variable) in Kotlin. See an example at the bottom of the page to better understand it.


Kotlin if

Use if to specify a block of code to be executed if a condition is true.

Syntax

if (condition) {
  // block of code to be executed if the condition is true
}

Note that if is in lowercase letters. Uppercase letters (If or IF) generate an error.

In the example below, we test two values to find out if 20 is greater than 18. If the condition is true, print some text:

例子

if (20 > 18) {
  println("20 is greater than 18")
}
亲自尝试 »

We can also test variables:

例子

val x = 20
val y = 18
if (x > y) {
  println("x is greater than y")
}
亲自尝试 »

Example explained

In the example above we use two variables, xy, to test whether x is greater than y (using the > operator). As x is 20, and y is 18, and we know that 20 is greater than 18, we print to the screen that "x is greater than y".


Kotlin else

Use else to specify a block of code to be executed if the condition is false.

Syntax

if (condition) {
  // block of code to be executed if the condition is true
} else {
  // block of code to be executed if the condition is false
}

例子

val time = 20
if (time < 18) {
  println("Good day.")
} else {
  println("Good evening.")
}
// Outputs "Good evening."
亲自尝试 »

Example explained

In the example above, time (20) is greater than 18, so the condition is false, so we move on to the else condition and print to the screen "Good evening". If the time was less than 18, the program would print "Good day".


Kotlin else if

Use else if to specify a new condition if the first condition is false.

Syntax

if (condition1) {
  // block of code to be executed if condition1 is true
} else if (condition2) {
  // block of code to be executed if the condition1 is false and condition2 is true
} else {
  // block of code to be executed if the condition1 is false and condition2 is false
}

例子

val time = 22
if (time < 10) {
  println("Good morning.")
} else if (time < 20) {
  println("Good day.")
} else {
  println("Good evening.")
}
// Outputs "Good evening."
亲自尝试 »

Example explained

In the example above, time (22) is greater than 10, so the first condition is false. The next condition, in the else if statement, is also false, so we move on to the else condition since condition1condition2 is both false - and print to the screen "Good evening".

However, if the time was 14, our program would print "Good day."


Kotlin If..Else Expressions

In Kotlin, you can also use if..else statements as expressions (assign a value to a variable and return it):

例子

val time = 20
val greeting = if (time < 18) {
  "Good day."
} else {
  "Good evening."
}
println(greeting)
亲自尝试 »

When using if as an expression, you must also include else (required).

笔记: You can omit the curly braces {} when if has only one statement:

例子

fun main() {
  val time = 20
  val greeting = if (time < 18) "Good day." else "Good evening."
  println(greeting)
}
亲自尝试 »

提示: This example is similar to the "ternary operator" (shorthand if...else) in Java.