kotlin --- 控制语句/选择语句 if when for while

本文介绍了Kotlin中的if和when选择语句,以及它们与Javaswitch的区别,强调了when的简洁性和灵活性。同时讨论了基础循环语句,如for、while和do...while的用法。
摘要由CSDN通过智能技术生成

引言

         在java中,有 if()else{}  ,有switch(){} , for , while ,之类语句。但是没见when,这里是什么意思???

这里先说一下在kotlin中,when就是java中的switch ,选择语句。

控制语句/选择语句介绍

控制语句

   有 if    when

        if表达式

kotlin的if表达式基本上和java一样,都是if,else,else if 。

            fun main(args:Array<String>){
            var a = 8
            var b = 8
            if (a > b){
                println("Maximum is a")
            }else if (a < b){
                println("Minimum is b")
            }else{
                println("a = b")
            }
        }

通过上面的代码可以看出来基本和Java的if语法差不多。

但是还是有些区别:kotlin的if语句的结果可以赋值给变量

这个就有意思了,我们可以简化代码。

        when表达式
  when(test){
                0-> println("0")
                1-> println("1")
                2-> println("2")
                3-> println("3")
                else-> println("else")
            }

相比switch-case简化了不少,when除了可以接受Int数据类型的常量,还可以接受其他数据类型的常量,注意else等价于default。除了可以接受不同的数据类型的常量,也可以接受任意表达式。

      when(test){
                in 0..3-> println("0..3") // 在[0, 3]区间中
                in 0 until 3-> println("0 until 3") // 在[0, 3)区间中
                !in 3..5-> println("!in 3..5") // 不在[3, 5]区间中
                else-> println("else")
            }

when也可以在某些情况取代

if(){

}else if(){

}else{

}

            var a = 3
            var b = 3
            // 当when不需要传入参数,所有的分支条件都是简单的布尔表达式。
            when {
                a > b -> println("Maximum is a")
                a < b -> println("Minimum is b")
                else -> println("a = b")
            }

循环语句

Kotlin的基础循环语句:for,while,do ... while

        for循环

kotlin的for循环和Java的还是有不少区别的,kotlin的for循环更加的简洁。 

            for (i in 0..5){ // [0, 5]区间循环
                println(i)
            }

            for (i in 0 until 5){ // [0, 5)区间循环,不包含5
                println(i)
            }

            for (i in 5 downTo  0){ // [5, 0]区间循环
                println(i)
            }
            
            for (i in 10 downTo 0 step 2) { // [10, 0]区间每隔两个打印
                println(i)
            }

              while 循环和 do ...  while

while和do…while循环和Java一样的。

var test0 = 10
var test1 = 10
while (test0 > 0) {
   println("test0:$test0")
}

do {
   println("test1:$test1")
} while (test1 > 0) // while 在此处可见

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值