内建控制-循环语句while

101 阅读1分钟

在 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)