更新時間:2020年12月17日16時36分 來源:傳智教育 瀏覽次數:
在Scala中,控制結構語句包括條件分支語句和循環(huán)語句。其中,條件分支語句有if語句、if...else語句、if...else if...else語句以及if...else嵌套語句;循環(huán)語句有for循環(huán),while循環(huán)和do...while循環(huán)。條件分支語句和循環(huán)語句的語法格式具體如下。
1.條件分支語句
if 語句的語法格式如下:
if (布爾表達式){ 如果布爾表達式為true,則執(zhí)行該語句塊 }
if...else語句的語法格式如下:
if (布爾表達式){ 如果布爾表達式為true,則執(zhí)行該語句塊 } else{ 如果布爾表達式為false,則執(zhí)行該語句塊 }
if...else if...else語句的語法格式如下:
if (布爾表達式1){ 如果布爾表達式1為true,則執(zhí)行該語句塊 } else if(布爾表達式2){ 如果布爾表達式2為true,則執(zhí)行該語句塊 } else if(布爾表達式3){ 如果布爾表達式3為true,則執(zhí)行該語句塊 } else { 如
if...else嵌套語句的語法格式如下:
if (布爾表達式1){ 如果布爾表達式1為true,則執(zhí)行該語句塊 if(布爾表達式2){ 如果布爾表達式2為true,則執(zhí)行該語句塊 } }else if (布爾表達式3){ 如果布爾表達式3為true,則執(zhí)行該語句塊 else if (布爾表達式4){ 如果布爾表達式4為true,則執(zhí)行該語句塊 } }else{ 如果以上條件都為false,則執(zhí)行該語句塊 }
接下來,通過一個判斷變量值的案例來演示條件分支語句的使用。假設現在要判斷一個變量是否等于5,如果是5,則打印出“a的值為5”,如果不是5,則判斷該變量是否等于10,如果是10,則打印出“a的值為10”,否則的話,打印出“無法判斷a的值”,示例代碼如下:
scala> var a=5 a: Int = 5 scala> if(a==5){ | println("a的值為5") | }else if(a==10){ | println("a的值為10") | }else{ | println("無法判斷a的值") | } a的值為5
2.循環(huán)語句
Scala中的for循環(huán)語句和Java中的for循環(huán)語句在語法上有較大的區(qū)別,對于Java的for循環(huán),大家都應該很清楚了,這里就不作贅述。接下來,我們介紹一下Scala中的for循環(huán)語句。
for循環(huán)語句的語法格式如下: for(變量<-表達式/數組/集合){ 循環(huán)語句; }
下面,我們通過從0循環(huán)到9,每循環(huán)一次則就將該值打印輸出進行操作演示。在Scala語法中,我們可以使用“0 to 9”表示從0到9的范圍,范圍包含9,示例代碼如下:
scala> for(i<-0 to 9){ | print(i+" ") | } 0 1 2 3 4 5 6 7 8 9
Scala在for循環(huán)語句中可以通過使用if判斷語句過濾一些元素,多個過濾條件用分號分隔開。例如,輸出0-9范圍中大于5的偶數,示例代碼如下:
scala> for(i<-0 to 9;if i%2==0;if i>5){ | print(i+" ") | } 6 8
Scala中的while循環(huán)語句和Java中的完全一樣,只要表達式為true,循環(huán)體就會重復執(zhí)行。Scala中while循環(huán)語句的語法格式如下:
while(布爾表達式){ 循環(huán)語句; }
下面,我們通過打印輸出奇數的案例來演示while的使用。假設有一個變量x=1,判斷是否小于10,如果是則打印輸出,然后再進行+2運算。示例代碼如下:
scala> var x = 1 x: Int = 1 scala> while(x < 10){ | print(x+" ") | x += 2 | } 1 3 5 7 9
do...while循環(huán)語句的語法格式如下:
do{ 循環(huán)語句; }while(布爾表達式)
do...while循環(huán)語句與while語句主要區(qū)別是,do...while語句的循環(huán)語句至少執(zhí)行一次。接下來,通過數字遞增案例演示do...while的使用。假設一個變量x=10,先打印輸出,然后再進行+1運算,再判斷是否小于20,如果是則進行循環(huán)。示例代碼如下:
scala> var x = 10 x: Int = 10 scala> do{ | print(x+" ") | x += 1 | } | while(x < 20) 11 12 13 14 15 16 17 18 19
HDFS分布式文件系統(tǒng)的優(yōu)點缺點分別是什么?