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

相关推荐
一路向北⁢4 分钟前
Spring Boot 3 整合 SSE (Server-Sent Events) 企业级最佳实践(一)
java·spring boot·后端·sse·通信
疯子****4 分钟前
【无标题】
前端·clawdbot
风象南10 分钟前
JFR:Spring Boot 应用的性能诊断利器
java·spring boot·后端
爱吃山竹的大肚肚24 分钟前
微服务间通过Feign传输文件,处理MultipartFile类型
java·spring boot·后端·spring cloud·微服务
RichardLau_Cx29 分钟前
【保姆级实操】MediaPipe SDK/API 前端项目接入指南(Web版,可直接复制代码)
前端·vue·react·webassembly·mediapipe·手部追踪·前端计算机视觉
不爱写程序的东方不败38 分钟前
APP接口测试流程实战Posman+Fiddler
前端·测试工具·fiddler
晚霞的不甘1 小时前
Flutter for OpenHarmony构建全功能视差侧滑菜单系统:从动效设计到多页面导航的完整实践
前端·学习·flutter·microsoft·前端框架·交互
黎子越1 小时前
python相关练习
java·前端·python
北极糊的狐2 小时前
若依项目vue前端启动键入npm run dev 报错:不是内部或外部命令,也不是可运行的程序或批处理文件。
前端·javascript·vue.js
XRJ040618xrj2 小时前
Nginx下构建PC站点
服务器·前端·nginx