while 循环

8 阅读1分钟

while循环循环(重复执行多次)

  • 格式: [while(condition) {]()// 满足条件就执行,如果条件一直满足,就一直执行。   statement(s) }
  • eg:如何循环3000次“I miss you”
object Base17 {
  def main(args: Array[String]): Unit = {
    var i=1;
    while(i<=3000){
      println(s"$i.I miss you!")
      i+=1
    }
  }
}
  • eg:导出1-100的奇数
object Base18 {
  def main(args: Array[String]): Unit = {
//    var i=1;
//    while(i<=100){
//      println(i)
//      i=i+2

    var i=1
    while(i<=100){
      if(i%2==1){
        println(i)
      }
      i+=1
    }
  }
}
  • eg:求1-100的和
object Base19 {
 def main(args: Array[String]): Unit = {
    var i=1
    var sum=0
    while(i<=100){
      sum=sum+i
     i+=1
   }
   println(sum)

 }
}
  • eg:1-100中能被3整除的数的和
object Base20 {
 def main(args: Array[String]): Unit = {
   var i = 3
   var sum=0
   while(i<=100){
     sum+=i
     i+=3
   }
   println(sum)
 }
}
  • eg:不停地判断用户的输入的内容是否是闰年
object Base20 {
 def main(args: Array[String]): Unit = {
   while(true){
  print("请输入一个年份")
   var year=scala.io.StdIn.readInt()
   if(year%400==0||(year%4==0&&year%100!=0)){
     println(s"$year 是一个闰年")
   }else{
     println(s"$year 不是一个闰年")
    }
   }
 }
}

跳出循环

  • ①.自动跳出,循环条件不成立,即自动跳出循环
  • ②.手动跳出循环,break
  • ③.格式:
import scala.util.control.Breaks._
object Main {
  def main(args: Array[String]): Unit = {
    breakable {
      while (true) {
        // 你的代码
        break
      }
    }
  }
}
  • eg:判断用户输入的年份是否是闰年,如果用户输入0,则结束判断。
import scala.util.control.Breaks.{break, breakable}
object Base21 {
  def main(args: Array[String]): Unit = {
    breakable {
      while (true) {
        print("请输入一个年份(输入0可结束程序)")
        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 不是一个闰年")
        }
      }
    }
    println("欢迎下次使用!")
  }
}
  • do....while循环
  • 区别:
  • ①:while(先判断条件,再执行。条件不满足时,循环体将不会执行)
  • ②:do....while(至少执行一次!先执行,再判断条件)
object Base22 {
  def main(args: Array[String]): Unit = {
    var i=100
    do{
      println(i)
      i=i+1
    }while(i<=10)//100

  }
}