case中的通配符 _ 相当于java中的default分支
match结构中不需要break语句来跳出判断,scala会从前往后匹配,一旦配到一个分支即停止
import scala.io.StdIn._
println("Please input the score Level: ")
val grade = readChar()
grade match{
case ‘A‘ => println("85-100")
case ‘B‘ => println("70-84")
case ‘C‘ => println("60-69")
case ‘D‘ => println("< 60")
case _ => println("error input !")
}
import scala.io.StdIn._
val country = readLine("please input your country: ")
country match {
case "中国" => println("you are from China")
case "美国" => println("youa are from USA")
case "日本" => println("you are from Japan")
case _ => println("country input wrong!")
}
val list1 = List(1,2L,3.3f,"HUAHUA")
for(i <- list1){
val str = i match {
case i:Int => "Int value"
case l:Long => "Long value"
case f:Float => "Fload value"
case s:String => "String value"
case _ => "unexpected value"
}
println(i + " is " + str)
}
for (i <- (1 to 10).toList){
i match {
case _ if(i % 2 == 0) => println(i + " is even number")
case _ => println(i + " is odd number")
}
}
case class Car(brand:String, price:Int)
for(car <- List(Car("BYD",8000),Car("BMW",9000),Car("BENZ",11000))){
car match {
case Car("BYD",8000) => println("Hello BYD")
case Car("BMW",9000) => println("Hello BMW")
case Car(brand,price) => println("Brand: " + brand + ", Price: " + price + ", you want it ?")
}
}
-----
Scala学习笔记-07-模式匹配 - match case语句
原文:https://www.cnblogs.com/wooluwalker/p/12306054.html