If 表达式
在 Kotlin 中,if是一个表达式,即它会返回一个值。 因此就不需要三元运算符(条件 ? 然后 : 否则),因为普通的if就能胜任这个角色。//传统用法
varmax=a
if(a
//Withelse
varmax:Int
if(a>b){
max=a
}else{
max=b
}
//作为表达式
valmax=if(a>b)aelseb
if的分支可以是代码块,最后的表达式作为该块的值:valmax=if(a>b){
print("Choosea")
a
}else{
print("Chooseb")
b
}
如果你使用if作为表达式而不是语句(例如:返回它的值或者把它赋给变量),该表达式需要有else分支。funhasPrefix(x:Any)=when(x){
isString->x.startsWith("prefix")
else->false
}
when也可以用来取代if-elseif链。 如果不提供参数,所有的分支条件都是简单的布尔表达式,而当一个分支的条件为真时则执行该分支:when{
x.isOdd()->print("xisodd")
x.isEven()->print("xiseven")
else->print("xisfunny")
}
While 循环
while和do..while照常使用while(x>0){
x--
}
do{
valy=retrieveData()
}while(y!=null)//y在此处可见
循环中的Break和continue
在循环中 Kotlin 支持传统的break和continue操作符。参见返回和跳转。