for 循环的两种方式|学习笔记

简介: 快速学习 for 循环的两种方式。

开发者学堂课程【Scala 核心编程-基础for 循环的两种方式】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/609/detail/8915


for 循环的两种方式

 

目录

一、 Switch 分支结构

二、for 循环控制

 

一、 Switch 分支结构

1.scala 中没有 switch,而是使用模式匹配来处理。(scala 不支持 Switch,用的是模式匹配来代替,模式匹配比Switch 强大很多)

2.模式匹配涉及到的知识点较为综合,放在后面讲解。这里用的是 match-case 的语法结构

 

二、for 循环控制

1.基本介绍

Scala 也为 for 循环这一常见的控制结构提供了非常多的特性,这些 for 循环的特性被称为 for 推导式(for comprehension)或 for 表达式(for expression)

2.范围数据循环方式1

1基本案例

for(i<- 1 to 3)  //<-代表将后面范围的值循环的交给变量i;

print( i +" ")

}

println()

2说明

① i 表示循环的变量,<-规定好 to 规定

② i 将会从1-3循环,前后闭合 (也就是1、23都遍历出来)

3案例演示:输出10句“hello,尚硅谷!"

新建一个 scala 的 object 类文件名为 fordemo01,输入代码如下:

package com.atguigu.chapter04 .myfor  //这里的`for`关键字不能用,右键点击 for 文件包,选择 Refactor重构,再点击 Rename 改为 myfor 再次运行

object ForDemo01 {

def main( args : Array[String]): Unit = {

//输出10句"hello,尚硅谷!"”

val start = 1  //定义两个变量

val end = 10  //结束值

//说明

//start 从哪个数开始循环

// to 是关键字

// end 循环结束的值

// start to end 表示前后闭合(start 和 end 是包起来的)

for (i <- start to end) {

println("你好,尚硅谷”+i)  //输出"你好,尚硅谷”

}

}

}

运行结果如下:

你好,尚硅谷1

你好,尚硅谷2

你好,尚硅谷3

你好,尚硅谷4

你好,尚硅谷5

你好,尚硅谷6

你好,尚硅谷7

你好,尚硅谷8

你好,尚硅谷9

你好,尚硅谷10

4for 循环除了可以对数字进行遍历,也可以对集合进行遍历

//说明 for 循环的推导式,也可以直接对集合进行遍历

例如:

var list= List(“hello”,10,30,”tom”) //scala 的 list 里可以放任意数据类型

for (item <- list){  //把集合里得数据依次遍历出来

println(“item=”+item)  

}

}

运行结果如下:

item=hello

item=10

item=30

item=tom

3.范围数据循环方式2

基本案例

for(i<- 1 until 3) {  //until 类似于 java 对数组进行遍历唯一的区别就是前闭合后开的范围,即1 to 3-1

print(i + “”)

}

println()

说明:

(1)这种方式和前面的区别在于 i 是从1到3-1

(2)前闭合后开的范围,和 java 的 arr.length()类似

类似于 for (int i=0;i<arr.lenght;i++){} (最后一个数不包括进去)

(3)输出10句"hello,尚硅谷!"

案例演示:
新建一个 scala 名为 ForUntilDmeo02,输入代码如下:

package com.atguigu.chapter04.myfor

object ForUntilDemo02 {

def main( args : Array[String]): Unit = {

//输出10句"hello,尚硅谷!“

val start = 1  //定义一个起始值

val end = 11  //结束值11不会包括进去

//循环的范围是 start --- ( end-1)

for (i <- start until end) {

println( "he11o,尚硅谷"+ i)

}

}

}

运行结果如下:
hello,尚硅谷1

hello,尚硅谷2

hello,尚硅谷3

hello,尚硅谷4

hello,尚硅谷5

hello,尚硅谷6

hello,尚硅谷7

hello,尚硅谷8

hello,尚硅谷9

hello,尚硅谷10

相关文章
|
4天前
|
数据采集 人工智能 安全
|
14天前
|
云安全 监控 安全
|
5天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1139 152
|
19天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1802 9
|
10天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
728 152
|
7天前
|
SQL 自然语言处理 调度
Agent Skills 的一次工程实践
**本文采用 Agent Skills 实现整体智能体**,开发框架采用 AgentScope,模型使用 **qwen3-max**。Agent Skills 是 Anthropic 新推出的一种有别于mcp server的一种开发方式,用于为 AI **引入可共享的专业技能**。经验封装到**可发现、可复用的能力单元**中,每个技能以文件夹形式存在,包含特定任务的指导性说明(SKILL.md 文件)、脚本代码和资源等 。大模型可以根据需要动态加载这些技能,从而扩展自身的功能。目前不少国内外的一些框架也开始支持此种的开发方式,详细介绍如下。
507 5
|
12天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
672 14