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

相关推荐
@大迁世界3 分钟前
相信我兄弟:Cloudflare Rust 的 .unwrap() 方法在 330 多个数据中心引发了恐慌
开发语言·后端·rust
5***g29813 分钟前
新手如何快速搭建一个Springboot项目
java·spring boot·后端
Want59518 分钟前
HTML音乐圣诞树
前端·html
老前端的功夫43 分钟前
前端浏览器缓存深度解析:从网络请求到极致性能优化
前端·javascript·网络·缓存·性能优化
2***B4491 小时前
Rust在系统编程中的内存安全
开发语言·后端·rust
Running_slave1 小时前
你应该了解的TCP滑窗
前端·网络协议·tcp/ip
U***e632 小时前
Rust错误处理最佳实践
开发语言·后端·rust
q***47182 小时前
Spring中的IOC详解
java·后端·spring
程序员小寒2 小时前
前端高频面试题之CSS篇(一)
前端·css·面试·css3
颜酱2 小时前
Monorepo 架构以及工具选型、搭建
前端·javascript·node.js