一、if语句
在
Kotlin
中的if
语句和Java
还是还是有一定的区别的,它能在Java
中更灵活,除了能实现Java
写法外,还可以实现表达式(实现三元运算符),及作为一个块的运用。
1、传统写法(同Java
写法一样)
例:
var numA = 2
if (numA == 2){
println("numA == $numA => true")
}else{
println("numA == $numA => false")
}
输出结果为:
numA == 2 => true
2、Kotlin
中的三元运算符
- 在Kotlin中其实是不存在三元运算符(
condition ? then : else
)这种操作的。- 那是因为if语句的特性(
if
表达式会返回一个值)故而不需要三元运算符。
例:
// 在Java中可以这么写,但是Kotlin中直接会报错。
// var numB: Int = (numA > 2) ? 3 : 5
// kotlin中直接用if..else替代。例:
var numB: Int = if ( numA > 2 ) 3 else 5 // 当numA大于2时输出numB的值为3,反之为5
println("numB = > $numB")
输出结果为:
numB = > 3
由上可以看出,Kotlin
中的if可以作为一个表达式并返回一个值。
3、作为一个块结构,并且最后一句表达式为块的值
例:
var numA: Int = 2
var numC: Int = if (numA > 2){
numA++
numA = 10
println("numA > 2 => true")
numA
}else if (numA == 2){
numA++
numA = 20
println("numA == 2 => true")
numA
}else{
numA++
numA = 30
println("numA < 2 => true")
numA
}
// 根据上面的代码可以看出,每一个if分支里面都是一个代码块,并且返回了一个值。根据条件numC的值应该为20
println("numC => $numC")
输出结果为:
numA == 2 => true
numC => 20
二、for语句
Kotlin
废除了Java
中的for
(初始值;条件;增减步长)这个规则。但是Kotlin
中对于for
循环语句新增了其他的规则,来满足刚提到的规则。for
循环提供迭代器用来遍历任何东西for
循环数组被编译为一个基于索引的循环,它不会创建一个迭代器对象
1、新增的规则,去满足for
(初始值;条件;增减步长)这个规则
- 1.1、递增
关键字:
until
范围:until[n,m)
=> 即大于等于n,小于m
例:
// 循环5次,且步长为1的递增
for (i in 0 until 5){
print("i => $i \t")
}
输出结果为
i => 0 i => 1 i => 2 i => 3 i => 4
- 1.2、递减
- 关键字: