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)
    }
  • 相关阅读:
    mongodb 聚类查询 筛选时间
    异步线程
    性能优化
    何谓引继(引继码,继承码)?了解引继同备份不同,请注意!
    apktool 无法识别 requestLegacyExternalStorage 属性导致回编失败
    Jenkins GIT_SSH组件权限导致build失败的问题。
    Linux下 Nginx-uWSGI-Django 搭建
    SSH scp使用
    Django创建app及创建数据库
    正则表达式
  • 原文地址:https://www.cnblogs.com/loaderman/p/10124394.html
Copyright © 2011-2022 走看看