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
相关推荐
若亦_Royi5 分钟前
C++ 的大括号的用法合集资源补给站1 小时前
大恒相机开发(2)—Python软触发调用采集图像m0_748247551 小时前
Web 应用项目开发全流程解析与实战经验分享刘大辉在路上1 小时前
突发!!!GitLab停止为中国大陆、港澳地区提供服务,60天内需迁移账号否则将被删除6.942 小时前
Scala学习记录 递归调用 练习FF在路上2 小时前
Knife4j调试实体类传参扁平化模式修改:default-flat-param-object: true众拾达人3 小时前
Android自动化测试实战 Java篇 主流工具 框架 脚本皓木.3 小时前
Mybatis-Plus不良人天码星3 小时前
lombok插件不生效源码哥_博纳软云3 小时前
JAVA同城服务场馆门店预约系统支持H5小程序APP源码