scala流程控制语句 if for while 中断 break

本文介绍了Scala中的流程控制语句,包括if条件判断,for循环,while循环的用法,以及如何实现循环中断。Scala不支持break和continue,而是提倡使用函数式编程的方式来替代这些关键字。
摘要由CSDN通过智能技术生成

if

if (条件表达式) {
	执行代码块
}

for

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

说明
i 表示循环的变量, <- 规定好 to 规定
i 将会从 1-3 循环, 前后闭合 (包括1 和 3)

for(i<- 1 until  3){
      println(i)
    }

说明:
这种方式和前面的区别在于 i 是从1 到 (3-1)
前闭合后开的范围

for(i<- 1 to 3 if i!=2){
      println(i)
    }

说明
循环守卫,即循环保护式(也称条件判断式,守卫)。保护式为true则进入循环体内部,为false则跳过,类似于continue
上面的代码等价

for (i<-1 to 3){	
      if ( i != 2){		
        println(i+" ")
      }
    }
  for(i<- 1 to 3 ;j=4-i){
      println(j)
    }

说明
没有关键字,所以范围后一定要加;来隔断逻辑
上面的代码等价

 for (i <- 1 to 3) {
      var j = 4 – i
      print(j + “ “)
    }

嵌套循环

for(i<- 1 to 3 ;j<- 1 to 2){
      println("i="+i+" j="+j)
    }

说明
没有关键字,所以范围后一定要加;来隔断逻辑
上面的代码等价如下

 for (i <- 1 to 3) {
      for (j <-1 to 3) {
        println("ok")
      }
    }

while 循环

循环变量初始化 //循环的四个要素
while (循环条件) {
           循环体(语句)
           循环变量迭代
}

do … while循环

循环变量初始化;
   do{
               循环体(语句)
                循环变量迭代
   } while(循环条件)

循环中断
Scala内置控制结构特地去掉了break和continue,是为了更好的适应函数化编程,推荐使用函数式的风格解决break和contine的功能,而不是一个关键字

//导入包
import util.control.Breaks._
breakable(
      for(i<-0 until 10) {
        println(i)
        if(i==5){
          break()
        }
      }
    )
for(i<-0 until 10){
      breakable{
        if(i==3||i==6) {
          break
        }
        println(i)
      }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值