1.守卫语句的格式
* 知识点:守卫
* value match {
* case 模式 if 条件 => 执行的事情
* }
*/
object matchcase07 {
def main(args: Array[String]): Unit = {
val a = 11
a match {
case x:Int if a > 10 => println("a 是大于10的Int")
case _ => println("a is not Int")
}
}
}
2.案例-判断星座
object matchcase08 {
def getZodiac(month: Int, day: Int): String =
month match {
case 1 if day >= 20 => "水瓶座"
case 2 if day <= 18 => "水瓶座"
case 2 if day >= 19 => "双鱼座"
case 3 if day <= 20 => "双鱼座"
case 3 if day >= 21 => "白羊座"
case 4 if day <= 19 => "白羊座"
case 4 if day >= 20 => "金牛座"
case 5 if day <= 20 => "金牛座"
case 5 if day >= 21 => "双子座"
case 6 if day <= 20 => "双子座"
case 6 if day >= 21 => "巨蟹座"
case 7 if day <= 22 => "巨蟹座"
case 7 if day >= 23 => "狮子座"
case 8 if day <= 22 => "狮子座"
case 8 if day >= 23 => "处女座"
case 9 if day <= 22 => "处女座"
case 9 if day >= 23 => "天秤座"
case 10 if day <= 22 => "天秤座"
case 10 if day >= 23 => "天蝎座"
case 11 if day <= 21 => "天蝎座"
case 11 if day >= 22 => "射手座"
case 12 if day <= 21 => "射手座"
case 12 if day >= 22 => "摩羯座"
case 1 if day <= 19 => "摩羯座"
case _ => "未知"
}
def main(args: Array[String]): Unit = {
println(getZodiac(1, 21))
println(getZodiac(2, 20))
println(getZodiac(3, 22))
println(getZodiac(4, 20))
println(getZodiac(5, 22))
println(getZodiac(6, 21))
println(getZodiac(7, 23))
println(getZodiac(8, 23))
println(getZodiac(9, 23))
println(getZodiac(10, 24))
println(getZodiac(11, 22))
println(getZodiac(12, 22))
}
}