scala基础之循环、break和continue

四、循环

for表达式:for(i <- 表达式/集合/数组){ 表达式}

scala> val num = 1.to(5)
num: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3, 4, 5)

scala> for (i <- num){println(i)}
1
2
3
4
5

scala> for(i <- 1.to(6)){println(i)}
1
2
3
4
5
6
scala> for(i <- 2.to(7)) println(i)
2
3
4
5
6
7

嵌套循环

scala> for (i <- 1 to 3 ; j <- 1 to 5){print("*"); if(j == 5) println("")}
*****
*****
*****

守卫:for表达式中添加的if 判断称之为守卫
for(i <- 表达式/集合/数组 if 表达式){ 表达式}

scala> for (i <- 1 to 10 if(i%2 ==0)) println(i)
2
4
6
8
10
scala> for (i <- 1 to 10 if i % 2 ==0) println(i)
2
4
6
8
10

for推导式:for循环体中使用yield表达式构建一个集合,把使用yield的for表达式称之为推导式

scala> val num =for(i <- 1 to 5) yield  i*10
num: scala.collection.immutable.IndexedSeq[Int] = Vector(10, 20, 30, 40, 50)

scala> print(num)
Vector(10, 20, 30, 40, 50)

while循环:

scala> var i =1
i: Int = 1

scala> while(i<=10){
     | print(i)
     | i = i+1
     | }
12345678910
scala>

五、break和continue

在scala中break和continue关键字移除了,如果一定要使用,需要使用scala.util.control包的break类的breable和break方法
实现break

scala> import scala.util.control.Breaks._
import scala.util.control.Breaks._
scala> breakable{for (i <- 1 to 10){if(i>=5) break() else println(i)}}
1
2
3
4

实现continue:breakable{} 把for表达式的循环体包起来

scala> for( i <- 1 to 10) {breakable{if(i % 2 ==0) break() else println(i)}}
1
3
5
7
9
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值