Scala 之控制结构(二)

一、for循环

Scala中的for循环语句格式如下:
  for( 变量 <- 表达式) 语句块
  如果for循环的循环体以yield开始,则该循环会构建出一个集合
  每次迭代生成集合中的一个值,如下:
  val v = for (i <- 1 to 10) yield i * 10
  println(v) //Vector(10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
 其中,“变量<-表达式”被称为“生成器(generator)”

二、if 表达式

   if 条件表达式,与Java的区别是可以当做表达式来用,可有返回值。

三、while 语句

   与java的基本一致,不同点是scala同样也可以有返回值。

下面直接以代码来表述这些结构

package scalaBasic

object StructureDemo {
  def main(args: Array[String]): Unit = {
    // 1for 循环
    forTest()
    jiuJiu           // 函数的调用如果没有参数可以省去括号
    println("----------------")
    guardTest()
    forByTest()
    // 2while
    whileDemo()

    // 3if
    val a = ifDemo()
    println(a)

    forArray()
  }

  // 1for 循环
  def jiuJiu(): Unit = {
    for (i <- 1 to 9) {
      for (j <- 1 to i) {
        print(i + "*" + j + "=" + i * j + "\t")
      }
      println()
    }
  }

  // for 循环中使用by修饰
  def forByTest(): Unit = {
    for (i <- 1 to 9 by 2)
      println(i)
  }

  def forTest(): Unit = {
    for (i <- 1 to 9; j <- 1 to 9) {
      if (i == j)
        println(i * j)
    }
  }

  // for循环中使用守卫表达式
  def guardTest(): Unit = {
    for (i <- 1 to 9; j <- 1 to 9 if i == j) {
      println(i * j)
    }
  }

  def forArray(): Unit = {
    val array = new Array[String](3)
    array(0) = "aa"
    array(1) = "bb"
    array(2) = "cc"

    for (a <- array)
      println(a)
  }

  // 2while
  def whileDemo(): Unit = {
    var a: Int = 1
    var sum = 0
    while (a <= 10) {
      sum = sum + a
      a = a + 1;
    }
    println(sum)
  }

  // 3if 条件表达式,与Java的区别是可以当做表达式来用,可有返回值
  def ifDemo(): Int = {
    val a = 10
    if (a < 10)
      10
    else
      100
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值