0
点赞
收藏
分享

微信扫一扫

【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("还需要加油鸭")
}
}

【kotlin】if、when、for循环、loop和range_数组

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" -> 77
else -> 0
}

如果有 Tom 和 Tommy ,不带参数的写法

fun getScore(name: String) = when {
name.startsWith("Tom") -> 66
name == "Jim" -> 77
else -> 0
}

for循环

//声明了一个数组,内容是从1-10
var nums = 1 .. 10
for(num in nums){
println("${num},")
}

【kotlin】if、when、for循环、loop和range_java_02
我们来算一下1-100的和

//声明了一个数组,内容是从1-100
var nums = 1 .. 100
var result = 0
for(num in nums){
result = result + num
}
println("结果是"+result)

【kotlin】if、when、for循环、loop和range_java_03
【kotlin】if、when、for循环、loop和range_kotlin_04
所以我们上面的1-100是闭区间[1,100]
现在定义一个开区间

//[1,10)
var nums = 1 until 10
for(num in nums){
println(num)
}

【kotlin】if、when、for循环、loop和range_kotlin_05

var nums = 1 .. 16
for(num in nums step 2){
println(num)
}

【kotlin】if、when、for循环、loop和range_java_06
倒序

var nums = 1 .. 16
var nums2 = nums.reversed()
for(s in nums2){
println(s)
}

【kotlin】if、when、for循环、loop和range_数组_07

还可以打印数字个数

println("总数为:"+nums.count())

【kotlin】if、when、for循环、loop和range_带参数_08
​​​..​​​ 和 ​​until​​​ 关键字都要求区间左端必须小于等于区间的右端,如果想创建一个降序的区间可以使用 ​​downTo​​ 关键字

for(i in 10 downTo 1){
println(i)
}

【kotlin】if、when、for循环、loop和range_kotlin_09
我们创建了一个[10,1]的闭区间

举报

相关推荐

0 条评论