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
相关推荐
2501_930707784 小时前
使用C#代码在 PowerPoint 中组合或取消组合形状晚烛4 小时前
CANN 调试工具与性能剖析:从日志分析到 NPU 行为追踪的完整调试体系惊鸿一博5 小时前
图标加载方式_zeroIcon_是否加前缀mdi森G5 小时前
TypeScript 基础类型鹿导的通天塔5 小时前
99%的人都不知道Codex 的 goal 神技!完整设置及提示词模板教学huipeng9266 小时前
企业级微服务开发实战(一):项目启动与工程化设计爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ6 小时前
java实现excel导入、下载模板方法眠りたいです6 小时前
现代C++:C++14中的新语言特性和库特性ltl7 小时前
Transformer 原论文怎么训出来的:8 张 P100、12 小时、warmup 4000 步why技术7 小时前
AI Coding开始进入第四个时代,我还没上车呢!