Scala學習筆記1 Scala基礎

2021-09-24 22:45:45 字數 1940 閱讀 5884

特點:

先編譯:scalac ***.scala 再執行:scala ***

值與變數:

常用型別:byte,char,short,int,long,float,double,boolean

方法定義: 迴圈

lazy val:用時才會載入

lazy val a = 2

預設引數:

def sayname(name : string = "jack") 

def main(args : array[string])

帶名引數

def add(x : int, y : int) : int = 

def main(args : array[string])

變長引數

def sum(elems : int*) 

def main(args : array[string])

異常處理

try  catch  finally

定長陣列

val a = new array[string](5) //5個null

val a = new array[int](5) //5個0

val a = array("jack","lucy") //直接初始化

a(0)//訪問陣列

變長陣列

import scala.collection.mutable.arraybuffer

val buff = arraybuffer[型別]()

val a = arraybuffer[int]()

a += 1 //新增元素

a += (3,4,5)

a ++= array(6,7,8)

a.insert(0,0) //第0個位置填上數字0

a.remove(0,1) //刪除0,1兩個數字

a.toarray //變為定長陣列

a.toarray.sum

a.toarray.max

a.trimend(2) //移除最後面的兩個數

陣列的遍歷

for(i <- 0 until array_name.length)

println(array_name(i))

for(elem <- array_name)

println(elem)

//更多的將採用map,filter操作

map

val age = map("jack" -> 20, "lucy" -> 18) //不可變map

val age = scala.collection.mutable.map("jack" -> 20, "lucy" -> 18) //可變map

val m = scala.collection.mutable.map[string,int]()

//初始化乙個map

map操作

//訪問

age("jack") //訪問鍵值為jack的元素

m.getorelse("jack",0) //有鍵值取值,沒有返回0

//更新

age("aa") = 2

age += ("bb" -> 3, "cc"->4)

age -= "aa"

//迭代

for ((k,v) <- m)

age.keyset //鍵集合

age.values //值集合

元組

scala學習筆記(1)

在eclipse中建立乙個scala project,名稱為helloworld 在projet中建立乙個package 然後新建乙個scala object,例如test.scala code package main.scala object hi 在eclipse中執行test.scala 上...

Scala學習筆記

scala學習筆記 一.scala中集合的常用方法 首先定義兩個陣列集合,用於測試 scala val arr1 array 1,2,3,4 arr1 array int array 1,2,3,4 scala val arr2 array 3,4,5,6 arr2 array int array ...

Scala學習筆記

1 閉包 var a 3 var addfun x int x a var b addfun 10 println b addfun 就是個和物件無關的函式,區域性變數,使用方法和函式一樣,但是好像不推薦這種寫法。2 類的建立,簡單使用abstract class bparent 構造函式引數會自動...