if表达式和while表达式
与java、c、c++等一样,不再多讲,我想学习scala的一般都是有一定基础吧
for循环语句
与其他高级语言表达不同,如下:
for (i <- 1 to 5) println(i)
//for (变量<-表达式) 语句块。上面的表达式就是从1开始循环到5,包含5
for (i <- 1 to 5 by 2) println(i)
//可以选择步长,一次增加2,输出的结果就是1、3、5
for (i <- 1 to 5 if i%2==0) println(i)
//选出符合条件的内容,结果就是2、4。我们称if后面的内容为“守卫”
for (i <- 1 to 5 if i%2==0; j <- 1 to 3 if j!=i) println(i*j)
//也可以在里面添加两个循环,并且各自添加一个“守卫”
需要说明的就是for循环里面的i和j可以不用提前应用tar或者tal进行定义,直接可以使用。
scala提供一个for推倒式,其作用就是使筛选出来的内容组成一个新的集合
scala> for (i <- 1 to 5 if i%2==0) yield i
res3: scala.collection.immutable.IndexedSeq[Int] = Vector(2, 4)