重复
如下例子,输出1-100中的奇数
- 定义变量
sum用于存储奇数的和,设置初始值为0;变量 为i,初始值为1(从奇数开始)。 - 通过
while循环,只要i小于等于100,就执行循环体。在循环体中,把当前的i值累加到sum中,然后i自增 2,这样每次就会只取奇数,比如 1、3、5等。 - 循环结束后,使用
println输出奇数的和,得到最终结果。
// 把1,2,3,4,5......100 中的奇数输出
var sum = 0
var i = 1
while(i<=100){ // println重复了100次
sum = sum + i
i += 2
}
println(s"sum=${sum}")
循环
判断闰年
-
用
while(true)创建一个无限循环 -
在循环内部,通过
print方法提示输入要判断的年份,输入 0 则结束判断 -
通过
scala.io.StdIn.readInt()方法获取用户输入的年份,并赋值给变量year。 -
使用
if(year == 0)判断,如果用户输入的是 0,就执行break语句,跳出无限循环,结束判断过程。 -
用条件判断
if(year % 400 == 0 || (year % 4 ==0 && year%100 != 0 ))来判断是否为闰年,闰年的判断规则是:能被 400 整除,或者能被 4 整除但不能被 100整除的年份为闰年。 -
如果满足条件,就通过
println(s"$year 是闰年")输出是闰年;否则,通过println(s"$year 不是闰年")输出不是闰年。
当输入 0 后跳出循环,执行 println("系统退出"),提示循环结束系统退出。
def main(args: Array[String]): Unit = {
// 从循环中跳出来
// 输入0就结束判断
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("系统退出")
}
- 代码中有注释说明两种循环的特点:
do while:无论条件是否成立,循环体至少执行一次。while:如果条件不成立,循环体不会执行。
var i = 100
do {
println(i)
i += 1
} while(i<=10)
var i = 100
while(i<=10){
println(i)
i += 1