主要内容如下
1.for循环的基本使用
2.for循环守卫
3.循环步长
4.循环的返回值
5.continue语句
(一)for循环
格式如下:
[for ( 循环变量 <- 数据集) {]()
// 循环体代码
}
输出 1 - 10
var array = 1 to 5 // 1,2,3,4,5]()
var array2 = 1 until 5 // 1,2,3,4
for (i <- array){
println(i)
}
运行结果如下
代码说明:
1.1 until 5 等价于 Range(1,5)
代码如下:输出指定字符串数组
val fruits = List("apple","banana","origane","strawberry")]()
for(fruit <- fruits){
println("fruit is " + fruit)
}
(二)循环守卫
可以在循环中添加条件,如果条件成立就执行循环。这个叫循环守卫。
讲授 格式:
for(循环变量 <- 数据集 if condition1; if condition2 ...){]()
循环体
}
打印1 - 10 内的偶数
for(i <- 1 to 10; if(i%2==0)){println(i)}
(三)循环步长
[提问] :如何输出1 ~ 100 之间的奇数?
按1,3,5... 这个格式来输出,这就涉及到步长。
格式1:1 to 5 by 2
格式2:Range(1,5,2)
编码演示:
object base24 {
def main(args: Array[String]): Unit = {
/*
循环步长
每次循环后,循环变量的自增数值
格式:
for(循环变量 <- 起点 to 终点 by 步长){
println(循环变量)
}
*/
// 输出1~100中的奇数
for (i <- 99 to 1 by -2){
println(i)
}
}
}
(四)循环的返回值
val ret = for(i <- 1 to 3) yield { i*2 }]()
println(ret)
println(ret(1))
(五)continue
在scala中是没有break和continue关键字的,如果一定要用,可以用scala.util.control包下的Breaks类的break
import scala.util.control.Breaks._]()
object MainFor {
def main(args: Array[String]): Unit = {
for(i <- 1 to 10){
breakable {
if(i%3 == 0){
// continue
break
}
println(i)
}
}
}
}