1.條件表示式
objectconditiondemo
}
2.塊表示式
val result =else
if(x >= 1
) else
}
塊表示式中一般最後乙個引數就是表示式的返回值。
3.迴圈語句
for迴圈 1 to 10 ,to是乙個方法,是將1到10資料產生
for的格式1: for(i <- res1)object
fordemo
}練習:將乙個1到9的資料中的偶數取出來。
//使用val更加的節省資源
val a1=array(1,2,3,4,5,6,7,8,9
)val a1=for(i<- a1;if(i%2==0)) yield i
練習:filter過濾
a1.filter(_%2==0)
_表示每次輸出的值
for迴圈通過角標開始
for(i <- 1to a1.length)
println(a1(i-1))
for(i <- 1until a1.length)
println(a1(i))
to是的操作,until是(]的操作
1 to 10 等同於 1.to(10)
5.在scala中是不存在操作符運算的,運算的底層都是使用方法來完成的。
scala>1-3res1:int = -2
scala>1.-(3
)res2:double = -2.0
對於為什麼返回的是乙個double,這是因為它將第乙個1當做是double運算的,所以後來大印的就是double。
測試方法:將3定義成乙個val a的值,1.-(a)結果仍為double,將1定義為乙個val b的值,a.-(b)結果是int。
在原始碼中,方法的返回的型別和輸入的引數是和傳入引數有關的。
6.方法和函式
方法定義 def 方法名(引數列表):返回值型別 = 操作
方法定義:def m1(a:int,b:int):int = x*y
方法呼叫
m1(3,5
)不寫返回值的型別
def m1(a:int,b:int) = x*y
注意:但是遞迴是必須要有返回值型別的。
7.函式定義
定義乙個函式,無名函式(x:int,y:int)=>
有名函式
val f1=(x:int,y:int)=>
呼叫f1(引數)
8.函式有乙個特性就是可以作為引數傳入到方法裡面。
定義乙個函式val f3=(x:int)=>x*10
準備乙個陣列,將陣列的值進行函式f3的操作
val a1=array(1,2,3,4,5,6,7,8,9
)a1.map(f3)
這也就是說函式式程式設計可以將資料的進行任意操作,這也是他的靈活性。
9.方法是通過方法名進行呼叫,函式是可以作為引數進行傳遞的。
10.a1.map(_*100) 將a1中資料乘以10.這個是不定義函式,也可以定義匿名函式
匿名函式a1.map((x:int)=>x*100)
但是在a1中的引數都是知道的,這個時候就不需要指定資料的型別
a1.map(x=>x*10)
當然了最簡單的方式是
a1.map(_*100)
11.下劃線的作用
將方法轉化為函式,如果乙個函式的邏輯和方法的邏輯相同,那麼就可以使用下面的方法將方法轉換為函式。
def testzhanshu(x:int,y:int):int =
將上面的方法轉換為函式val fun2 = testzhanshu_
總結:函式和方法的最大區別在於,函式可以作為引數進行傳遞。
定義函式的方式
val fun=(x:int,y:int)=>操作val fun1 = (x:int,y:int)=>返回值[可以為任意的,可以是乙個元祖
返回值型別是可以設定的,也可以不需要設定的,因為元函式的返回值是可以自己推斷出來的。] =
val fun2:(int,double)=>(double,int)=
遞迴必須有返回值型別的
加入說沒有返回值的時候,這個時候返回值是unit,呼叫之後,返回值是乙個()
scala 基礎知識
1.def 定義的是乙個方法,用下劃線可以轉換為方法 2.window 換行符是 r n linux n 逐雲 windows 安裝scala編譯器 linux安裝scala編譯器1.變數宣告 object 型別代表 乙個helloworld的例項 object helloworld 2.常用型別 ...
基礎知識 二
1,較大陣列應該在main函式外宣告,否則可能因為 他作為臨時變數在堆疊段中佔據的空間過大,棧溢位 2,string.h memcpy b,a,sizeof int k a b 複製k個元素 memcpy b,a,sizeof a a b memset a,0,sizeof a 將陣列全部填充為零 ...
基礎知識 二
1.物件導向的基本特徵 封裝 繼承 多型 2.內連線與外連線的區別 內連線需要保證兩個表中的所有行都滿足連線條件 而外連線則不然 外連線不僅包含符合連線條件的行 還包括左表 右表或兩個邊接表中所有資料行 3.事務是資料庫中乙個單獨的執行單元 事務的三個特性是 acid,分別是原子性 一致性 隔離性 ...