(Windows)Scala学习2--控制结构

时间:2022-09-08 17:16:17
  • if语句和while语句基本与java相似,有一点不同的是,scala中if表达式的值可以赋值给变量,例如:
val x = 6
val a = if (x>0) 1 else -1

 

var i = 9
while (i > 0) {
    i -= 1
    printf("i is %d\n",i)
}


var i = 0
do {
    i += 1
    println(i)
}while (i<5)
  •  for循环格式如下

for(变量<-表达式)语句块    其中,括号部分被称为“生成器(generator)” 例如:

for (i <- 1 to 3) println(i)

 返回值:

1
2
3

 还可以改变步长,例如:

for (i <- 1 to 5 by 2) println(i)

 返回值:

1
3
5

 添加控制条件:

for (i <- 1 to 5 if i%2==0) println(i)

 返回值:

2
4

 添加多个“生成器”,用分号相隔:

for (i <- 1 to 5 if i%2==0; j <- 1 to 3 if j!=i) println(i*j)

返回值:

2
6
4
8
12

 (在学习for推导式时有些模糊,yield关键字的应用不太懂,弄明白后再更新)