zoukankan      html  css  js  c++  java
  • 快学Scala--03 while 和for

    1.While
    Scala 的while循环和Java类似,需要注意的是
    •  Scala当中是没有break 的,可以引入import scala.util.control.Breaks._
            并且配合breakable{} 的语句块来使用,一定程度上可以当作continue
            但是!如果没有breakable的语句块,break会导致多重循环一次退出
    •  Scala当中是没有continue的 ,也没有什么引入可用
    for (z <- 2 to 12){
      while(z%2==0){
        printf("z=%d
    ",z)
          break()
       
      }
    }
    Result:
    z=2
    scala.util.control.BreakControl
     
    for (z <- 2 to 6){
      breakable{
      while(z%2==0){
        printf("z=%d
    ",z)
        break()
      }
      }
    }
    Result:
    z=2
    z=4
    z=6
    res2: Unit = ()
     
     
    2.for循环
        for( 循坏体 [过滤条件] [;循坏体 [过滤条件]){
            多重循环执行的语句    
        } 
    for(x <- 1 to 10
        if x > 3
        if x %2 ==0
        ;
        y <- 1 to 12
         if x -y ==1
       ) yield x*y
    Result:
         Vector(12, 30, 56, 90)
     
     循环体一般使用形式如 x <- 1 to 10   或者 x <- arry
    val a=Array(1,2,3,4,5)
    for (x <- a){
      printf("%d	",x)
    }

    yield 关键字的简短总结:

    • 针对每一次 for 循环的迭代, yield 会产生一个值,被循环记录下来 (内部实现上,像是一个缓冲区).
    • 当循环结束后, 会返回所有 yield 的值组成的集合.
    • 返回集合的类型与被遍历的集合类型是一致的.
    《快学Scala》高清中文PDF+源代码
    提取码:an5d 
  • 相关阅读:
    热烈祝贺自己的博客进入前1000名
    烈日之后逛成都
    懂得爱情
    腾飞天涯
    哈佛教授教你成为No.1的秘诀
    烈日炎炎
    有缘无份——因为伤感所以美丽
    时间管理
    亲爱的陌生人(转)
    走好激励第一步
  • 原文地址:https://www.cnblogs.com/feixiaobai/p/6ea271af9d238124d6036c5bb3635e18.html
Copyright © 2011-2022 走看看