( 一 ) while循环
/*
while (条件){
循环体
i +=1
}
*/
这就是while循环的格式
1.如何将I miss you重复输出3000次
var i =1
while (i<=3000){
println("I miss you")
i = i+1
2.输出1-100里的奇数,每个一列
var i = 1
while (i <= 100) {
if (i % 2 == 1) {
println("i=", i)
}
i=i+1
}
3.求1-100的和并输出
var sum =0
var i =1
while(i<=100){
sum = sum +i
i=i+1
}
println(sum)
4.求1-100的奇数和并输出
var sum =0
var i =1
while(i<=100){
if(i % 2 ==1) {
sum = sum + i
}
i = i + 1
}
println(sum)
}
( 二 ) while死循环
在需要一直执行的时候,就可以使用死循环。例如,不停地判断用户的输入的内容是否是闰年。
object Main {
def main(args: Array[String]): Unit = {
while(true){
var year = scala.io.StdIn.readInt()
if(year%400 ==0 || (year%4==0 && year%100 !=0)) {
println(s"$year 是闰年")
} else {
println(s"$year 不是闰年")
}
i += 1
}
}
}
如何跳出死循环?
( 三 ) break
scala中没有现成的break关键字,而是使用面向对象的方式来代替,底层会抛出异常来跳出循环,外层捕获异常。
breakable{
while (true){
print("请输入要判断的年份(输入0就终止判断):")
val year =scala.io.StdIn.readInt()
if(year == 0){
break
}
if(year %400 == 0 || (year%4 == 0 && year%100 !=0)){
println(s"${year} 是闰年")
} else{
println(s"${year} 不是闰年")
}
}
}
println("死循环结束,程序退出")
最开始break和breakable会冒红光报错,但是可以用鼠标导入"import scala.util.control.Breaks.{break, breakable}"
( 四 ) do while循环
和while相比,do while会强行运行一次,在实际的代码中还是while循环用的较多