文章目录
1.循环返回值
for循环返回值是Unit
原因是防止产生歧义;
2.yield接收for返回值
// 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)
3.scala调用yield方法创建线程对象
4.scala中的while循环
// 4.while循环
/*
while循环和java一样,但是多了一个do while循环,会先打印执行结果后执行判断条件
*/
do{
println("先打印")
}while(false)
// 先打印
5.scala中的流程控制
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