流程控制
条件表达式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 关键字。
立志如山 静心求实
浙公网安备 33010602011771号