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)
    }
  • 相关阅读:
    46. Permutations 全排列,无重复
    243. Shortest Word Distance 最短的单词index之差
    171. Excel Sheet Column Number Excel列号转数字
    179. Largest Number 用数组中的元素凑一个最大数字
    49. Group Anagrams 多组anagram合并
    电话号码的字母组合(leetcode17)
    最接近的三数之和(leetcode16)
    c#之dynamic类型通过属性获取值(get value by key)
    三数之和(leetcode15)
    java-list与array转换
  • 原文地址:https://www.cnblogs.com/loaderman/p/10124394.html
Copyright © 2011-2022 走看看