流程控制

条件表达式if

       Scala 中的 if/else 语法结构与 Java 中的一样,唯一不同的是,Scala 中的 if 表达式是有返回值的。在 Scala 中并不需要分号。除非你在单行语句中写了多行代码。

object Hello extends App {
  val x = "scala"
  val result = if (x.length == 5) "true" else "false"
  println(result)
}

块表达式

       使用 {} 块包含一系列表达式,块中最后一个表达式的值就是块的值

object Hello extends App {

  val result = {
    val a = 1 + 1;
    val b = 2 + 2;
    a + b
  }
  println(result)
}

       如果块中的最后一个表达式没有返回值,则块的返回值是 Unit 类型。

scala> val result ={ val a = 1 + 1; val b = 2 + 2 }
result: Unit = ()

       for 循环的基本使用如下:

  for (n <- 1 until 10) {
    print(n)
  }

  for (i <- 1 to 3; j <- 1 to 3)
    print(f"${10 * i + j}%3d")

  for (i <- 1 to 3; j <- 1 to 3 if i != j)
    print(f"${10 * i + j}%3d")

       异常处理try

import java.io.{FileNotFoundException, FileReader}

object Hello extends App {
  try {
    val reader = new FileReader("a.txt")
  } catch {
    case ex: FileNotFoundException =>
      ex.printStackTrace()
      println("没有找到对应的文件")
  } finally {
    println("finally执行")
  }
}

      选择表达式match

object Hello extends App {
  val elements = Array("A", "B", "C", "D", "F")
  for (elem <- elements) {
    val score = elem match {
      case "A" => 10
      case "B" => 20
      case "C" => 30
      case "D" => 40
      case _ => 50
    }
    print(elem + ":" + score + " ")
  }
}

A:10 B:20 C:30 D:40 F:50 

  Scala 中并不支持 Java 中的 break 和 continue 关键字。

 

      

 

posted on 2022-03-05 12:14  溪水静幽  阅读(9)  评论(0)    收藏  举报