【Scala入门】Scala中的For循环

import scala.collection.immutable
/**
  * For循环
  */
object ForDemo {

  def main(args: Array[String]): Unit = {
    //定义一个数组变量,to后的第一个参数为末位置(包含该值),第二个参数为步长(负数为递减)
    val arr1 = 1 to (10, 2)
    val arr2 = 10 to (1, -2)
    //until不包含最后一个值
    val arr3 = 1 until(10)
    //Range第一个参数为起始值(包含),第二个参数为末尾值(不包含),第三个参数为步长
    val arr4 = Range(0, 10, 2)
    //简单For循环
    for (a <- arr1) {
      println(s"arr1 of ${a}")
    }
    
    println("=================打印九九乘法表=================")
    println("===================类比JAVA====================")
    for (a <- arr3) {
      for (b <- 1 to a) {
        print(s"${b}*${a}=${a*b}\t")
      }
      println()
    }
    // 方法二:当有多个条件时可以全部写在for后的括号内,用;号隔开
    // println("===================当有多个条件时可以全部写在for后的括号内,用;号隔开====================")
    for (a <- arr3; b <- 1 to a){
      print(s"${b}*${a}=${a*b}\t")
      if (a == b) {
        println()
      }
    }
    // 方法三:使用花括号将for循环的条件一一列出
    for {
      a <- arr3
      b <- 1 to a
    }
    {
      print(s"${b}*${a}=${a*b}\t")
      if (a == b) {
        println()
      }
    }
    println("============for循环与过滤器===================")
    /*
     * 语法:for( var x <- List
     *            if condition1; if condition2...
     *         ){
     *         statement(s);
     */
    for (a <- arr2 if a != 2; if a != 4) {
      println(s"value of ${a}")
    }
    println("============for循环与yield===================")
    /*
     * var retVal = for{ var x <- List
     *                   if condition1; if condition2...
     *                  }yield x
     * 注意大括号中用于保存变量和条件,retVal 是变量, 循环中的 yield 会把当前的元素记下来,
     * 保存在集合中,循环结束后将返回该集合。
     */
    val retValue: immutable.Seq[Int] = for {a <- 1 to 10 if a < 8; if a % 2 == 0} yield a
    for (a <- retValue) {
      println(s"value of ${a}")
    }
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值