本文主要是介绍【kotlin】if、when、for循环、loop和range,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- if
- when
- for循环
if
Kotlin 中 if 语句相比于 Java 有一个额外功能,它是可以有返回值的,返回值就是 if 语句每一个条件中最后一行代码的返回值。例如下面函数的作用是返回较大的一个数
fun largeNumber(num1:Int,num2:Int):Int {return if(num1>num2){num1}else{num2}
}
可以简化成
fun largeNumber(num1: Int, num2: Int) = if (num1 > num2) {num1
} else {num2
}或fun largeNumber(num1: Int, num2: Int) = if (num1 > num2) num1 else num2
when
fun main(args: Array<String>) {gradeStudent(3)
}fun gradeStudent(score:Int){when(score){10 -> println("满分,棒棒哒")9 -> println("干的不错")8 -> println("还可以")7 -> println("还需努力")6 -> println("刚好及格")else -> println("还需要加油鸭")}
}
when语句除了精确匹配之外还支持类型匹配
fun main() {checkNumber(5L)
}fun checkNumber(num:Number){when(num){is Int -> println("number is Int")is Double -> println("number is Double")else -> println("number not support")}
}
is
就是类型匹配的核心,相当于 Java 中的instanceof
when 语句中还有一种不带参数的用法
带参数写法我们可以获得 Tom 分数是66
fun getScore(name: String) = when (name) {"Tom" -> 66"Jim" -> 77else -> 0
}
如果有 Tom 和 Tommy ,不带参数的写法
fun getScore(name: String) = when {name.startsWith("Tom") -> 66name == "Jim" -> 77else -> 0
}
for循环
//声明了一个数组,内容是从1-10var nums = 1 .. 10for(num in nums){println("${num},")}
我们来算一下1-100的和
//声明了一个数组,内容是从1-100var nums = 1 .. 100var result = 0for(num in nums){result = result + num}println("结果是"+result)
所以我们上面的1-100是闭区间[1,100]
现在定义一个开区间
//[1,10)var nums = 1 until 10for(num in nums){println(num)}
var nums = 1 .. 16for(num in nums step 2){println(num)}
倒序
var nums = 1 .. 16var nums2 = nums.reversed()for(s in nums2){println(s)}
还可以打印数字个数
println("总数为:"+nums.count())
..
和 until
关键字都要求区间左端必须小于等于区间的右端,如果想创建一个降序的区间可以使用 downTo
关键字
for(i in 10 downTo 1){println(i)}
我们创建了一个[10,1]的闭区间
这篇关于【kotlin】if、when、for循环、loop和range的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!