zoukankan      html  css  js  c++  java
  • 控制流

    条件语句

    package loaderman
    
    fun main(arg: Array<String>) {
        var a: Int = 30
        var b = 34
        var max: Int
       
        if (a > b) {//普通用法
            max = a
        } else {
            max = b
        }
        print("max " + max)
    
        var x = if (a > b) {//将if语句作为表达式使用
            a// 返回值
        } else {
            b// 返回值
        }
        print("x  = " + x)
    
    }

    when语句

    package loaderman
    
    fun main(arg: Array<String>) {
       var x= 1
       when(x){
           1->{
               print("1")
           }
           2->{
               print("@")
           }
       }
    }

    注意几点:

    • when语句类似于switch 语句,根据传人的值寻找满足条件的分支后执行语句
    • 如果分支对于一条语句,使用 {....}
    • 满足条件执行后,会自动终止when语句的执行,因此,并不需要像switch语句那样每一个case语句都加上break。
    • 如果多个分支执行代码一样,可以用逗号分隔多个条件
    package loaderman
    
    fun main(arg: Array<String>) {
       var x= 2
       when(x){
           1,2->{//多个分支执行代码一样,可以用逗号分隔多个条件
               print("1")
           }
           3->{
               print("@")
           }
       }
    }

    使用in关键字

    package loaderman
    
    fun main(arg: Array<String>) {
       var x= 23
       when(x){
           in 1..20->{
               print("1")
           }
           in 20..40->{//in 表示在这个范围内  反之!in
               print("2")
           }
       }
    }

    分支条件是函数

    package loaderman
    
    fun main(arg: Array<String>) {
       var x= 4
       when(x){
           getVavlue(1)->{
               print("1")
           }
           getVavlue(2)->{//in 表示在这个范围内  反之!in
               print("2")
           }
       }
    }
    
    
    fun getVavlue(x:Int):Int{
        return x*x
    }

    for循环

    for-iterator语法

    package loaderman
    
    fun main(arg: Array<String>) {
        val arr = intArrayOf(2, 3, 4, 5, 6)
        for (item:Int in arr){
            println(item)
        }
    
    }

    索引枚举

    package loaderman
    
    fun main(arg: Array<String>) {
        val arr = intArrayOf(2, 3, 4, 5, 6)
        for (i in arr.indices){
            println("arr[$i]"+arr[i])
        }
    
    }

    其他方法

    package loaderman
    
    fun main(arg: Array<String>) {
        val arr = intArrayOf(2, 3, 4, 5, 6)
        for ((index,value) in arr.withIndex()){
            println("arr[$index]"+value)
        }
    
    }

    while循环

    与java 一样,分为while 和do..while

    package loaderman
    
    fun main(arg: Array<String>) {
        var i = 0
        while (i++ < 10) {
            println(i)
        }
        println("--------")
        var j= 0
        do {
    
            j++
            if (j==5){
                continue
            }
            if (j==7){
               print("end")
                break
            }
    
            println(j)
        } while (j <10)
    }
  • 相关阅读:
    经典回溯问题- 迷宫
    关于二叉树的一点补充。
    二叉树重难点总结(判断完全二叉树,非递归前、中、后序遍历的实现等...)
    栈、队列常规操作
    贪吃蛇小游戏
    链表重点问题(下)
    链表常见问题(上)
    动态顺序表
    时间 空间复杂度小结(斐波那契 二分查找举例)
    每天一个linux命令-id,输出用户的uid、gid
  • 原文地址:https://www.cnblogs.com/loaderman/p/10124394.html
Copyright © 2011-2022 走看看