for循环的了解与应用

1. for语句的基本格式

(一)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的区别

在编程中,forwhile 都是用于实现循环的控制结构,但它们的适用场景和语法特点有所不同

for循环

通常用于已知循环次数的场景,语法中直接包含循环变量的初始化、循环条件和迭代逻辑,结构更紧凑。

while 循环

适用于循环次数不确定,但已知循环终止条件的场景,需要单独定义循环变量、循环条件和迭代逻辑。

总结

  • 当循环次数已知或需要遍历集合时,优先使用 for 循环,代码更简洁、可读性更高。
  • 当循环次数不确定,依赖动态条件时,使用 while 循环更灵活。

3. continue语句

在scala中是没有break和continue关键字的,如果一定要用,可以用scala.util.control包下的Breaks类的break

相关推荐
不系舟同学2 小时前
Three.js + CSS3DSprite 首帧精灵图模糊问题排查、解决
前端
yinke小琪2 小时前
什么?上班五年还不清楚SafePoint?JVM的“安全点”揭秘
java·后端·面试
诚实可靠王大锤3 小时前
react-native集成PDF预览组件react-native-pdf
前端·react native·react.js·pdf
Hilaku3 小时前
前端的设计模式?我觉得90%都是在过度设计!
前端·javascript·设计模式
野犬寒鸦3 小时前
今日面试之快问快答:Redis篇
java·数据库·redis·后端·缓存·面试·职场和发展
考虑考虑3 小时前
时间转换格式出现错误
java·后端·java ee
Miloce3 小时前
零成本搭建跨域代理服务 - Cloudflare Workers实战指南
前端
乘风破浪酱524363 小时前
实战排查:如何从Nginx配置中顺藤摸瓜找到Java应用的真实端口与日志位置
后端