分支结构应该编程中最为常用的控制结构了,典型就是if-else。在Scala中,分支结构也是用关键字if-else,更具体的说无外乎以下3种形式:
if(布尔表达式 1){// 如果布尔表达式 1 为 true 则执行该语句块
}else if(布尔表达式 2){// 如果布尔表达式 2 为 true 则执行该语句块
}else if(布尔表达式 3){// 如果布尔表达式 3 为 true 则执行该语句块
}else {// 如果以上条件都为 false 执行该语句块
}val s = if (x > 0) 1 else -1if (x > 0) s = 1 else s = -1
for (i <- 1 to 3; j <- 1 to 3) print((10 * i + j) + " ")
// 11 12 13 21 22 23 31 32 33
Scala拥有与Java和C++相同的循环结构
Range
可以是一个数字区间表示i to j
,或者i until j
;左箭头<-
用于为变量x
赋值。
for( var x <- Range ){statement(s);
}
大括号{}
中用于保存变量和条件,retVal
是变量, 循环中的yield
会把当前的元素记下来,保存在集合中,循环结束后将返回该集合。
var retVal = for{ var x <- Listif condition1; if condition2...
}yield x
对于Scala中的while
循环,只要给定的条件为true
,循环语句会重复执行循环体内的代码块。
while(condition)
{statement(s);
}
do...while
循环会确保至少执行一次循环。
do {statement(s);
} while( condition );