kotlin的控制流
2017-12-27 本文已影响0人
白於青
for循环
kotlin的for循环相比Java做了一些调整,个人没有感觉有什么优越性……基本的语法就是这样:
for( 单项 in 集合 ){
操作
}
这种处理方法……很不灵活的,所以,for循环还有以下处理技巧。
// 左闭右开区间,合法值包括10,但不包括60
for (i in 10 until 60) {
print(i)
print(" ")
}
println()
// for循环默认递增,这里使用downTo表示递减
for (i in 50 downTo 30) {
print(i)
print(" ")
}
println()
// 每次默认递增1,这里改为每次递增3
for (i in 20..80 step 3) {
print(i)
print(" ")
}
println()
while循环
好了,现在再看看while循环。先提一个问题哈,首项为1,公差也是1,这个递增数列在第几项和为5050?
var a = 1
val b = 1
var s = 0
var t = 0
while(s < 5050){
s += a
a += b
t++
}
print("总共需要递增${t}次")
答案出来了,100。可见,这和Java没啥差别。
when多元判断
kotlin的when多元判断相当于Java的switch判断,但是更加强大,它可以同时判断对象的具体大小、范围、表达式的值、类型等。直接上代码:
val m = 1
val n = 2
val l = if (m > n) m - n else "n更大!"
when(l){
in 1..5 -> {
print("l的数值在1到5之间")
}
1,6 -> {
print("l的值等于1或者6")
}
is Int -> {
print("l是一个整型")
}
is Char -> {
print("l是一个字符")
}
else -> {
print("l是String型")
}
}
嗯嗯,先写这么多吧。