scala的一些知識點(一)

2021-08-29 01:12:02 字數 1344 閱讀 7902

函式:

val sum = (x:int,y:int) =>

方法: def sum(x:int,y:int) =

//定義方法

def m1(x:int,f:int=>int) = f(x)

def m2(f:(int,int) => int) = f(2,3)

def m3(f:(int,int)=>int,x:int,y:int) = f(x,y)

//定義函式

val ff1 = (x:int) =>

val ff2 = (x:int,y:int) =>x+y

val ff3 =(x:int,y:int) =>x+y

//執行

m1(1,ff1)

m2(ff2)

m3(ff3,2,3)

**塊:

{} 乙個大括號就是乙個**塊,**塊都有返回值,就是最後一部分**

if分支語句:

val a = 10

val i = if(a>0) 1 else if(a<0) 2

println(i)

--------

1 to 10 代表 [1,10]

1 until 10 代表 [1,10)

val a = 1 to 10

--------

val arr = array(1,2,3,4)

----

for迴圈

for(a<-arr)

//可以遍歷陣列

for(i<- 0 to arr.length -1 )

for(i<- 0 until arr.length)

----

迴圈結果*10構建乙個新的集合

val arr2 = for(i<- 0 until arr.length) yield arr(i)*10

---雙重for迴圈

val a = array(1,2,3,4)

val b = array(1,2,3,4)

for (i<-0 until a.length;j<-0 until b.length if i==j) println(a(i),b(j))

---val a +=1

val a -=1

但是沒有a++,a--

-----

九九乘法表

for(i<- 1 to 9;j<- 1 to i)

----

方法轉函式

val sum2 = sum _

---array是定長的

arraybuffer是可變的

相互轉換就用tobuffer和toarray

一些知識點

字串拼接 1.a join b a為元素之間的分隔符,b為待分割的序列 可用於輸出時的資料處理,元素間有空格,末尾沒有 2 s s s str1,str2,str3 前半部分為字串,後半部分為索引。用於引入,s是物件 3.format str1,str2,str3 與f 括號裡為已有變數 關於for...

一些知識點

1.vector是在堆上還是棧上?在堆上.2.我們發現指標有一些 似是而非 的特徵 1 指標消亡了,並不表示它所指的記憶體會被自動釋放。比如函式中的指標是區域性變數,如果它指向了堆上,而自己出了函式後消亡了,但它所指向的記憶體還是存在的,導致了記憶體洩漏.2 記憶體被釋放了,並不表示指標會消亡或者成...

一些知識點

1 sln 解決方案檔案 csproj 專案檔案 cs 原始檔 解決方案包含多個專案,每個專案都是乙個程式。config 配置檔案 3 const int a 1 const 定義乙個量為常量,運算中用到當常量使用,不可以再重新賦值。4 型別轉換。1 隱式轉換。從值型別轉換成引用型別。從引用型別轉換...