if
if (条件表达式) {
执行代码块
}
for
for(i <- 1 to 3){
print(i + " ")
}
说明
i 表示循环的变量, <- 规定好 to 规定
i 将会从 1-3 循环, 前后闭合 (包括1 和 3)
for(i<- 1 until 3){
println(i)
}
说明:
这种方式和前面的区别在于 i 是从1 到 (3-1)
前闭合后开的范围
for(i<- 1 to 3 if i!=2){
println(i)
}
说明
循环守卫,即循环保护式(也称条件判断式,守卫)。保护式为true则进入循环体内部,为false则跳过,类似于continue
上面的代码等价
for (i<-1 to 3){
if ( i != 2){
println(i+" ")
}
}
for(i<- 1 to 3 ;j=4-i){
println(j)
}
说明
没有关键字,所以范围后一定要加;来隔断逻辑
上面的代码等价
for (i <- 1 to 3) {
var j = 4 – i
print(j + “ “)
}
嵌套循环
for(i<- 1 to 3 ;j<- 1 to 2){
println("i="+i+" j="+j)
}
说明
没有关键字,所以范围后一定要加;来隔断逻辑
上面的代码等价如下
for (i <- 1 to 3) {
for (j <-1 to 3) {
println("ok")
}
}
while 循环
循环变量初始化 //循环的四个要素
while (循环条件) {
循环体(语句)
循环变量迭代
}
do … while循环
循环变量初始化;
do{
循环体(语句)
循环变量迭代
} while(循环条件)
循环中断
Scala内置控制结构特地去掉了break和continue,是为了更好的适应函数化编程,推荐使用函数式的风格解决break和contine的功能,而不是一个关键字
//导入包
import util.control.Breaks._
breakable(
for(i<-0 until 10) {
println(i)
if(i==5){
break()
}
}
)
for(i<-0 until 10){
breakable{
if(i==3||i==6) {
break
}
println(i)
}
}