scala的守卫语句格式

Scala 复制代码
import scala.io.StdIn
object test49{
  //从控制台读入一个数字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
//      case x if x>=0 && x<=3 => println(s"[0-3]")
//      case y if y>=4 && y<=8 => println(s"[4-8]")
//      case _ =>println("其他")
//    }
//  }


//  def main(args: Array[String]): Unit = {
//    for (i<-2000 to 2040)
//      i match {
//        case year if (year%4==0) &&(year%100!=0)||(year%400==0)=>println(s"${year}是闰年")
//        case _=>println(s"${i}不是闰年")
//      }
//  }


//  //匹配类型
//  def main(args: Array[String]): Unit = {
//    val i:Int=1
//    val b:Boolean=false
//
//    //Any 任意的
//    //val x:Any="abc"
//   // val x:Any=i
//    //定义一个变量x,类型无所谓
//    val x:Any=b
//
//    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)//三个元素,并且第一个为1
//    var arr2=Array(1,6,7)
//    var arr3=Array(0,1,6,7,3)
//
//    var arr=Array(1)
//    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= s1
//
//  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(8)
    var  y=arr(1)
    var  z=arr(2)
//    var Array(x,y,z,_*)=arr
//    println(s"x=$x,y=$y,z=$z")
//  }
def main(args: Array[String]): Unit = {
  
}

}
相关推荐
第九序言T3 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
学长毕设3 小时前
基于springboot的食品仓库管理系统
java·spring boot·后端
滴滴答答哒4 小时前
ASP.NET Core + FaceRecognitionDotNet 人脸识别实战:DI 单例、特征向量持久化与 1:N 比对
后端·asp.net
龙亘川4 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
程序喵大人4 小时前
【C++入门】内存模型与资源管理 - 09 shared_ptr 和 weak_ptr 解决共享,也带来代价
开发语言·c++·资源管理·智能指针·内存模型
Raas1005 小时前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
专注仿真5 小时前
线性回归和逻辑回归算法详解
开发语言·人工智能·python·大模型训练·控制算法
jimy16 小时前
C++ 中的 `T&&`:右值引用与转发引用
开发语言·c++
captain3766 小时前
MyBatis操作数据库(入门2)
java·数据库·spring boot·后端·spring·mybatis
呆呆虫126 小时前
用 orjson 加速 SerpBase 响应解析:基准对比与注意事项
开发语言·php