if else
有返回值,如果多个逻辑控制代码块,返回不同的值,则返回为:Any
/*
* if else
* */
var a = 10
//自动推断
val desc = if(a>10){
"a大于10"
}else if(a==10){
50
}else{
"a小于10"
}
println(desc)
while循环
返回值类型为Unit——(),即为空
/*
* while循环,没有返回值
* */
while(a<15){
println("a="+a)
a+=1
}
/*
* while的中断
* 1、使用Boolean的flag来控制
* 2、使用嵌套函数,从函数中return
* 3、使用Breaks对象的break方法
* 将需要中断的代码块放到breakable中,
* */
import scala.util.control.Breaks
val loop = new Breaks
var count =0
loop.breakable{
while(count <=100){
count += 1;
println(count)
if(count == 10){
loop.break()
}
}
}
for循环
/*
* for循环
* */
//双层嵌套,to前闭后闭,默认升序
for(i<-1 to 3;j <- 1 to 3 ){
println(i+" "+j)
}
//从10开始,步长为-1,值为0时终止,前闭后开
for(i <- Range(10,0,-1)){
println(i)
}
//until前闭后开,默认升序
for(i<-1 until 10){
println(i)
}
/*
* for循环的保护
* */
for(i <- 1 to 10 if i % 2 == 0){
println("------"+i)
}
/*
* 将遍历的结果返回到一个集合中,并返回给前面变量,使用yield关键字
* */
val result = for(i<-1 to 10) yield i
//返回IndexedSeq,Vector(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
println(result)