Scala_3.函数式编程
发布日期:2021-05-07 00:19:21 浏览次数:25 分类:原创文章

本文共 2808 字,大约阅读时间需要 9 分钟。


Scala_3.函数式编程


package com.liusimport 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_4.模式匹配
下一篇:Scala_2.逻辑控制语句

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2025年03月26日 12时42分12秒