scala之循环
循环控制
for循环
var array = 1 to 5;
var array1 = 1 until 5;
var array2 = Range(1, 5);
for (i: Int <- array) {
println(i)
}
for (i: Int <- array1) {
println(i)
}
for (i: Int <- array2) {
println(i)
}
for (i <- array2) {
println(i)
}
循环守卫
var array2 = Range(1, 5);
for (i <- array2 if i!=3) {
println(i)
}
设置步长
var array3 = 1 to 5 by 2;
for (i <- array3) {
println(i)
}
for (i <- Range(1,6,2)) {
println(i )
}
双层for循环
for (i <- 1 to 5; j <- 1 to 5) {
println(i + " " + j)
}
引入变量
for (i <- 1 to 5) {
var j = i - 1;
println(i + " " + j)
}
// 简化
for (i <- 1 to 5; j = i - 1) {
println(i + " " + j)
}
for循环的返回值
如果想要将集合中的数据进行处理后返回,可以采用特殊的关键字:yield
var result=for(i<-1 to 5) yield{
i*2
}
println(result);
java中现场对象有yeild方法,在scala中如何调用
Thread.`yield`()
while循环
while (true){
println("*")
}
循环中断
scala中没有break,continue
import scala.util.control.Breaks
import scala.util.control.Breaks._
Breaks.breakable {
for (i <- 1 to 5) {
if (i == 3) {
Breaks.break()
}
println("i=" + i)
}
}
breakable {
for (i <- 1 to 5) {
if (i == 3) {
break()
}
println("i=" + i)
}
}
println("结束")
本文来自博客园,作者:King-DA,转载请注明原文链接:https://www.cnblogs.com/qingmuchuanqi48/articles/18176247

浙公网安备 33010602011771号