Scala 【 3 循環、函數和參數 】

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 中可能需要將函數定義的參數個數爲可變的形式,此時需要使用變長參數。

要是有返回值一定要有 = 。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章