在 Scala 中,while 循环是一种 imperative(命令式) 的循环结构,用于重复执行一段代码,直到指定的条件不再满足。它的语法和执行逻辑与 Java、C 等语言类似,但 Scala 更推荐使用函数式风格的循环(如 for 推导式、集合方法),不过 while 循环在需要明确控制循环条件时仍然有用。
1.while 循环
var count = 1
while (count <= 3) println(count) // 单行循环体,省略 {}
count += 1 // 注意:这行不会被视为循环体(缩进不影响语法)
练习: 输出1~100内的奇数,每个一行
var a=1
while (a < 100){
println(a)
a+=2
}
2.while 死循环
在编程中,while 死循环(也叫无限循环)指的是循环条件始终为 true,导致循环体无限重复执行,永远不会终止的情况。这种循环本身并非错误,但需要通过特定方式(如 break 语句)手动控制退出,否则会导致程序卡死或资源耗尽。
2.1死循环的基本格式
while (true) {
// 循环体:会无限执行
}
3。break
死循环必须在循环体内通过逻辑手动终止,否则会一直运行。在 Scala 中,通常使用 scala.util.control.Breaks 工具类的 break() 方法实现:
例:
import scala.util.control.Breaks._
var num = 0
breakable { // 用 breakable 包裹循环,允许 break() 生效
while (true) { // 死循环
num += 1
println(s"当前数字:$num")
if (num >= 5) { // 退出条件
break() // 满足条件时跳出循环
}
}
}
println("循环结束")
4.do while 循环
4.1 do while 循环的格式
do {
// 循环体(至少执行一次的代码块)
} while (条件表达式) // 条件为 true 则继续循环,false 则退出
4.2 do while 和 while 循环的区别
do ... while 和while的区别在于,一定会执行一次
例:
[var i=1]()
do{
println(s"i=$i")
i+=1
}while(i<1)