目录
基本语法
循环变量初始化
while(循环条件){
循环体(语句)
循环变量迭代
}
说明:
(1) 循环条件是返回一个布尔值的表达式
(2) while循环是先判断再执行语句
(3)与for语句不同,while语句没有返回值,即整个while语句 的结果是Until类型()
(4) 因为while中没有返回值,所以当要用该语句来计算并返回结果时,就不可避免的使用变量,而变量需要声明在while循环的外部,那么就等同于循环的内部对外部的变量造成了影响,所以不推荐使用,而是推荐使用for循环。
案例实操
- package Chapter04
-
- object Test_05WhileLoop {
- def main(args: Array[String]): Unit = {
-
- var a = 1
- while (a <= 10) {
- print("a=" + a + ",")
- a+=1
- }
- println()
- var b = 1
- while (b <= 10) {
- print("b=" + b + ",")
- b+=1
- }
-
-
-
- }
-
- }
运行结果

基本语法
循环变量初始化;
do {
循环体(语句)
循环变量迭代
}while(循环条件)
说明:
(1)循环条件是返回一个布尔值的表达式
(2)do..while循环是先执行,再判断
案例实操
- package Chapter04
-
- object Test_05WhileLoop {
- def main(args: Array[String]): Unit = {
-
- var c = 1
- do{
- print("c=" + c + ";")
- c += 1
- }while(c<=10)
- println()
-
- var d = 10
- do{
- print("d=" + d + ";")
- d -= 1
- }while(d>=1)
-
- }
- }
运行结果

基本说明:
Scala内置控制特地去掉了break和continue,是为了更好的适应函数式编程,推荐使用函数式的风格解决break和continue的功能,而不是一个关键字。Scala中使用breakable控制结构来实现break和continue功能。
案例实操
1、采用异常的方式退出循环
2、采用 Scala 自带的函数,退出循环
3、对 break 进行省略 // 把Breaks下所有属性和方法引入import scala.util.control.Breaks._
4、循环遍历 10 以内的所有数据,奇数打印,偶数跳过(continue)
- package Chapter04
-
- import scala.util.control.Breaks
- import scala.util.control.Breaks._
-
- object Test_06break {
- def main(args: Array[String]): Unit = {
- //1、采用抛异常的方式,退出循环
- try {
- for (i <- 0 until 5){
- if (i ==3)
- throw new RuntimeException
- println(i)
- }
- }catch {
- case e: Exception => //什么都不做,只是退出循环
- }
- println("--------------")
- //2、使用Scala中的Breaks类的break方法,实现异常的抛出和捕捉
- Breaks.breakable(
- for (i <- 0 until 5){
- if (i ==3)
- Breaks.break()
- println(i)
- }
- )
- println("----------------")
- breakable(
- for (i <- 0 until 5){
- if (i ==3)
- break()
- println(i)
- }
- )
- println("----------------")
- for (a <- 1 to 10 ){
- if (a % 2 == 1) println("a=" + a )
- }
-
- println("----------------")
- for (a <- 1 to 10 ){
- if (a % 2 == 1) println("a=" + a )
- else println("contiune")
- }
-
-
-
- println("这是循环外的代码")
-
- }
- }
运行结果

