if语句的格式和执行流程
Scala中的if语句的语法格式如下:
if(布尔表达式 1){
// 如果布尔表达式 1 为 true 则执行该语句块
}else if(布尔表达式 2){
// 如果布尔表达式 2 为 true 则执行该语句块
}else if(布尔表达式 3){
// 如果布尔表达式 3 为 true 则执行该语句块
}else {
// 如果以上条件都为 false 执行该语句块
}
案例一判断是否成年
编写程序实现:提示用户输入年龄,判断是否成年。
判断是否成年,并输出
def main(args: Array[String]): Unit = {
// 从键盘输入一个年龄,判断是否成年
val age = StdIn.readInt()
if (age >= 18) {
println("成年")
} else {
println("未成年")
}
}
案例二比较正方形和长方形面积大小
输入一个正方形的边长(a)及一个长方形的长与宽(b、c),然后比较两个图形的面积。如果长方形面积大,输出 “RECTANGLE”;如果正方形面积大,输出 “SQUARE”,如果一样大,输出 “SAME”
object base14 {
def main(args: Array[String]): Unit = {
print("请输入正方形边长:")
val a = scala.io.StdIn.readInt()
print("请输入长方形的长:")
val b = scala.io.StdIn.readInt()
print("请输入长方形的宽:")
val c = scala.io.StdIn.readInt()
if(b*c > a*a){
println("RECTANGLE")
} else if(b*c < a*a){
println("SQUARE")
}else {
println("SAME")
}
}
}
案例三输入分数输出等级
输入正整数分数,输出对应的等级符号。规则如下:[90,100] 为 A 等;[80,89] 为 B 等;[70,79] 为 C 等;[60,69] 为 D 等;[0, 59] 为 E 等;
使用多分支结构
参考代码
object base15 {
def main(args: Array[String]): Unit = {
print("请输入分数:")
val a = scala.io.StdIn.readInt()
if (90 <= a && a<=100) {
println("A")
} else if (80 <= a && a<=89) {
println("B")
} else if (70<= a && a<=79) {
println("C")
} else if (60 <= a && a<=69) {
println("D")
} else if (0 <= a && a<=59) {
println("E")
}else{
println("输入分数有误")
}
}
}
if语句的返回值
提问:java中的if有返回值吗?
Scala中的if语句是有返回值的,它的执行过程如下:
val a= if(布尔表达式) {
表达式1
} esle{
表达式2
}
讲解: 如果布尔表达式为true,则会把表达式1的值赋给变量a。如果布尔表达式为false,则会把表达式2的值赋给变量a。即如果布尔表达式为true,a=表达式1,否则,a=表达式2。
示例:判断一个数是奇数还是偶数
var i = 2;
var c = if(i%2 ==0){"偶数"} else {"奇数"}
案例四
讲授:改造案例三的代码,通过if的返回值来获取等级。
def main(args: Array[String]): Unit = {
val a = StdIn.readInt() // 从键盘输入两个数,a、b
val b = StdIn.readInt()
val c = _________________ // 用c来保存它们的较大者
println(c) // 输出较大者
}