1、if语句
2、for语句
3、white语句
4、do...white语句
5、return、break、continue
一、if语句
1、和java中的 if 用法一样
2、if 的三元运算符
3、在表达式中应用,最后一句表达式为块的值
Demo:
//1、和Java一样的用法
var a = 5
if (a < 10) {
println("true")
} else {
println("false")
}
//2、三元运算
var b: Int = if (a < 10) 5 else 10
println("b的值为:$b")
//3、在表达式中应用,最后一句表达式为块的值
var c: Int = if (a < 5) {
a--
a
} else if (a == 5) {
a++
a
} else {
a++
a
}
println("c的值为:$c")
println("a的值为:$a")
结果图:
结果图01.png
二、for语句
kotlin中废除了 for(初始值;条件;增减步长)
这个规则
1、递增 until
until[n,m) => 即大于等于n,小于m
2、递减 downTo
downTo[n,m] => 即小于等于n,大于等于m ,n > m
3、符号( .. ) 表示递增的循环
..[n,m] => 即大于等于n,小于等于m
4、设置步长
step
5、遍历数组
1、普通便利
2、根据数据的 indices 属性来遍历
3、根据数据的 withIndex() 来遍历
//1、until
for (i in 0 until 3) {
print("$i\t")
}
println()
//2、downTo
for (i in 3 downTo 0) {
print("$i\t")
}
println()
//3、 .. 和until的范围不同,但是更简洁
for (i in 0..3) {
print("$i\t")
}
println()
//4、 设置步长step
for (i in 0 until 10 step 2) {
print("$i\t")
}
println()
//5、遍历数组
//1、普通便利
var arraye = arrayOf(1, 2, 3, 4, 5)
for (index in arraye) {
print("$index\t")
}
println()
//2、根据数据的 indices 属性来遍历
for (index in arraye.indices) {
print("下标=$index 值=" + arraye[index] + "\t|")
}
println()
//3、根据数据的 withIndex() 来遍历
for ((index, value) in arraye.withIndex()) {
print("下标=$index 值=" +value + "\t|")
}
结果图:
结果图02.png
三、white语句
1、和 java 中的用法一样
var num = 5
while (num < 10){
print("num = $num\t")
num++
}
四、do...white语句
1、和Java中的一样
var num = 5
do {
println("num => $num")
num++
}while (num < 10)
五、when语句
1、kotlin中废除了switch,取而代之when
2、比switch更强大
0、普通使用
1、使用逗号分隔,相当switch中不适用break跳转语句
2、条件可以任意使用, 不限于常量
3、检查值是否存在于集合或者数组中
(in) 在 ; (!in) 不在 ,只使用数值类型
4、检查值是否为指定类型
(is) 是 ; (!is) 不是
5、不适用表达式的when语句
//0、普通使用
when (1) {
1 -> {
println("1")
println("只有一行逻辑表示时,时可省略{}")
}
2 -> println("2")
else -> {
println("0")
}
}
//1、使用逗号分隔,相当switch中不适用break跳转语句
when (2) {
1 -> {
println("1")
}
2, 3, 4 -> println("2")
5 -> println("5")
}
//2、条件可以任意使用, 不限于常量
var i: Int = 6
when (i > 5) {
true -> println("true")
false -> println("false")
}
//3、检查值是否存在于集合或者数组作者范围中
//(in) 在 ; (!in) 不在 ,只使用数值类型
var arrayList = arrayOf(1, 2, 3, 4, 5)
when (1) {
in arrayList.toIntArray() -> println("1 在数组中")
in 0..10 -> println("1 在这儿")
!in 5..10 -> println("1 不在这儿")
}
//4、检查值是否为指定类型
//(is) 是 ; (!is) 不是
when ("abc") {
is String -> println("abc是一个字符串")
else -> println("abc不是一个字符串")
}
//5、不使用表达式的when语句
var array = arrayOfNulls<String>(3)
when{
true -> {
for (i in array){
print(" $i \t")
}
println()
}
else -> {
}
}
结果图:
结果图03.png
六、return、break、continue
1、这些和java中使用一样哦~~
fun main(args: Array<String>) {
//return 默认情况下,从最近的封闭函数或匿名函数返回。
returnExample()
//break 终止最近的闭合循环。
var count: Int = 1
for (i in 1..5) {
if (i == 2) {
println("我在第$i 次退出了for循环")
break
}
count++
}
println("我循环了多少次:count = $count")
//contuinue 前进到最近的封闭循环的下一个步骤(迭代)。
for (i in 1..6) {
if (i % 2 == 0) {
println("我跳过了第$i 次循环")
continue
}
}
}
fun returnExample() {
var str: String = ""
if (str.isBlank()) {
println("我退出了该方法")
return
}
}
结果图:
结果图04..png
网友评论