Scala流程控制

流程控制

if--else,条件判断,与Java中用法一致

Scala中的if--else有返回值,值为代码块最后一行的值

val age: Int = StdIn.readInt()    //键盘输入

val result: String = if (age <= 18) {    //定返回值类型
println("青少年")
"青少年"     //返回数据

Scala中的渐变写法

val res = if (age >= 18) 成年 else 未成年

在Scala中if也是可以嵌套使用的

for循环

for (i <- 1 to 10){     //to是方法,从1遍历到10
      println(i + ".hello world")

to方法来自 RichInt 其中

将上述代码中的to改为until就可以让遍历不包含最后一位(10)

循环守卫,即循环保护式(也称条件判断式),保护式为true则进入循环内部,为false则跳过。

for(i <- 1 to 3 if i != 2)    //相当于for与if的结合体

循环步长,默认为1,步长为负数的话,循环应该为从大到小循环,补偿不能为0。

for(i <- 1 to 10 by 2)     //出来为1、3、5、7、9,by也是一个方法

当步长为0.5时——

for(i <- 1.0 to 10.0 if i != 0.5)     //将数据类型统一

for的循环嵌套

for (i <- 1 to 3){

      for (j <- 1 to 3) {
          print(i + "" + j + " \ ")

11 / 12 / 13 / 21 / 22 / 23 / 31 / 32 / 33 / 

Scala中for循环嵌套的简便写法

for(i <- 1 to 3; j <- 1 to 3)    //两个循环相加,完成循环的嵌套

九九乘法表——

for(i <- 1 to 9; j <- 1 to i) {
      print(s"$j * $i = ${i * j} \t")
      if (j ==i ) println()

1*1=1  

1*2=2  2*2=4

. . . . . .

1*9=9  2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81

$ 符号用于字符串插值,字符串插值是一种将变量值直接嵌入到字符串字面量中的技术。

循环返回值,默认情况下都是空,类型为Unit,开发中很少用

While和do..while循环

Scala中一般不推荐使用while的循环,推荐用for循环

While没有返回值

用法和Java中一致

循环中断

Scala去掉了break和continue,为了更好适应的函数式编程

可以用抛出异常的方法,退出循环,为了方便,使用Scala中的Breaks类的break方法,实现异常的抛出和捕捉。

Breaks.breakable(    //注意是小括号

for (i <- 0 until 5){
          if (i == 3)
       Breaks.break()
   println(i)

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值