在scala編程中,循環是非常常見的操作。而在循環語句中,for循環是最常用的一種。本文將通過多個方面對scala for循環進行詳細闡述,並給出對應的代碼示例。
一、scala for循環怎麼寫
在scala中,for循環包含三個部分,分別是:初始化部分、條件部分、步進部分。其中,初始化部分一般是定義一個變量或者聲明一個集合,條件部分是一個簡單的布爾表達式,步進部分是對變量進行增量或者減量操作。
for循環的基本語法如下:
for( i <- 0 until 5) {
println("i = " + i)
}
其中,0 until 5表示循環的範圍是從0到4,這裡的until是一個關鍵字,表示左閉右開,不包含5。
我們也可以使用to關鍵字表示左閉右閉的區間:
for( i <- 0 to 5) {
println("i = " + i)
}
關鍵字to將會包括5在循環範圍內。
二、scala跳出for循環
在遇到某些特殊情況時,我們需要從for循環中跳出,可以通過break關鍵字實現。
示例代碼如下:
for( i <- 0 to 5) {
if(i == 3) break
println("i = " + i)
}
執行上述代碼後,輸出結果為:
i = 0
i = 1
i = 2
在i等於3時,break語句跳出了循環,因此後面的內容沒有被執行。
三、scala for循環99乘法表
99乘法表是學習編程的經典例題,下面給出scala實現的示例代碼:
for( i <- 1 to 9; j <- 1 to 9) {
if(j <= i) {
print(j + " * " + i + " = " + (i * j) + " ")
}else {
println()
}
}
代碼中的i和j使用分號進行分割,表示同時遍歷兩個列表。當j小於等於i時,打印出乘法表的每一項,否則換行。
執行上述代碼後,輸出結果如下:
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64
1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81
四、scala for循環從01到31
我們可以通過左填充0的方式,將數字從1填充到31的字符串列表生成出來:
val list = for( i <- 1 to 31) yield "%02d".format(i)
list.foreach(println)
代碼執行後,輸出結果如下:
01
02
03
...
29
30
31
五、scala for循環until及步長
如果想要在for循環中指定步長,可以使用by關鍵字,如下所示:
for (i <- 0 until 10 by 2) {
print(i + " ")
}
上述代碼中,步長為2,從0開始循環到10,輸出結果為:
0 2 4 6 8
六、scala while循環選取
除了for循環,scala中也支持while循環。例如,我們可以在while循環中選取滿足某個條件的元素:
val arr = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
var i = 0
while(i < arr.length && arr(i) < 8) {
i += 1
}
println(i)
上述代碼中,我們定義了一個數組arr,然後通過while循環從數組中選取滿足條件 arr(i) < 8 的元素,並統計選取的元素個數。
執行上述代碼後,輸出結果為6,表示選取了前6個元素。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/150874.html