Scala中for循环的使用
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+",");
}
}
本文来自博客园,作者:zhuzhu&you,转载请注明原文链接:https://www.cnblogs.com/zhuzhu-you/p/14572011.html