1. 程式人生 > >scala與java的區別

scala與java的區別

1、scala與java都有7中數值型別:int、short、long、byte、float、double、boolean這7種,但是scala中這7種值型別是類,在java中屬於基本型別,java中,資料型別分成基本型別和引用型別,scala中不區分。
2、scala中的變數或函式的型別總是寫在變數或者函式名的後面
3、scala中的操作符與java中的操作符沒有什麼不同,但是在scala中,操作符是方法,在java中操作符不是方法,且在scala中,除了字母數字之外的其他特殊字元也可以作為方法
4、scala中的萬用字元是_,java中的萬用字元是*
5、scala中的unit相當於java中的void
6、scala中的if/else的表示式與java中的差不多,但是scala中有值
7、scala中沒有static,但是可以用object來達到java中相同的效果,scala中的object可以實現單例物件
8、scala支援關聯對映,如可以用(key -> value)表示一個鍵值對
9、scala包含兩種型別的變數,val變數相當於java中的const,var則是常規變數
10、scala具有型別推斷功能,在可由上下文推斷的情況下,可以省略型別說明,如:val x = 4
11、scala通過def關鍵字定義函式,在預設顯式return語句的情況下,返回函式最後計算得到的值
12、scala採用println直接輸出到標準輸出,而不用System.out.println
13、scala中的陣列索引是args(0),而非java中的args[0]
14、scala包含新的容器物件Tuple,元組可以包含多個不同型別的物件
15、scala沒有”++”操作符
16、scala提倡函數語言程式設計風格,減少var變數的使用,這樣可以得到簡潔可讀性更強的程式碼