if 只要條件達成就會執行
fun main ()
{
var a = 5
var b = 10
if (a > b) {
println("max is a")
}
}
// result:
// 不會印出任何東西 , 條件沒達成
第一個條件式達成 本來第二個不會達成 在第一個判斷式執行的程式碼末行 a 減少 7 所以第二個條件也達成了
fun main ()
{
var a = 10
var b = 5
if (a > b) {
println("max is a")
a = a - 7
}
if ( b > a) {
println("max is b")
}
}
// result:
// max is a
// max is b
if 條件(a > b)達成就會執行 println("max is a")'
else 排除這個條件(a > b)的情形會執行 println("max is b")
fun main ()
{
var a = 5
var b = 10
if (a > b) {
println("max is a")
} else {
println("max is b")
}
}
// result:
//max is b
if 條件1(a > b)達成就會執行 println("max is a")
else if 條件2(a < b)會執行 println("max is b")
else 排除以上這兩個條件(a > b)&&(a < b)的情形會執行 println(" a is equal b")
fun main ()
{
var a = 5
var b = 5
if (a > b) {
println("max is a")
}
else if(a < b) {
println("max is b")
}
else {
println(" a is equal b")
}
// result
// a is equal b
}
when 可以用來當一個變數不同數值下 每種數值會執行甚麼程式碼內容
fun main (){
val x = 6
when (x) {
1 -> print("x == 1")
2 -> print("x == 2")
else -> { // Note the block
print("x is neither 1 nor 2")
}
}
}
// result:
//x is neither 1 nor 2
when 可以用來表示多個情形下 每種情形會執行甚麼程式碼內容
fun main ()
{
var a = 5
var b = 5
when {
a > b -> {
println("max is a")
}
a < b -> {
println("max is b")
}
else -> println(" a is equal b")
}
// result
// a is equal b
}
如果 a 的值大於 b 代表是 true 的情形 事實為真; 如果a 的值小於 b 不符合 a > b 代表是 false 的情形 事實為假
分別會執行不同的內容
fun main ()
{
var a = 5
var b = 5
when(a > b) {
true -> println("max is a")
false -> println("max isn't a")
}
}
// result:
// max isn't a