5 Scala for循环基本用法

1 基本使用:

val start = 1
    val end = 10
    // start从那个值开始循环
    // to关键字
    // end循环结束的值
    // start to end 表示前闭后闭
    for(i <- 1 to 10){
      println(i)
    }
    
    // for也可以对集合进行遍历
    var list = List("hello","tom","30")
    for(item <- list){
      println(item)
    }

    // until 前闭后开
    for (i <- 1 until 11){
      println(i)

2 循环守卫

    //循环守卫即循环保护式,保护式为true,则进入循环体内部,
    // 为false则跳过,类似与continue
    for (i <- 1 to 3 if i != 2){
      println(i

3 嵌套循环

// 等价循环
    for (i <- 1 to 3; j <- 1 to 3) {
      println(i + "" + "\t" + j + "")
    }

// 上面的代码等价于下面的
    for (i <- 1 to 3) {
      for (j <- 1 to 3) {
        println(i + "" + "\t" + j + "")
      }
      
  // 还可以这样使用
    for {
      i <- 1 to 3
      j <- 1 to 3} {
      println(i + "" + "\t" + j + "")
    }

3 循环返回值

    /*
    res = for (i <- 1 to 10) yield i
    1 表示对 1 to  10 进行遍历
    2 yield i将没此循环得到的i放到vector中,并返回给res
    3 i 这里可以是一个代码块
     */
    val res = for (i <- 1 to 10) yield i
    println(res)

    val res1 = for (i <- 1 to 10) yield {
      if(i % 2 == 0){
        i
      }else{
        i + "不是偶数"
      }
    }
    println(res1)

4 for控制步长

    // 控制步长方式1
    for (i <- Range(1,10,2)){
      println(i)
    }

    println("*"*10)
    // 控制步长方式2
    for(i <- 1 to 10 if i % 2 ==1){
      println(i)
    }

Guess you like

Origin blog.csdn.net/u014644167/article/details/107131153