函式:
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 隱式轉換。從值型別轉換成引用型別。從引用型別轉換...