scala学习之路:11.Scala常见操作二

  //相当于是函数 返回值是String类型的
  def sayHi(msg: String): String = {
    println(" sayHello " + msg)
    "thaks"
   }                                              //> sayHi: (msg: String)String

  sayHi("toms")                                   //>  sayHello toms
                                                  //| res0: String = thaks
  // 这个就是相当于过程
  def sayHello(name: String) { println("sayHello ; " + name) }
                                                  //> sayHello: (name: String)Unit
  sayHello("toms")                                //> sayHello ; toms
  
  def sayHelloDefault(name : String ,left : String  = "Nobody") {  println(left + name)  }
                                                  //> sayHelloDefault: (name: String, left: String)Unit
  def sayHis (names : String *) {
    for(e <- names ) println("Hi," + e)
    
  }                                               //> sayHis: (names: String*)Unit
  sayHis("tom" , "jerry")                         //> Hi,tom
                                                  //| Hi,jerry
  //sayHelloDefault("hhh");
  
 

  try {
    2 / 0
  } catch {
    case _: Exception => println("error!!!")
  } finally {
    println("overed !!!")
  }                                               //> error!!!
                                                  //| overed !!!
                                                  //| res1: AnyVal = ()
  //壹贰叁肆伍陆柒捌玖拾佰仟
  import scala.collection.mutable.ArrayBuffer
  var ab = ArrayBuffer[Int]()                     //> ab  : scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer()
  ab += 1                                         //> res2: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1)
  ab += (2, 3, 4)                                 //> res3: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 2, 3, 4)
  ab ++= Array(5, 6, 7)                           //> res4: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 2, 3, 4, 5,
                                                  //|  6, 7)
  ab.trimEnd(2)
  ab                                              //> res5: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 2, 3, 4, 5)
                                                  //| 

  ab.insert(2, 6)
  ab                                              //> res6: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 2, 6, 3, 4,
                                                  //|  5)

  ab.insert(2, 9, 8, 7) // 插入多个值
  ab                                              //> res7: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 2, 9, 8, 7,
                                                  //|  6, 3, 4, 5)
  ab.remove(2)                                    //> res8: Int = 9
  ab                                              //> res9: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 2, 8, 7, 6,
                                                  //|  3, 4, 5)
  ab.remove(2, 4)
  ab                                              //> res10: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 2, 4, 5)

  var bar = ab.toArray                            //> bar  : Array[Int] = Array(1, 2, 4, 5)
  bar                                             //> res11: Array[Int] = Array(1, 2, 4, 5)
  var buf = bar.toBuffer                          //> buf  : scala.collection.mutable.Buffer[Int] = ArrayBuffer(1, 2, 4, 5)
  buf                                             //> res12: scala.collection.mutable.Buffer[Int] = ArrayBuffer(1, 2, 4, 5)
  val s = Array("hello", "world")                 //> s  : Array[String] = Array(hello, world)

  for (e <- s) println(e)                         //> hello
                                                  //| world
  s(0) = "java"
  s                                               //> res13: Array[String] = Array(java, world)
  for (i <- 0 until s.length) println(s(i))       //> java
                                                  //| world
  // 反序 遍历
  for (i <- (0 until s.length).reverse) println(s(i))
                                                  //> world
                                                  //| java

  val a = Array(8, 2, 3, 6, 9, 10)                //> a  : Array[Int] = Array(8, 2, 3, 6, 9, 10)
  var b = a.filter(_ % 2 == 0)                    //> b  : Array[Int] = Array(8, 2, 6, 10)

  // 数组中的偶数 分别+2
  var c = a.filter(_ % 2 == 0).map(2 + _)         //> c  : Array[Int] = Array(10, 4, 8, 12)
  // 这是空格
  var d = a.filter(_ % 2 == 0) map (2 + _)        //> d  : Array[Int] = Array(10, 4, 8, 12)
  a.sum                                           //> res14: Int = 38
  a.max                                           //> res15: Int = 10
  a.sorted                                        //> res16: Array[Int] = Array(2, 3, 6, 8, 9, 10)
  // scala for  impletion

  //var e = ArrayBuffer(1,7,2,9).sorted[ _ >: _]

  d.mkString("<", ";", ">")                       //> res17: String = <10;4;8;12>
  def fac(n: Int): Int = {
    if (n <= 1) 1 else fac(n - 1) * n
  }                                               //> fac: (n: Int)Int
  
  var f = fac(5)                                  //> f  : Int = 120

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值