scala 分支控制 (单分支、双分支、多分支)、 分支判断的返回值
输入年龄,如果年龄小于18岁,则输出“童年”。如果年龄大于等于18且小于等于30,则输出“青年”,如果年龄大于30小于等于50,则输出”中年”,否则,输出“老年”scala中如果逻辑代码只有一行,花括号可省略,若需要三元运算符,可使用。(1)下面代码中的变量result类型为Any类型,用于匹配不同分支的执行结果。,需要在执行之前将数据类型确定,编译器在编译时就会考虑多种情况下的通用方案。(2)下
·
1. 单分支、双分支、多分支
语法:
if(布尔表达式) {
// 如果布尔表达式为 true 则执行该语句块
}
if(布尔表达式) {
// 如果布尔表达式为 true 则执行该语句块
} else {
// 如果布尔表达式为 false 则执行该语句块
}
if(布尔表达式1) {
// 如果布尔表达式1为 true,则执行该语句块
} else if ( 布尔表达式2 ) {
// 如果布尔表达式2为 true,则执行该语句块
}...
} else {
// 上面条件都不满足的场合,则执行该语句块
}
如:
输入年龄,如果年龄小于18岁,则输出“童年”。如果年龄大于等于18且小于等于30,则输出“青年”,如果年龄大于30小于等于50,则输出”中年”,否则,输出“老年”
object ScalaBranch {
def main(args: Array[String]): Unit = {
val age = 30
if ( age < 18 ) {
println("童年")
} else if ( age <= 30 ) {
println("青年")
} else if ( age <= 50 ) {
println("中年")
} else {
println("老年")
}
}
}
或
object ScalaBranch {
def main(args: Array[String]): Unit = {
val age = 30
val result = if ( age < 18 ) {
"童年"
} else if ( age <= 30 ) {
"青年"
} else if ( age <= 50 ) {
"中年"
} else {
"老年"
}
println(result)
}
}
2. 分支判断的返回值
2.1 Scala中的表达式均有返回值
(1)
在java中字符串fd 被赋予变量b
在scala中 a = "list"
视为一个整体,返回值为Unit,被赋予变量b
object T2 {
def main(args: Array[String]): Unit = {
var a = "fdas"
var b = a = "list"
print(b) //()
}
}
(2)
println()
的返回值类型为Unit
2.2 分支判断中返回值类型
scala作为一门静态类型编程语言
,需要在执行之前将数据类型确定,编译器在编译时就会考虑多种情况下的通用方案
分支判断中返回值类型取决于满足条件的最后一行代码的执行结果
(1)下面代码中的变量result类型为Any类型,用于匹配不同分支的执行结果
object T1 {
def main(args: Array[String]): Unit = {
val i = 10
val result= if (i > 55) {
println("%s 大于 55", i)
} else if (i > 30) {
"cz"
} else {
false
}
print(result)
}
}
(2)下面代码中的变量result类型为String类型
object T1 {
def main(args: Array[String]): Unit = {
val i = 10
val result = if (i > 55) {
"%s 大于 55"
} else if (i > 30) {
"cz"
} else {
"false"
}
print(result)
}
}
3.Scala语言中没有三元运算符
scala中如果逻辑代码只有一行,花括号可省略,若需要三元运算符,可使用if分支判断代替三元运算符
object T4{
def main(args: Array[String]): Unit = {
val age:Byte=40
val newAge = if (age > 20) 20 else 18
println(newAge)
}
}
更多推荐
已为社区贡献7条内容
所有评论(0)