(一)while循环
如何把”i miss you ”重复输出3000次?
//while 循环的基本格式
/*
var i = 0 //循环变量,控制重复的次数
while(条件){
循环体
i +=1
}
*/
var i = 1
while(i <= 10){
println(s"${i}.I miss you")
i += 1
}
}
}
循环就是重复执行多次。
while格式
[while(condition) {]()// 满足条件就执行,如果条件一直满足,就一直执行。
statement(s)
}
while流程
输出1~100内的奇数,每个一行
求1-100的和
[object Main {]()
def main(args: Array[String]): Unit = {
var sum:Int = 0
var i = 1
while(i <= 100){
sum += 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关键字,而是使用面向对象的方式来代替,底层会抛出异常来跳出循环,外层捕获异常。
[import scala.util.control.Breaks]()._
object Main {
def main(args: Array[String]): Unit = {
breakable {
while (true) {
// 你的代码
break
}
}
}
}
判断用户输入的年份是否是闰年,如果用户输入0,则结束判断。
object Main {
def main(args: Array[String]): Unit = {
breakable {
while(true){
var 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 不是闰年")
}
}
}
}
(四)do while循环
格式:
do {
statement(s);
} while( condition );
示意图:
输出1 - 10 代码如下
[var i=1]()
do{
println(s"i=$i")
i+=1
}while(i<= 10)
强调:do ... while 和while的区别在于,一定会执行一次。
写如下例子,说明一定会执行一次。
var i=1]()
do{
println(s"i=$i")
i+=1
}while(i<1)