• 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代码块。

  • 相关阅读:
    [NOIP2013]花匠
    [NOIP2013]货车运输
    [NOIP2013]火柴排队
    [NOIP2012]疫情控制
    雷动WEBRTC产品
    WebRTC学习笔记_Demo收集
    Red5的直播与点播的压力测试(并发数的测试)
    Apache Tomcat8必备知识
    Servlet3.0学习总结(一)——使用注解标注Servlet
    一张图讲清楚高可用、高性能、可扩展的WEB系统架构
  • 原文地址:https://www.cnblogs.com/T-ARF/p/7597450.html
Copyright © 2020-2023  润新知