Scala中的for循環:
一.第一種實現方式:(生成器表達方式)
object OntFor {
def main(args:Array[String]) : Unit ={ for (i <- 0.to(10)) {
//(i <- 0 to 10)
println(i+","); } }
} 輸出結果:1,2,3,4,5,6,7,8,9,10,
二.使用until生成1到10范圍內的數據,包左包右(相當於10-1)
object UntilFor {
def main(args:Array[String]):Unit={
for (i <- 0.until(10)) print(i}+",");
//(i <- 0 until 10)
}
}
輸出結果為:1,2,3,4,5,6,7,8,9
三.在第一種實現方式的基礎上加上步長限制輸出結果
object OntFor {
def main(args:Array[String]):Unit = { 、
for (i <- 0.to(10) by 2) {
print(i+",");
}
}
}
字段解釋: i: 相當於java中的變量
0.to(10): 0到10的自然數
by 2: 輸出結果隔(2-1)個輸出,不夠的不輸出
結果: 1,3,5,7,9
四.利用步長使指定元素為倒敘輸出或使用reverse關鍵字
object OntForBy {
def main(args:Array[String]): Unit={
for (i <- 10.to(1) by -1) {
print(i+",")
}
for (i <- 1.to(10) reverse) print(i+",");
}
兩個輸出結果同為: 10,9,8,7,6,5,4,3,2,1, }
五.循環守衛模式:(守衛模式就是在循環內添加判斷語句)
object ShouWeiFor{
def main(args:Array[String]):Unit={
//當循環中的數據滿足模與2等於0時打印對應數據
for (i <- 0 unitl 10 if i%2==0) print(i+",");
}
}
六. 循環嵌套
object QianTaoFor {
def main(args:Array[String])"Unit = {
for (i <- 1.to(10); j <- 1.to(10)){
print(i + "+" + j + "=" + (i + j) + "\t");
}
}
}
七.循環帶返回值,利用守衛規則歸並數組中的偶數到新的數組中
object QianTaoFor {
def main(args:Array[String]):Unit={
var res = for (i <- 1.to(10); if (i % 2 == 0)) yield i
for (e <- res) print(e+",");
}
}