Scala提供和Java一样的while和do循环,与If语句不同的是,While语句本身没有值,即整个While语句的结果是Unit类型的()。
1、while循环
//while案例一
// while 本身没有值,只返回 Unit类型的(),这一点与if else 不同
var n = 1
val nwhile = while(n < 10){
n +=1
}
println(n)
println(nwhile)
2、while循环的break中断
//while 表达式中断 方式一
import scala.util.control.Breaks
val loop = new Breaks
var n2 = 1
loop.breakable{
while (n2 < 10){
n2 += 1
if(n2 == 5){
loop.break
}
}
}
println(n2)
3、while循环的flase中断
//while 表达式中断 方式二
var n3 = 1
var flag = false
while(!flag){
n3 += 1
if(n3 == 7){
flag = true
}
}
println(n3)
4、while循环的嵌套中断
var x3 = 1
var x4 = 1
val loop1 = new Breaks
val loop2 = new Breaks
loop1.breakable{
while (x3 <= 20){
x3 += 1
loop2.breakable{
while(x4 <= 20){
x4 += 1
if(x4 == 15){
loop1.break
}
}
}
}
}
println(x3)
println(x4)
尖叫提示:scala并没有提供break和continue语句来退出循环,如果需要break,可以通过几种方法来做
(1)使用Boolean型的控制变量
(2)使用嵌套函数,从函数中return
(3)使用Breaks对象的break方法