循环语句while

28 阅读1分钟
// 把 I miss you 重复输出10次

// while 循环的基本要求

/*
var i 0 // 循环变量,控制循环的次数

while(条件){
    循环体
    i += 1    
}
*/
var i = 0
while(i <= 10){
    println(s"${i}. I miss you")
    i += 1
}

练习1

把1,2,3,4,5,·····100中的奇数输出

// 把1,2,3,4,5,·····100中的奇数输出
var i = 1
while(i<=100){
  if(i % 2 == 1) { // %是取余,奇数除以2余1
    println(i) // println重复了100次
  }
  i +=1
}

练习2

1+2+3+4+5+···=100的结果

// 1+2+3+4+5+···=100的结果
// 等差数列: (100+1) * 100 / 2 = 5050

var sum = 0
var i = 1
while(i<=100){
  println(i)
  sum = sum + i
  i += 1
}
println(sum)

练习3

求 1 + 1/2 +1/3 + 1/4 + ··· + 1/100的和

// 求 1  + 1/2 +1/3 + 1/4 + ··· + 1/100的和
var sum:Double = 0
var i  = 1
while(i<=100){
  println(i)
  sum = sum + 1.0/i
  i += 1
}
println(sum)

while死循环

在需要一直执行的时候,就可以使用死循环。例如,不停地判断用户的输入的内容是否是闰年。

例: 判断用户的年份,是否闰年


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

// do while 无论条件是否成立
// while 如果条件不成立,不会执行!
/*
var i = 100
do {
  println(i)
  i += 1
} while (i<=100)
*/
var i = 100
while(i<=100){
  println(i)
  i += 1
}

练习4:

求s= 1 - 1/2 + 1/3 - 1/4 + 1/5 .... +1/19的值。


// 求s= 1 - 1/2 + 1/3 - 1/4  + 1/5 .... +1/19的值。

   var sum:Double = 0
   var i = 1
   while(i <= 19) {

     if(i%2 == 1){
       sum += 1.0 / i
     } else {
       sum -= 1.0 / i
     }
     i += 1
   }
   println(s"sum=${sum}")