开发者学堂课程【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、2、3都遍历出来)
(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
(4)for 循环除了可以对数字进行遍历,也可以对集合进行遍历
//说明 for 循环的推导式,也可以直接对集合进行遍历
例如:
var list
= L
ist(
“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