- 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关键字的应用不太懂,弄明白后再更新)