内容如下:
1. if语句的格式
2. if 语句的返回值
了解 if 语句
if单词表示“如果”,if语句在可以让程序有选择性地执行。
它的语法比较格式比较简单,与java中的一致。
1. 单分支。 if(){}
2. 双分支 if(){} else {}
3. 多分支 if(){} else if(){} else if(){} else {}
一: if 语句的格式:
//if(布尔表达式1){
// 如果布尔表达式 1 为 true 则执行该语句块
}else if(布尔表达式 2){
// 如果布尔表达式 2 为 true 则执行该语句块
}else if(布尔表达式3){
// 如果布尔表达式 3 为 true 则执行该语句块
}else {
// 如果以上条件都为 false 执行该语句块
}
案例代码如下:
案例一 :
object test1 {
def main(args: Array[String]): Unit = {
//从上往下运行
if(1>2){
println("yes")
}else{
println("no")
}
}
}
案例二:
编写程序实现:提示用户输入年龄,判断是否成年。
object test2 {
def main(args: Array[String]): Unit = {
print("请输入你的年龄:")
var age = scala.io.StdIn.readInt()
if(age >= 18){
println("成年人")
}else{
println("未成年人")
}
}
}
案例三:
比较正方形和长方形面积大小: 输入一个正方形的边长(a)及一个长方形的长与宽(b、c),然后比较两个图形的面积。如果长方形面积大,输出 “RECTANGLE”;如果正方形面积大,输出 “SQUARE”,如果一样大,输出 “SAME”。
object test3 {
def main(args: Array[String]): Unit = {
println("请输入正方形边长a:")
val a = scala.io.StdIn.readDouble()
println("请输入长方形长b:")
val b = scala.io.StdIn.readDouble()
println("请输入长方形宽c:")
val c = scala.io.StdIn.readDouble()
val squareArea = a * a
val rectangleArea = b * c
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 test4 {
def main(args: Array[String]): Unit = {
print("请输入你的成绩:")
val score = scala.io.StdIn.readDouble()
if(score >= 90 && score <= 100){
println("A")
}else if(score >= 80){
println("B")
}else if(score >= 70){
println("C")
}else if(score >= 60){
println("D")
}else if(score >= 0){
println("E")
}else{
println("分数不在合理范围")
}
}
}
二,if 语句的返回值:
Scala中的if语句是有返回值的:
如果布尔表达式为true,则会把表达式1的值赋给变量a。如果布尔表达式为false,则会把表达式2的值赋给变量a。即如果布尔表达式为true,a=表达式1,否则,a=表达式2。
val a= if(布尔表达式) {
表达式1
} esle{
表达式2
}
案例如下:
案例一:
object test5 {
def main(args: Array[String]): Unit = {
//if语句的返回值
val a = if(2 > 1){
"ok"
}else{
"no"
}
println(a)
//判断一个数是否为奇偶数
val num = 11
val result = if(num % 2 == 1){
"奇数"
}else{
"偶数"
}
println(result)
}
}
案例二:
也可通过 if 的返回值来获取等级
def main(args: Array[String]): Unit = {
val a = StdIn.readInt() // 从键盘输入两个数,a、b
val b = StdIn.readInt()
val c = // 用c来保存它们的较大者
println(c) // 输出较大者
}