Scala中for循环的使用

Scala中的for循环:
一.第一种实现方式:(生成器表达方式)
object OntFor { 
   def main(args:Array[String]) : Unit ={      for (i <- 0.to(10)) {
         //(i <- 0 to 10)
         println(i+",");      }   }
} 输出结果:1,2,3,4,5,6,7,8,9,10,
 
二.使用until生成1到10范围内的数据,包左包右(相当于10-1)
object UntilFor { 
  def main(args:Array[String]):Unit={
    for (i <- 0.until(10)) print(i}+",");
      //(i <- 0 until 10)
  }
}
输出结果为:1,2,3,4,5,6,7,8,9
三.在第一种实现方式的基础上加上步长限制输出结果
object OntFor { 
    def main(args:Array[String]):Unit = { 、
        for (i <- 0.to(10) by 2) {
            print(i+",");
        }
     }
}
  字段解释: i: 相当于java中的变量
       0.to(10): 0到10的自然数
       by 2: 输出结果隔(2-1)个输出,不够的不输出
       结果: 1,3,5,7,9

  

四.利用步长使指定元素为倒叙输出或使用reverse关键字
object OntForBy { 
  def main(args:Array[String]): Unit={
      for (i <- 10.to(1) by -1) {
            print(i+",")
      }
      for (i <- 1.to(10) reverse) print(i+",");
}
  两个输出结果同为: 10,9,8,7,6,5,4,3,2,1, }

  

五.循环守卫模式:(守卫模式就是在循环内添加判断语句)
object ShouWeiFor{ 
    def main(args:Array[String]):Unit={
      //当循环中的数据满足模与2等于0时打印对应数据
      for (i <- 0 unitl 10 if i%2==0) print(i+",");
   }
}

  

六. 循环嵌套
 
object QianTaoFor { 
    def main(args:Array[String])"Unit = {
       for (i <- 1.to(10); j <- 1.to(10)){
          print(i + "+" + j + "=" + (i + j) + "\t");
       }
   }
}

  

七.循环带返回值,利用守卫规则归并数组中的偶数到新的数组中
object QianTaoFor { 
   def main(args:Array[String]):Unit={
      var res = for (i <- 1.to(10); if (i % 2 == 0)) yield i
      for (e <- res) print(e+",");
  }
}

  

 

posted @ 2021-03-28 10:59  zhuzhu&you  阅读(1825)  评论(0编辑  收藏  举报