Scala流程控制
一.if-else
if-else分支控制有三种:单分支、双分支、多分支。废话不多说,直接上代码。
1.单分支
if (条件表达式) {
执行代码块
}
2.双分支
if (条件表达式) {
执行代码块1
} else {
执行代码块2
}
3.多分支
if (条件表达式1) {
执行代码块1
}
else if (条件表达式2) {
执行代码块2
}
……
else {
执行代码块n
}
if else 表达式的返回值
scala 与java if 分支的区别:
- 在scala语言中,分支是有返回值的,返回值是满足条件的分支块最后一行的执行结果;
- 如果每一个分支块返回的数据类型不一致,那么就用它们共同的祖先类型作为返回值类型。
案例:
object TestIfElse {
def main(args: Array[String]): Unit = {
println("input age")
var age = StdIn.readInt()
val res:Any = if (age < 18){
"童年"
}else if(age>=18 && age<30){
"中年"
}else{
100
}
//例:如果age < 18 res = “童年”
println(res)
}
}
if else 实现三元运算
Java中的三元运算符可以用if else实现:
- 如果大括号{ }内的逻辑代码只有一行,大括号可以省略。
- 如果省略大括号,if只对最近的一行逻辑代码起作用。
object TestIfElse {
def main(args: Array[String]): Unit = {
// Java中三元运算符:
// int result = flag ? 1 : 0
// Scala
println("input age")
var age = StdIn.readInt()
val res:Any = if (age < 18) "童年" else "成年"
println(res)
}
}
二.for循环
1.基础语法:<-、to、until
for(变量名:数据类型 <- 数组|集合){
}
# 数据类型可以省略,因为可以通过集合中的元素推断出来
for(i <- 1 to 3