Scala学习(二)条件控制与循环

发布时间 2023-06-18 17:26:00作者: 董振

1、if语句:var a=20;

  var n= if(a>10) 40 else 1;

  得到n=40

 2、类型推断:

if(a>40) 40 else "dsaf" 返回的是父类型Any

if (a>10) 40

如果后面没有跟else语句,则默认返回Unit类型。相当于java中的void或null;

上面的语句相当于 if(a>10) 40 else ()

3、while循环

var n=10

while(n>1){

println(n)

n-=1

}

4、scala没有for循环,只能用while循环,或者简易版的for循环

var n=10; for(i<- 1 to n ) println(i)

或者使用until  : for(i<- 1 until n) println(i)

也可以对字符串进行循环: for (i <-"heelo world") println(i)

5、跳出循环语句

scala没有类似java的break语句,只能通过条件判断或者return或者Breaks的break函数来替代,

 

:paste

import scala.util.control.Breaks._

breakable{

  var n=10;

  for(i<- 1 to n){

    println(n);

    if(n==5) break;

    n-=1;

  }

}

6、多重for循环

for(i <- 1 to 10 ;j<- 1 to 10){

  if(j ==9){

    println(i*j)

  }else{

    print(i*j+" ")

  }

}

7、if守卫;取偶数

for(i<- 1 to 100 if i % 2==9) print(i)

8、推导式:构造集合

for(i<- i to 10) yield i