赞
踩
for循环返回值是Unit
原因是防止产生歧义;
// 2.yield关键字打破循环,可以使for循环输出返回值为一个域(取最后一行执行结果,如下),请注意写法;
var array = Range(1,10,2)
var result = for (elem <- array) yield{
elem
elem * 2
elem * 3
}
println(result) //Vector(1, 3, 5, 7, 9)
// 4.while循环
/*
while循环和java一样,但是多了一个do while循环,会先打印执行结果后执行判断条件
*/
do{
println("先打印")
}while(false)
// 先打印
scala中没有break,continue原因是其不是面向对象的,也可以用其他语法代替
continue使用if else代替
break使用面向方式代替,底层抛出for循环异常,外层捕获异常
for ( i <- Range(1,10,2)){
// 平替continue
if (i == 3) {} else println(i)
// 平替break
if (i>=9) Breaks.breakable()
}
println("main")
1
5
7
9
main
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。