目录
While循环控制
基本语法
循环变量初始化
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循环控制
基本语法
循环变量初始化;
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("这是循环外的代码")
}
}
运行结果