scala 語句
scala 語句默認就是一行,要是一行裏面多行就用分號等隔開。
塊表達式,指的是 {} 中的值,其中可以包含多條語句, 最後一個語句的值就是快表達式的值。
Scala 輸入輸出
可以直接使用 Java 的 System.out.println 這一類,也可以直接使用 println 和 print ,格式化輸出可以使用 printf。
readLine 允許我們從控制帶讀取用戶輸入的數據,類似 Scanner 和 System.in 的作用。
循環
while do 循環使用和 Java 中一樣。
for 循環不支持類似這種
for (int i = 0; i < n; i ++ )
但是可以這個樣子:
var n = 10
for(i <- 1 to n )println(i + " ")
使用 until 可表示不達到上限,如下輸出爲 1 - 9。
var n = 10
for (i <- 1 until n) println(i)
還可以直接遍歷字符串,比如:
for (c <- "Hello World")println(c)
輸出結果就是每個字符都是一行。
跳出循環語句:scala 裏面沒有 break,使用 boolean 類型變量或者 return 或者 Breaks 的 break 函數來代替。
多重 for 循環:
for (i <- 1 to 9 ; j <- 1 to 9)
if 守衛:
for (i <- 1 to 10 if i % 2 == 0) print(i)
for 推導式:
for (i <- 10) yield i
推導式會將這個東西構造成集合。
scala 函數
scala 既可以面向對象又可以面向語言。
定義函數用 def 開頭,和 python 差不多.
def getName(name:String) = {
函數內容
}
沒有等於號默認沒有返回值。
代碼最後一行的返回值就是函數的返回值,不適用 return。
如果在函數體內遞歸調用函數體,則必須手動給出函數的返回類型。
如果我們調用時不給出參數的具體值,使用自身的默認值,就需要在定義函數時就定義,這樣子傳遞參數的時候就可以不傳這個。
在調用函數的時候,可以不按照函數定義的參數順序來傳遞參數,使用帶名參數的方式來傳遞。
當然還可以混合使用,但是未命名參數必須要填寫在前面。
函數的變長參數
scala 中可能需要將函數定義的參數個數爲可變的形式,此時需要使用變長參數。
要是有返回值一定要有 = 。