Kotlin if else判断

Posted ARM830

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kotlin if else判断相关的知识,希望对你有一定的参考价值。

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判断的主要内容,如果未能解决你的问题,请参考以下文章

kotlin if

Kevin Learn Kotlin:条件控制

BAT用if-else判断

20个简洁的 JS 代码片段

Kotlin------流程控制语句

写 JS 逻辑判断,不要只知道用 if-else 和 switch