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