(一)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 Main {
def main(args: Array[String]): Unit = {
try {
println("请输入正方形的边长:")
val a = scala.io.StdIn.readDouble()
println("请输入长方形的长和宽(用空格分隔):")
val input = scala.io.StdIn.readLine().split("\s+")
if (input.length < 2) {
println("请输入两个数字!")
return
}
val b = input(0).toDouble
val c = input(1).toDouble
// 验证输入是否为正数
if (a <= 0 || b <= 0 || c <= 0) {
println("请输入正数!")
return
}
val squareArea = a * a
val rectangleArea = b * c
// 使用if语句比较
if (rectangleArea > squareArea) {
println("RECTANGLE")
} else if (squareArea > rectangleArea) {
println("SQUARE")
} else {
println("SAME")
}
}
}
}
(四)案例三输入分数输出等级
[案例]输入正整数分数,输出对应的等级符号。规则如下:[90,100] 为 A 等;[80,89] 为 B 等;[70,79] 为 C 等;[60,69] 为 D 等;[0, 59] 为 E 等;
以下为代码示范:
object Main {
def main(args: Array[String]): Unit = {
try {
println("请输入分数(0-100):")
val score = scala.io.StdIn.readInt()
if (score < 0 || score > 100) {
println("分数必须在0-100之间")
} else {
// 使用if语句判断等级
if (score >= 90) {
println("A")
} else if (score >= 80) {
println("B")
} else if (score >= 70) {
println("C")
} else if (score >= 60) {
println("D")
} else {
println("E")
}
}
} catch {
case e: NumberFormatException =>
println("请输入有效的整数分数")
case e: Exception =>
println("输入错误:" + e.getMessage)
}
}
}
(五)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 {"奇数"}
object Main {
def main(args: Array[String]): Unit = {
// 示例1:使用val定义不可变变量
val i = 2
val result1 = if (i % 2 == 0) "偶数" else "奇数"
println(s"数字 $i 是:$result1")
// 示例2:使用var定义可变变量
var j = 7
var result2 = if (j % 2 == 0) "偶数" else "奇数"
println(s"数字 $j 是:$result2")
// 示例3:多行表达式的情况
val k = 10
val result3 = if (k % 2 == 0) {
val message = "这是一个偶数"
message // 最后一行的表达式作为返回值
} else {
val message = "这是一个奇数"
message // 最后一行的表达式作为返回值
}
println(s"数字 $k 是:$result3")
// 示例4:处理用户输入
println("请输入一个整数:")
val input = scala.io.StdIn.readInt()
val result4 = if (input % 2 == 0) "偶数" else "奇数"
println(s"您输入的数字 $input 是:$result4")
// 判断正负数
val num = -5
val sign = if (num > 0) "正数" else if (num < 0) "负数" else "零"
println(s"$num 是:$sign")
}
}