scala之循环

循环控制

for循环

 var array = 1 to 5;
    var array1 = 1 until 5;
    var array2 = Range(1, 5);
    for (i: Int <- array) {
      println(i)
    }
    for (i: Int <- array1) {
      println(i)
    }
    for (i: Int <- array2) {
      println(i)
    }
    for (i <- array2) {
      println(i)
    }

循环守卫
    var array2 = Range(1, 5);

for (i <- array2 if i!=3) {
      println(i)
    }
设置步长
var array3 = 1 to 5 by 2;
    for (i <- array3) {
      println(i)
    }


 for (i <- Range(1,6,2)) {
      println(i )
    }
双层for循环
for (i <- 1 to 5; j <- 1 to 5) {
      println(i + " " + j)
    }
引入变量
for (i <- 1 to 5) {
      var j = i - 1;
      println(i + " " + j)
    }
    // 简化
    for (i <- 1 to 5; j = i - 1) {
      println(i + " " + j)
    }
for循环的返回值

如果想要将集合中的数据进行处理后返回,可以采用特殊的关键字:yield

var result=for(i<-1 to 5) yield{
      i*2
    }
    println(result);
java中现场对象有yeild方法,在scala中如何调用
Thread.`yield`()

while循环

 while (true){
      println("*")
    }
    

循环中断

scala中没有break,continue

import scala.util.control.Breaks
import scala.util.control.Breaks._


   Breaks.breakable {
      for (i <- 1 to 5) {
        if (i == 3) {
          Breaks.break()
        }
        println("i=" + i)
      }
    }

    breakable {
      for (i <- 1 to 5) {
        if (i == 3) {
          break()
        }
        println("i=" + i)
      }
    }

    println("结束")
posted @ 2024-05-06 23:46  King-DA  阅读(10)  评论(0)    收藏  举报