scala循环
scala支持for循环和while循环。推荐使用更简洁的for循环
for循环
- 语法
//每次循环将表达式/数组/集合的值赋给i
//不用声明i的类型,scala可以自动推断
for(i <- 表达式/数组/集合){
//表达式
}
//双重循环用分号隔开 两个循环条件即可
for(i <- 表达式/数组/集合;j <- 表达式/数组/集合)
{
//表达式
}
示例
//1 to 10使用了scala的隐式转换,调用了RichInt.
val num = 1 to 10
for (i <- num) println(i)
//双重循环
for(i <- 1 to 3;j <- 1 to 3) println(i*j)
结果
for循环之守卫
- 在for表达式中可以添加
if判断语句
,这个if判断语句就称为守卫 - 只有当满足守卫的条件才会执行循环体,否则进行下一次循环条件判断
语法
for(i <- 表达式/数组/集合 if 表达式){
//表达式
}
示例
for(i <- 1 to 10 if i > 5){
println(i)
}
结果
for推导式
- 在for循环体中,可以使用
yield
表达式构建出一个集合,使用yield
的for集合称为推导式 - for表达式中从yield开始,以每次循环的结果为集合元素,构建出一个集合
while循环
scala中的while循环和java中的while循环一致
语法
while(返回值为布尔类型的表达式){
//表达式
}