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
相关推荐
宋一平工作室9 分钟前
单片机队列功能模块的实战和应用豆豆(设计前端)22 分钟前
在 JavaScript 中,你可以使用 Date 对象来获取 当前日期 和 当前时间、当前年份。郝同学的测开笔记22 分钟前
一次业务投诉引发的思考:如何优雅地将K8s服务暴露给外部?壹米饭32 分钟前
Java程序员学Python学习笔记一:学习python的动机与思考全栈派森40 分钟前
机器学习第五课: 深度神经网络freyazzr1 小时前
TCP/IP 网络编程 | Reactor事件处理模式电院工程师1 小时前
SM3算法Python实现(无第三方库)YuTaoShao1 小时前
Java八股文——MySQL「存储引擎篇」AI风老师1 小时前
通信网络基础概念白露与泡影1 小时前
springboot + nacos + k8s 优雅停机