一、for循环
package day1
object For {
def main(args: Array[String]): Unit = {
//for循环语法结构:for (i <- 表达式/数组/集合)
for(i <- 表达式),表达式1 to 10返回一个Range(区间),每次循环将区间中的一个值赋给i
for (i <- 1 to 5) print("hello"+i+" ")
println()
//for(i <- 数组)从数组的下标0开始依次将数组里面的值赋给i
val array = Array('a','b','c','d','e','f')
for( i <- array) print("元素:"+i+" ")
println()
//可以根据数据的长度来规定输出数组里面的部分元素
for( i <- 0 to array.length-1) print("元素:"+array(i)+" ")
println()
for( i <- 0 until array.length) print("元素:"+array(i)+" ")
println()
//To:[ ],Until:[ )
//高级for循环
//可以以 变量<-表达式 的形式提供多个生成器,用分号隔开
for (i <- 1 to 3;j <-1 to 3) print('i'+'*'+'j'+'='+i*j+" ")
println()
//for循环里面的每个生成器都可以加一个condition,是以if开头的Boolean表达式,注意:if之前并没有分号
for (i <- 1 to 3;j <-1 to 3 if(i==j)) print('i'+'*'+'j'+'='+i*j+" ")
println()
//可以使用任意多的定义,引入可以在循环中使用的变量
for( i <- 1 to 3; from = 4-i; j <- from to 3) print( 10*i+j+" ")
println()
println("----------------------------------")
//for推导式
//如果for循环体以yield开始,则循环会构造出一个集合,每次迭代生成集合中的一个值
val vector1=for( i <- 1 to 5) yield i*2
vector1.foreach(println)
}
}
运行结果:
二、while循环
package day1
object While {
def main(args: Array[String]): Unit = {
//while循环
var a = 6
while (a >0){
println("hello" + a)
a -= 1
}
println("----------------")
//do..while循环
var b = 6
do{
println("world" + b)
b -= 1
}while(b > 0)
}
}
运行结果:
说明: