package Scala10
import scala.io.StdIn
//模式匹配-条件守卫
object jfhj {
//
// 从控制台读入一个数字a,使用(StdIn.readInt)
// 如果a>=0并且a<=3,打印[0-3]
// 如果a>=4并且a<=8,打印[4-8]
// 否则:打印匹配
// def main(args: Array[String]): Unit = {
// val a = StdIn.readInt() //等待从键盘输入内容
// println(s"从键盘输入的数字是:$a")
// a match {
// case x if x >= 0 && x <= 3 => println(s"[0-3]")
// case x if x >= 4 && x <= 8 => println(s"[4-8]")
// case _ => println(s"打印未匹配")
// }
// }
// def main(args: Array[String]): Unit = {
// for(i<- 2000 to 2040){
// i match {
// case x if (x%4==0) && (x%100!=0)|| (x%400==0) =>println(s"${x}年是闰年")
// case _=>println(s"${i}年不是闰年")
// }
// }
// }
// 匹配类型
// def main(args: Array[String]): Unit = {
// val i: Int = 1
// val b: Boolean = false
//
// // Any任意的
// // val x: Any = i
定义一个变量x,类型无所谓
// // val x: Any = b
// val x: Any = "abc"
// x match {
// case _: Int => println(s"$x 是Int类型的") //_:Int 表示变量是Int类型
// case _: Boolean => println(s"$x 是Boolean 类型的")
// case _ => println("其他")
// }
// }
// 匹配数组
// def main(args: Array[String]): Unit = {
// var arr1=Array(1,2,3)
// var arr2=Array(1,2,4)
// var arr3=Array(1,2,9,38)
//
// var arr=Array(100)
// arr match {
// case Array(0)=>println("只有1个元素,且第一个为0")
// case Array(1,x,y)=>println(s"三个元素,且第一个为1,第二个是${x},第三个是${y}")
// case Array(1,_*)=>println("n个元素,且第一个为1")
// case _ =>println("其他")
// }
// }
// 匹配case class
// def main(args: Array[String]): Unit = {
// case class Stu(name:String)
// case class Teacher(name:String,subject:String)
// val s1=Stu("小花")
// val t1=Teacher("小明","体育")
//
// val x:Any=t1
//
// x match {
// case Stu(a)=>println(s"学生${a}")
// case Teacher(a,b)=>println(s"${b}老师${a}")
// case _ =>println("其他")
// }
// }
// 定义变量赋值
//def main(args: Array[String]): Unit = {
// var arr=Array(1,2,3,4,7)
任务:定义三个变量,分别保存数组中有第一个,第二个,第三个
var x=arr(0)
var y=arr(1)
var z=arr(2)
要先匹配上,然后在赋值
// var Array(x,y,_,z,_*)=arr
//
// println(s"x= $x y= $y z= $z")
//}
}
Scala中条件守卫
刘翔在线犯法2024-12-07 8:56
相关推荐
葫芦和十三1 天前
图解 MongoDB 19|Oplog:复制的真正载体,不是文档是操作葫芦和十三1 天前
图解 MongoDB 20|复制延迟与 catch up:Secondary 为什么跟不上IT_陈寒1 天前
SpringBoot自动配置的坑,我的API突然就404了ServBay1 天前
为什么说 MCP 是 2026 年开发者必须掌握的黄金协议?程序员夏洛1 天前
Spring Boot 多模块项目中 IDEA 提示 Cannot resolve symbol 的一次排查记录子兮曰1 天前
OpenMontage 深度解剖:你的 AI 编程助手,其实是个视频工作室子兮曰1 天前
前端工具链的「Rust 化」:一场没有赢家的军备竞赛?爱勇宝1 天前
从 Ctrl+CV 到 Enter:程序员正在失去什么码事漫谈1 天前
EdgeOne Makers + WorkBuddy:零基础也能快速搭建可上线的 AI 智能体(附图文教程)