在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/n/150874.html