开发者学堂课程【Scala 核心编程-基础:for 循环守卫】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/609/detail/8916
for 循环守卫
目录
一、循环守卫
二、代码案例
一、循环守卫
守卫就是 guard,卫兵的意思。
1、基本案例
for(i<- 1 to 3 if i != 2){ //if 语句即守卫
print(i +"")//条件为真执行,不为真便跳过
}
println()
2、基本案例说明
(1)循环守卫,即循环保护式(也称条件判断式,守卫)。保护式为 true 则进入循环体内部执行,为 false 则跳过(不是退出),类似于 continue (利用这种特点还可以实现 break 的效果,因为在 Scala 里取消了 continue 和 break两个关键字,不对它进行运用,原因是 continue 和 break 不是标准的面向对象,也不是函数式)
(2)上面的代码“for(i<- 1 to 3 if i != 2){ print(i +"")”等价于以下代码:
for(i<- 1 to 3){
if(i !=2){
println(i+"")
//当条件!=2为真的时候才执行 println(i+"");不为真时,print(i +"")不执行,跳过。
}
}
二、代码案例
(在 idea 里新建一个 Scala 的 object 类名为 ForGuard 输入以下代码)
package com.atguigu.chapter04.myfor
object ForGuard {
def main(args : Array [string]): unit = {
for(i <- 1 to 3 if i != 2) {//条件1不等于 2成立,输出1
print(i + “”) //遍历到1时不等于2成立;遍历到2时,2等于2 ,不成立直接跳过不输出;遍历到3时,3不等于2成立,即最后输出1和3
}
println()
}
}
执行。结果显示为 1 3