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

相关推荐
清风徐来QCQ12 分钟前
js中的模板字符串
开发语言·前端·javascript
成都渲染101云渲染666617 分钟前
Houdini+Blender高效渲染方案(高配算力+全渲染器兼容)
前端·系统架构
SuperEugene33 分钟前
Vue3 + Element Plus 表格实战:批量操作、行内编辑、跨页选中逻辑统一|表单与表格规范篇
开发语言·前端·javascript
SmartBrain1 小时前
Spring Boot的高性能技术栈的工程实践
spring boot·后端·架构
极梦网络无忧1 小时前
基于 Vite + Vue3 的组件自动注册功能
前端·javascript·vue.js
AMoon丶1 小时前
Golang--内存管理
开发语言·后端·算法·缓存·golang·os
Predestination王瀞潞1 小时前
5.4.3 通信->WWW万维网内容访问标准(W3C):WWW(World Wide Web) 协议架构(分层)
前端·网络·网络协议·架构·www
爱学习的程序媛1 小时前
【Web前端】优化Core Web Vitals提升用户体验
前端·ui·web·ux·用户体验
zabr1 小时前
花了 100+ 篇笔记,我整理出 了一套 AI Agent 工程完全指南
前端·后端·agent
软弹2 小时前
深入理解 React Ref 机制:useRef 与 forwardRef 的协作原理
前端·javascript·react.js