Scala_3.函数式编程
package com.lius import com.sun.xml.internal.bind.v2.TODO /** * Scala函数式编程 */ object functionProgram { def arrayOperation(): Unit = { //定义数组 var z:Array[String] = new Array[String](3); // var z = new Array[String](3); //遍历数组 var myList = Array(1.9,2.9,3.9,4.9,5.9) //输出所有数组元素 for(x <- myList){ println(x) } //计算所有元素的sum值 var total = 0.0 for( t <- 0 to (myList.length-1)){ total += myList(t) } println(s"${myList} sum is ${total}") //查找数组中最大的元素 // TODO: var maxValue = 0.0 for(i <- myList){ maxValue = if(maxValue>i) maxValue else i } println(s"${myList}最大值为:${maxValue}") } /** * List操作 */ def ListOperation(): Unit = { //定义字符串List val site:List[String] = List("xxx商城","Google","Baidu"); //定义整型list val nums:List[Int] = List(1,2,3,4); //空列表 val empty:List[Nothing] = List(); //二维列表 val dim:List[List[Int]] = List(List(1,0,0),List(0,1,0),List(0,0,1)) // val siteVal = "xxx博客" :: ("Google" :: ("Baidu" :: Nil)) val numsVal = Nil println(s"第一个网站是:${siteVal.head}") println(s"最后一个网站是:${siteVal.tail}") println(s"查看列表siteVal是否为空:${siteVal.isEmpty}") println(s"查看numsVal是否为空:${numsVal.isEmpty}") println(Nil) for(t <- siteVal){ println(s"${t}") } } /** * Set操作 */ def SetOperation(): Unit = { val s:Set[String] = Set("xxx商城","Google","Baidu") val nums:Set[Int] =Set() println(s"第一个网站是:${s.head}") println(s"最后一个网站是:${s.tail}") println(s"查看列表site是否为空:${s.isEmpty}") println(s"查看nums是否为空:${nums.isEmpty}") } /** * Map操作 */ def MapOperation(): Unit = { //定义Map val colors = Map( "red"->"#FF0000", "azure"->"#F0FFFF", "peru"->"#CD853F" ) val nums:Map[Int,Int] = Map() //操作 println(s"colors中的键值:${colors.keys}") println(s"colors中的值为:${colors.values}") println(s"检测colors是否为空:${colors.isEmpty}") println(s"检测nums是否为空:${nums.isEmpty}") } /** * 元组操作 */ def TupleOperation(): Unit = { //定义元组 val t = (4,3,2,1) val sum = t._1+t._2+t._3+t._4 //调用元组元素 println(s"元素之和为:${sum}") } /** * option操作 option有值返回Some[T] 没有值返回None */ def optionOperation(): Unit = { //定义Map val site = Map("lius"->"lius的博客") //取值 val value1:Option[String] = site.get("lius") val value2:Option[String] = site.get("Baidu") //打印结果 println(s"value1:${value1},value2:${value2}") //模实匹配 println(s"value1:${show(value1)},value2:${show(value2)}") } def show(x:Option[String])= x match { case Some(s) =>s case None => "?" } def main(args: Array[String]): Unit = { //1.Array数组 // arrayOperation() //2.List列表 // ListOperation() //3.Set集合 // SetOperation() //4.Map映射 // MapOperation() //5.元组 // TupleOperation() //6.Option optionOperation(); } }
Scala_3.函数式编程
最新推荐文章于 2022-02-09 10:12:46 发布