Scala控制结构笔记

1、Scala的for循环使用(to,by):

object for_test {
  def main(args: Array[String]): Unit = {
    for (i <- 1 to 5) println(i)
    println("------------------")
    for (i <- 1 to 5 by 2) println(i)
  }
}

out:

1
2
3
4
5
------------------
1
3
5

Process finished with exit code 0

2、守卫(guard)表达式

for ( 变量 <- 表达式 if 条件表达式 ) 语句块
for (i <- 1 to 5 if i % 2 == 0) println(i)

out:

2
4

3、Scala支持多生成器,用分号隔开

for (i <- 1 to 5; j <- 1 to 3) println(i * j)

out:

1
2
3
2
4
6
3
6
9
4
8
12
5
10
15

4、for推导式

for (变量 <- 表达式) yield {语句块}
scala> val r = for (i <- Array(1, 2, 3, 4, 5) if i % 2 == 0) yield {println(i); i}
2
4
r: Array[Int] = Array(2, 4)

5、异常处理:

  • 受检异常(checked exception)
  • 不受检异常(unchecked exception)

Scala中将所有的异常都当作不受检异常
使用try,catch处理异常。

6、对循环的控制

Breaks类(包scala.util.control)

  • breakable
  • break
breakable{
...
if(...)break
...
}

循环控制案例1:

import util.control.Breaks._ //导入Breaks类的所有方法
object breaks_test {
  def main(args: Array[String]): Unit = {
    val array = Array(1, 3, 10, 5, 4)
    breakable {
      for (i <- array) {
        if (i > 5) break() //跳出breakable,终止for循环,相当于Java中的break
        println(i)
      }
    }
    //上面for语句将输出1,3
  }
}

循环控制案例2:

import util.control.Breaks._ //导入Breaks类的所有方法
object breaks_test {
  def main(args: Array[String]): Unit = {
    val array = Array(1, 3, 10, 5, 4)
    for (i <- array) {
      breakable {
        if (i > 5) break()
        //跳出breakable,终止当次循环,相当于Java的continue
        println(i)
      }
    }
    //上面的for语句将输出1,3,5,4
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值