match模式匹配

一、基本结束

Scala 中的模式匹配类似于 Java 中的 switch 语法,但是更加强大。
模式匹配语法中,采用 match 关键字声明,每个分支采用 case 关键字进行声明,当需要匹配时,会从第一个 case 分支开始,如果匹配成功,那么执行对应的逻辑代码,如果匹配不成功,继续执行下一个分支进行判断。如果所有 case 都不匹配,那么会执行 case _ 分支,类似于 Java 中 default 语句。

二、 scala 的 match 的快速入门案例

object MatchDemo01 {
def main(args: Array[String]): Unit = {
val oper = '-'
val n1 = 20
val n2 = 10
var res = 0
// 说明
//1. match ( 类似 java switch)  和 case  是关键字
//2. , 如果匹配成功, 则 则 行 执行 =>  后面的代码块.
//3. 的 匹配的顺序是从上到下,匹配到一个就执行对应的  代码
//4. => 块 后面的代码块 写 不要写 break , 会自动的退出 match
//5. 行 如果一个都没有匹配到,则执行 case _  后面的代码块
oper match {
case '+' => res = n1 + n2
case '-' => res = n1 - n2
case '*' => res = n1 * n2
case '/' => res = n1 / n2
case _ => println("oper error")
}
println("res=" + res)
}
}

 

三、 match 的细节和注意事项

1) 如果所有 case 都不匹配,那么会执行 case _ 分支,类似于 Java 中 default 语句
2) 如果所有 case 都不匹配,又没有写 case _ 分支,那么会抛出 MatchError
3) 每个 case 中,不用 break 语句,自动中断 case
4) 可以在 match 中使用其它类型,而不仅仅是字符
5) => 等价于 java swtich 的 :
6) => 后面的代码块到下一个 case, 是作为一个整体执行,可以使用{} 扩起来,也可以不扩。
7) 案例:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值