循环守卫
循环守卫,即循环保护式(也称条件判断式,守卫)。保护式为 true 则进入循环体内部,为false 则跳过,类似于continue。
代码案例:输出1-5中不等于3的值
循环步长
by表示步长
案例:输出1-10中所有的奇数
嵌套循环
没有关键字,所以范围后一定要加“;”,来隔断逻辑
代码案例
引入变量
for 推导式有一个不成文的约定:当 for 推导式仅包含单一表达式时使用圆括号, 当包含多个表达式时,一般每行一个表达式,并用花括号代替圆括号
代码案例
循环返回值
案例实现
将遍历过程中处理的结果返回到一个新 Vector 集合中,使用 yield 关键字。
倒序打印
while循环
基本语法:
循环变量初始化
while (循环条件) {
循环体(语句) 循环变量迭代
}
- 循环条件是返回一个布尔值的表达式
- while 循环是先判断再执行语句
- 与 for 语句不同,while 语句没有返回值,即整个 while 语句的结果是Unit 类型()
- 因为 while 中没有返回值,所以当要用该语句来计算并返回结果时,就不可避免的使用变量,而变量需要声明在 while 循环的外部,那么就等同于循环的内部对外部的变量造成了影响,所以不推荐使用,而是推荐使用 for 循环。
do while循环
基本语法
循环变量初始化; do{
循环体(语句) 循环变量迭代
} while(循环条件)
- 循环条件是返回一个布尔值的表达式
- do..while 循环是先执行,再判断
循环中断
Scala 内置控制结构特地去掉了 break 和 continue,是为了更好的适应函数式编程,推荐使用函数式的风格解决break 和continue 的功能,而不是一个关键字。Scala 中使用breakable 控制结构来实现 break 和 continue 功能
循环嵌套打印九九乘法表
案例实现