1. 程式人生 > >Kotlin if else判斷

Kotlin if else判斷

表達式 else 最大值 最大 ret col 關系 urn spa

Kotlin的if相對與java,有著較為靈活的用法。

if是用來判斷。

if在Kotlin裏面可以作為表達式來使用。

如果熟悉C java C#等 A>B:A?B這個判斷應該是很熟悉,而Kotlin則是沒有。因為if就可以代替了。

好了,我們按順序學習。

傳統判斷:

fun main(args:Array<String>)
{
   var x=15
var y=16 println("${x}和${y}兩個數比較大的是${Big(x,y)}") } fun Big(x:Int,y:Int):Int { if(x>y) return
x else return y }

用法簡單易懂。返回兩個數的最大數

else

是但if條件不成立的時候就執行esle代碼塊的東西。

語法:

  if(條件) //條件是表達式或者數值
{  
 代碼xxxx
  }
else //當if條件不成立的時候執行else內的代碼
{
   代碼
  }

if也可以單獨使用。

if(條件)
{
   代碼xxx
}

if也可以進行多重嵌套

代碼實例:

fun main(args:Array<String>)
{
 var x=27
 var y=26
 var z=25
 println("${x},${y},${z}三個數比較大的是${Big(x,y,z)}
") } fun Big(x:Int,y:Int,z:Int):Int { if (x>y) { if(x<z) { return z } else{ return x } } else { if (y>z) { return y; } else { return z } } return y }

這個就是一個if else嵌套。

以上就是if 的單分支 多分支 雙分支的用法。

也就是傳統的用法。

那麽我之前說過 if可以代替: ?這個判斷。

而這是什麽意思呢?

意思是if可以作為表達式,並且可以將if的結果作為值。不過註意的是if 的作為表達式的時候必須要有else部分代碼塊

正好 我看上面這個判斷三個數最大值的代碼有點長 有點啰嗦。 我們用這個if 可以代替: ?的,可以作為表達式的特性 。來改一下。

代碼如下:

fun main(args:Array<String>)
{
 var x=27
 var y=25
 var z=29
 println("${x},${y},${z}三個數比較大的是${Big(x,y,z)}")
 }

fun Big(x:Int,y:Int,z:Int):Int
 {
    var Max:Int;
     Max=if (x>y) x else y
     Max=if(Max>z)Max else z
    return Max
 }

這樣子if賦值在java中簡直不能想象。

太便利了。

這裏面值得註意的是,if(x>y)z 這個地方,是最後的值作為值,來進行賦值。

也就是if(x>y)printl("very Big")z, 作為值的是z,記住是最後一個作為一個值。如果是表達式,那麽表達式的值將作為值來進行賦值

fun main(args:Array<String>)
{
 var x=27
 var y=25
 var z=29
 println("${x},${y},${z}三個數比較大的是${Big(x,y,z)}")
 }

fun Big(x:Int,y:Int,z:Int):Boolean
 {
    var Max:Boolean
     Max=if (x>y) x>y else false
    // Max=if(Max>z)Max else z
    return Max
 }

上面的代碼 瞎寫了一下。

就是讓你們看一下啊,if的結果賦值,可以是值,也可以表達式。

總結一下:

if有傳統的用法。

if 可以作為表達式

if可以將比較的結果當作值進行賦值。表達式也沒有關系。 if賦值的結果是最後位一表達式。

if作為表達式的時候必須要有else代碼塊。

Kotlin if else判斷