1. for语句的基本格式
(一)for循环
格式:
// 循环体代码
}
1.如果循环变量的类型能被推断出来,是可以省略掉变量类型的。
2.这里的数据集可以是任意类型的数据集合,如字符串,集合,数组等等。
案例1
scss
object dfa09 {
def main(args: Array[String]): Unit = {
/*
* var i = 1
* while(i <= 20){
* println(i)
* i += 1
* }
*
* for(i <- 1 to 20) {
* println(i)
* }
*/
for(j <- 1 to 20 by 2){
println(j)
}
}
}
(二)循环守卫
可以在循环中添加条件,如果条件成立就执行循环。这个叫循环守卫
格式:
for(循环变量 <- 数据集 if condition1; if condition2 ...){
循环体
}
案例:打印1 - 10 内的偶数
css
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)
scss
for(i <- 1 to 100 by 2 ){
println(i)
}
(四) 循环的返回值
for也可以获取到返回值,使用yield
代码演示:
scss
[val ret = for(i <- 1 to 3) yield { i*2 }]()
println(ret)
println(ret(1))
2. for和while的区别
在编程中,for
和 while
都是用于实现循环的控制结构,但它们的适用场景和语法特点有所不同
for循环
通常用于已知循环次数的场景,语法中直接包含循环变量的初始化、循环条件和迭代逻辑,结构更紧凑。
while 循环
适用于循环次数不确定,但已知循环终止条件的场景,需要单独定义循环变量、循环条件和迭代逻辑。
总结
- 当循环次数已知或需要遍历集合时,优先使用
for
循环,代码更简洁、可读性更高。 - 当循环次数不确定,依赖动态条件时,使用
while
循环更灵活。
3. continue语句
在scala中是没有break和continue关键字的,如果一定要用,可以用scala.util.control包下的Breaks类的break