开篇实例
案例一 判断是否成年?
object ex {
def main(args: Array[String]): Unit = {
print("请输入正方形的边长a:")
var a = scala.io.StdIn.readInt()
print("请输入长方形的边长b:")
var b = scala.io.StdIn.readInt()
print("请输入长方形的边长c:")
var c = scala.io.StdIn.readInt()
if(a*a > b*c) {
println("SQUARE")
} else if(a*a < b*c) {
println("RECTANGLE")
} else {
println("SAME")
}
}
}
案例二 比较正方形和长方形面积大小
输入一个正方形的边长(a)及一个长方形的长与宽(b、c),然后比较两个图形的面积。如果长方形面积大,输出 “RECTANGLE”;如果正方形面积大,输出 “SQUARE”,如果一样大,输出 “SAME”。
object ex {
def main(args: Array[String]): Unit = {
print("请输入正方形的边长a:")
var a = scala.io.StdIn.readInt()
print("请输入长方形的边长b:")
var b = scala.io.StdIn.readInt()
print("请输入长方形的边长c:")
var c = scala.io.StdIn.readInt()
if(a*a > b*c) {
println("SQUARE")
} else if(a*a < b*c) {
println("RECTANGLE")
} else {
println("SAME")
}
}
}
案例三 输入分数输出等级。
[案例]输入正整数分数,输出对应的等级符号。规则如下:[90,100] 为 A 等;[80,89] 为 B 等;[70,79] 为 C 等;[60,69] 为 D 等;[0, 59] 为 E 等;
object fenshu {
def main(args: Array[String]): Unit = {
print("输入正整数分数:")
var a = scala.io.StdIn.readInt()
if(a <= 100 && a >= 90) {
println("A")
} else if(a <= 89 && a >= 80) {
println("B")
} else if(a <= 79 && a >= 70) {
println("C")
} else if(a <= 69 && a >= 60) {
println("D")
} else {
println("E")
}
}
}
if语句的返回值
val a= if(布尔表达式) {
表达式1
} esle{
表达式2
}
object fanhuizhi {
def main(args: Array[String]): Unit = {
//if语句的返回值
val a = if(2 > 1) {
println("2>1是成立的")
"ok"
} else {
"no"
}
}
}
object jidain {
def main(args: Array[String]): Unit = {
//判断一个数是否为奇,偶数
val num = 11
val result = if(num % 2 == 1) {
"奇数"
} else {
"偶数"
}
}
}
特殊语法规则
- 省略else时默认返回Unit类型(即
())116 - 可用作三元运算符替代:
val max = if(a>b) a else b511 - 支持条件守卫(if守卫),常见于for循环中过滤元素
**
深度搜索
1.Scala中if语句与Java有何区别?
2.if语句中的条件守卫如何使用?
3.Scala中if表达式如何自动类型推断?
引用复制翻译解释