1. 程式人生 > >Scala入門(一)

Scala入門(一)

一,變數定義
Scala變數修飾符:var;val
二,資料型別
需要注意的點:
在這裡插入圖片描述
三,object和class
scala 中沒有 static 關鍵字,scala 的object 中所有成員變數和方法 預設(相對於java)都是 static 的
四,Scala表示式
if條件表示式;塊表示式(塊中最後一個表示式的值就是塊的值,其中賦值表示式也有返回值,返回值為unit);

object  qq{
  val x = 0
  //在 scala 中{}中課包含一系列表示式,塊中最後一個表示式的值就是塊的值(如下:)
  val result = {
    if (x < 0){ -1 } else if(x >= 1) { 1 } else {"error"}
  };println(result)		 //>>error   result 的值就是塊表示式的結果

  val result2 = {if (x < 0){ -1 } else{"error"};val a =5};println(result2) //>>5  因為最後一個表示式是5 結果看到了,本來這個式自的值是error 加了一個最後的快5 就是5了
  def main(args: Array[String]): Unit = {
    //沒結果 說明ww沒載入
    //沒有呼叫這倆方法 卻列印了 說明main方法吧 JVM勾引過來了,,
    // 然後就是不能有兩個object
 }
}

結果
error
()

迴圈for和while表示式
五,方法和函式
1.定義方法
在這裡插入圖片描述
2.定義函式
在這裡插入圖片描述
函式可以是方法的引數,函式可以是函式的引數,方法可以是方法的引數。
3.將方法轉換成函式
在這裡插入圖片描述
六,Scala陣列
1.定長陣列array和變長陣列arrayBuffer,轉換時呼叫toBuffer和toArray的方法
2.遍歷陣列:for;to;until
3.陣列轉化:yield
在這裡插入圖片描述
4.陣列常用演算法
在這裡插入圖片描述
七,Scala集合相關
Scala集合三大類:
1.序列seq(list)
序列常見操作:
採用::及 Nil 進行列表構建:val nums = 1 :: (2 :: (3 :: (4 :: Nil)))
判斷是否為空:nums.isEmpty
取第一個無素:nums.head
取除第一個元素外剩餘的元素,返回的是列表:nums.tail
取列表第二個元素:nums.tail.head
List 連線操作:List(1,2,3):::List(4,5,6)
取除最後一個元素外的元素,返回的是列表:nums.init
取列表最後一個元素:nums.last
列表元素倒置:nums.reverse
2.集合set
3.對映map
集合分為可變mutable和不可變inmutable型別
在這裡插入圖片描述


{Nil:空列表
:: 表示將給定的頭和尾建立一個新的列表(右結合)}

在這裡插入圖片描述
4.元組tuple
對映是k/v是對偶的集合,對偶是元組的最簡單形式,元組可以裝著多個不同型別的值
在這裡插入圖片描述
在這裡插入圖片描述
將對偶的元組轉成集合
在這裡插入圖片描述
元組拉鍊操作
在這裡插入圖片描述