Kotlin程序控制

796a7a30ab974fbfa0f53755797076a6.png

Kotlin程序控制思维导图

目录

if 语句

分支判断

三元表达式

块结构

for 语句

递增循环

递减循环

与区间运算符结合使用

与序列化对象结合使用

when 语句

实现switch的功能

实现if 的选择分支效果

与 in 或 is 结合使用

while 语句

do...while 语句

跳转语句


if 语句

分支判断

    Kotlin中的 if 功能之一是 实现与Java中 if 完全相同的分支选择结构

    常用的有两种形式 if (condition) { } else { } 

                                  if (condition) { } else if(condition){ } else{ }

    var x:Int
    val num=50
    val input=Scanner(System.`in`)
    x=input.nextInt()
    if (x>num){
        println("输入数字较大")
    }else if (x<num){
        println("输入数字较小")
    }else{
        println("输入正确")
    }

三元表达式

  Java中用 ? :来实现三元表达式,但是这种语法并没有被JetBrains所接受

  Kotlin采用的是 if ... else ... 来实现三元表达式的

  语法:if (condition) 值1 else 值2

    var a:Int
    var b:Int
    val input=Scanner(System.`in`)
    a=input.nextInt()
    b=input.nextInt()
    println("$a"+"和"+"$b"+"中较小的是: "+ if (a<b) a else b)

块结构

  Kotlin 中 if 还可以表示一个多分支的块结构并返回相符合的块中最后一条语句的值

    var a:Int
    var b:Int
    val input=Scanner(System.`in`)
    a=input.nextInt()
    b=input.nextInt()
    val x=if (a>b){
        println("$a > $b")
    }else if (a==b){
        println("$a = $b")
    }else{
        println("$a < $b")
    }
    println(x) //输出Unit,无返回值
    var x1=if (a>b){
        println("$a > $b")
        a-b
    }else if (a==b){
        println("$a = $b")
        0
    }else{
        println("$a < $b")
        b-a
    }
    println(x1) //Int型的一个值

for 语句

    Kotlin 中舍弃了Java 中 for的 (初值 ; 判断 ;迭代)的结构

递增循环

    Kotlin中用 in 和 until 实现了递增循环 ,其中可以用 step 指明步长(一般步长默认1)

    Kotlin实现的递增循环是 [ a , b )

    var sum=0
    for (i in 1 until 9)
        sum+=i
    println(sum) //实现1~8的求和 36
    sum=0
    for (i in 1 until 10 step 2)
        sum+=i
    println(sum) // 实现1~9的奇数求和 25

递减循环

    Kotlin中用 in 和 downTo 实现了递减循环 ,step的作用与递增循环一致

    Kotlin实现的递减循环是 [ a , b ]

    var sum=0
    for (i in 9 downTo  1)
        sum+=i
    println(sum) //实现1~9的求和 45
    sum=0
    for (i in 8 downTo  0 step 2)
        sum+=i
    println(sum) // 实现0~8的偶数求和 20

与区间运算符结合使用

   in 和 区间运算符 .. 一起使用可以达到类似 until step为1的效果,但是区间是双闭区间

    var sum=0
    for (i in 1..8)
        sum+=i
    println(sum) // 1~8求和 36 
    // 用until表示 是 1 until 9

与序列化对象结合使用

  in 可以和序列化对象比如字符串、数组结合 ,直接实现字符串内元素数组内元素的遍历

    var str="123456aurora"
    var arr= arrayOf(9,8,7,6,5)
    for (i in str)
        print("$i ") //1 2 3 4 5 6 a u r o r a
    println()
    for (i in arr)
        print("$i ")//9 8 7 6 5

when 语句

实现switch的功能

  Kotlin中用 when 代替 Java中 switch 的功能

  语法 when (condition) { case1->{ } case2->{ } case3,case4,case5->{ } else->{ }}

  一般的使用如上行所示:,相当于switch不带break的case,但又有些不同,在Java中,这些case可以执行不同的块,但Kotlin中执行的是相同的块;else相当于switch中的defalut块

    var day:String
    val input=Scanner(System.`in`)
    day=input.next()
    when(day){
        "SunDay"->{
            println("今天是周日")
        }
        "MonDay"->{
            println("今天是周一")
        }
        "TuesDay","SaturDay"->{
            println("今天是周二或周六")
        }else->{
            println("今天是周三、周五或周四")
        }
    }

实现if 的选择分支效果

   when还可以实现 if else 分支的选择效果,也可以嵌套实现 if{ } else if{ } else{ } 的选择效果

   语法:when(condition){ true->{ } else->{ } }

              when(condition){ true->{ } else->{ when(condition){true->{} else->{ } } }

    var x:Int
    val num=50
    val input= Scanner(System.`in`)
    x=input.nextInt()
    when (x>num){
        true->{
            println("bigger")
        }
        else->{
            when(x==num){
                true->{
                    println("equal")
                }
                else->{
                    println("smaller")
                }
            }
        }
    }

与 in 或 is 结合使用

  与in 或 is 的结合使用也可以用 if 实现

  in 主要判断元素是否在序列化对象中

  is 主要判断变量是否是某类型

    var arr= arrayOf(1,3,5,7,9)
    when(3){
        in arr->{
            println("is exit")
        }
        else->{
            println("no")
        }
    }
    if (3 in arr){
        println("is exit")
    }else{
        println("no")
    }
    when(arr){
        is Array<Int>->{ //无用的检查
            println("Yes")
        }else->{
            println("No")
        }
    }
    if (arr is Array<Int>){ //无用的检查
        println("Yes")
    }else{
        println("No")
    }

while 语句

  Kotlin中 while 语句的使用 与Java中的使用相一致

  while (condition) { }

do...while 语句

  Kotlin中 do ... while 语句的使用 与Java中的使用相一致

  do {   }while(condition)

跳转语句

   跳转语句有break ,continue ,return 三种,其使用也与Java中一致

   break 表示不执行后续语句,直接跳出循环

   continue 表示不执行后续语句,执行下一次循环

   return 主要用于函数的返回值,具体使用见博客 Kotlin基本函数

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值