循环中断 break、continue
* 说明
* 1. scala 去掉了break、continue
* break替代方案
* 1. 抛出异常
* 2. 调用break() 引入 scala.util.control.Breaks
* continue替代方案
* 1. 使用if语句
*
* try catch 自己处理异常
* 语法
* try {
* 可能出现异常的代码
* } catch(异常类名A e){
* 如果出现了异常类A类型的异常,那么执行该代码
* } ...(catch可以有多个)
* finally {
* 最终肯定必须要执行的代码(例如释放资源的代码)
* }
* 代码执行的顺序
* 1.try内的代码从出现异常的那一行开始,中断执行
* 2.执行对应的catch块内的代码
* 3.继续执行try catch结构之后的代码
*
* */
代码示例
import scala.util.control.Breaks
import scala.util.control.Breaks.{break, breakable}
/**
* @author gaocun
* @create 2021-10-17 5:54 PM */
object 循环中断_05 {
/* 循环中断 break、continue
* 说明
* 1. scala 去掉了break、continue
* break替代方案
* 1. 抛出异常
* 2. 调用break() 引入 scala.util.control.Breaks
* continue替代方案
* 1. 使用if语句
*
* try catch 自己处理异常
* 语法
* try {
* 可能出现异常的代码
* } catch(异常类名A e){
* 如果出现了异常类A类型的异常,那么执行该代码
* } ...(catch可以有多个)
* finally {
* 最终肯定必须要执行的代码(例如释放资源的代码)
* }
* 代码执行的顺序
* 1.try内的代码从出现异常的那一行开始,中断执行
* 2.执行对应的catch块内的代码
* 3.继续执行try catch结构之后的代码
*
*
* */
def main(args: Array[String]): Unit = {
// 1. 抛出异常 替代break
try {
for (i <- 1 to 10) {
printf("break-%d\n", i)
if (i == 5) {
//break
print("执行break\n")
throw new RuntimeException
}
}
} catch {
case e =>
}
println("正常结束循环")
// 2. 采用scala自带函数,退出循环
Breaks.breakable(
for (i <- 1 to 10) {
printf("break1-%d\n", i)
if (i == 5) {
//break
print("执行break1\n")
Breaks.break()
}
}
)
println("正常结束循环")
// 3. 省略break
breakable {
for (i <- 1 to 10) {
printf("break2-%d\n", i)
if (i == 5) {
//break
print("执行break2\n")
break
}
}
}
println("正常结束循环")
println("====if 替代continue=============")
for (i <- 1 to 10) {
if (i % 2 == 0) {
println("执行continue")
println(i)
}
}
}
}