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 = {
  
}

}
相关推荐
布莱克6059 分钟前
数组详解:定义、作用、应用场景及与链表的区别(C/C++ 代码讲解)
c语言·开发语言·c++·数组
hongmai66688822 分钟前
MP2348GTL-Z:这颗24V/4A同步降压芯片,把性能和体积平衡得恰到好处
c语言·开发语言·arm开发·单片机·5g
多弗朗皮卡丘26 分钟前
C语言梦开始的地方19:文件操作
c语言·开发语言
Dovis(誓平步青云)26 分钟前
折叠屏悬停看视频,上半屏和下半屏应该各做什么
android·java·服务器·开发语言·安全·音视频
大辉狼_音频架构33 分钟前
进阶:从源码编译 SOF 固件与 topology
后端
大辉狼_音频架构33 分钟前
上板:让 SOF 在 FRDM-i.MX8MP 上跑起来
后端
benchmark_cc37 分钟前
Python量化实战:如何检测并剔除历史数据中的“闪崩/乌龙指”异常价格点?
开发语言·人工智能·python·量化·quantdash·量化数据源
2501_9378609441 分钟前
Java多线程初阶(下)—— synchronized、volatile、wait/notify与经典并发工具
java·开发语言·jvm
大辉狼_音频架构1 小时前
FRDM-IMX8MP UUU 烧录 eMMC 指南
后端
笨笨饿1 小时前
#135_代码中的类型重定义艺术:从基础封装到函数类型设计
开发语言·stm32·单片机·嵌入式硬件·mcu·物联网·嵌入式实时数据库