Scala基础——几种循环的使用

if else

有返回值,如果多个逻辑控制代码块,返回不同的值,则返回为:Any

   /*
    * if else
    * */
    var a = 10
    //自动推断
    val desc = if(a>10){
      "a大于10"
    }else if(a==10){
      50
    }else{
      "a小于10"
    }
    println(desc)

while循环

返回值类型为Unit——(),即为空

   /*
    * while循环,没有返回值
    * */
    while(a<15){
      println("a="+a)
      a+=1
    }
    /*
    * while的中断
    * 1、使用Boolean的flag来控制
    * 2、使用嵌套函数,从函数中return
    * 3、使用Breaks对象的break方法
    * 将需要中断的代码块放到breakable中,
    * */
    import scala.util.control.Breaks
    val loop = new Breaks
    var count =0
    loop.breakable{
      while(count <=100){
        count += 1;
        println(count)
        if(count == 10){
          loop.break()
        }
      }
    }

for循环

   /*
    * for循环
    * */
    //双层嵌套,to前闭后闭,默认升序
    for(i<-1 to 3;j <- 1 to 3 ){
      println(i+" "+j)
    }
    //从10开始,步长为-1,值为0时终止,前闭后开
    for(i <- Range(10,0,-1)){
      println(i)
    }
    //until前闭后开,默认升序
    for(i<-1 until 10){
      println(i)
    }

    /*
    * for循环的保护
    * */
    for(i <- 1 to 10 if i % 2 == 0){
      println("------"+i)
    }
    /*
    * 将遍历的结果返回到一个集合中,并返回给前面变量,使用yield关键字
    * */
    val result = for(i<-1 to 10) yield i
    //返回IndexedSeq,Vector(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
    println(result)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值