1.while循环
Scala的while循环跟其他语言并没有很大差别。
var i = 0; while(i<args.length){ println(i); i+=1; }
Scala也有do-while循环,只不过他是在循环体之后执行条件检查而不是在循环体之前。
var i = 0; do{ println(i); i+=1; }while(i<args.length)
2.for循环
(1)通过arg <- args 这样生成器语法,遍历args的元素。
for(arg <- args){ println(arg); }
(2)还可以用for遍历range
for(i <- 1 to 5)//包含5 println(i); for(i <- 1 until 5)//不包含5 println(i);
(3)还可以给for表达式添加过滤器,过滤要遍历的集合,过滤器是for表达式的圆括号中的if子句
for(file <- filesHere if file.isFile) println(file);
(4)嵌套循环,添加多个<-子句可以得到嵌套循环。
for(i <- 1 to 3){ for(j <- 4 to 6) { println(i +" "+ j) } } for(i <- 1 to 3;j <- 4 to 6) //这两种方式是等效的 println(i +" "+ j)
下面是在嵌套循环中使用 if
for(i <- 1 to 3 if(i!=2);j <- 4 to 6 if(j!=5)) println(i +" "+ j)
(5)我们可以使用yield关键字把for循环的每次迭代生成一个可以被记住的值。
语法:for 字句 yield 代码体
for{ file<-filesHere }yield file
for表达式的代码体每次被执行,都会产生一个值,当for循环执行完毕后,其结果将包含所有值,包含在一个集合当中
来源:https://www.cnblogs.com/zzhangyuhang/p/8654446.html