1、 if表達式
2、 句終結符、塊表達式
3、 輸入與輸出
4、 循環
5、 高級for循環
1、 if表達式
if表達式的定義:scala中,表達式是有值的,就是if或者else中最后一行語句返回的值(和java區別)。可以將if表達式賦予一個變量,也可以提前定義一個變量,通常使用第一種寫法。
if表達式類型推斷:if表達式式有值的,如果if返回值類型和else返回值類型不同時,scala會自動推斷,取兩個類型的公共父類型(Any是Int 和String的父類型)。If后面沒有跟else,則默認else的值為Unit,也用()表示,類似於java中的void和null。
將if語句放在多行中:默認情況下,REPL只能解釋一行語句,但if表達式通常需要放在多上,可以用{}的方式比如以下方式,或者使用:paste和ctrl+D的方式。
2、 語句終結符、塊表達式
默認情況下,scala不需要語句終結符,默認每行作為一個語句。
一行放多條語句:如果一行放多個語句必須使用語句終結符,通常來說,對於多行語句,還是會使用花括號的方式。
塊表達式:塊表達式,值的就是{}中的值,其中包含多條語句,最后一個語句的值就是塊表達式的返回值。
3、 輸入與輸出
print和println:print打印時不加換行符,println打印時會加一個換行符。
printtf:可以用於格式化,相當於占位符。
readLine:從控制台中讀取用戶輸入的數據。
4、 循環
While do循環:scala中while do循環,基本語義和java相同。
Scale中無for循環,只能使用while代替for循環,或者使用簡易版的for語句。簡易版for語句如下圖,或者使用until,表達不達上限,也可以對字符串進行遍歷,類似於java的增強for循環。
Scala跳出循環:scala沒有類似java的break,可以使用boolean類型變量、return或者Breaks的break函數來替代使用。
5、 高級for循環
多重for循環:九九乘法表
if守衛:取奇數
for推導式:構造集合