while循环

97 阅读1分钟

循环

循环就是重复执行多次。

while格式

while(condition) {// 满足条件就执行,如果条件一直满足,就一直执行。
statement(s)
}

流程

image.png

循环3000次"I miss you!"
object Base16 {
  def main(args: Array[String]): Unit = {
    var i = 0;
    while(i<3000){
      i+=1
      println(s"$i.I miss you!")
    }

  }
}
0~100以内的奇数
object Base17 {
  def main(args: Array[String]): Unit = {
    var i = 1;
    //while (i<=100){
    //  println(i)
    //  i=i+2
    //}
    while(i<=100) {
      if(i%2==1) {
        println(i)
        i+=2
      }
    }
  }
}
0~100可以被三整除的数的和
object Base17 {
  def main(args: Array[String]): Unit = {
  var sum=0
  var i =3
  while (i<=100) {
    i = i + 3
    sum=sum+i
    }
  println(sum)
  }
}

结果

image.png

while死循环

输入一个年份,判断是否为闰年
object Base19 {
  def main(args: Array[String]): Unit = {
    while (true) {
      print("请输入一个年份:")
      val year = scala.io.StdIn.readInt()
      if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0) {
        println(s"$year 是一个闰年")
      } else {
        println(s"$year 不是一个闰年")
      }
    }
  }
}

结果

image.png

跳出循环的格式
import scala.util.control.Breaks.{break, breakable}

object Base20 {
  def main(args: Array[String]): Unit = {
    breakable{
      while (true){
        if(某个特殊的条件){
          break
        }
      }
    }
  }
}

示例:

import scala.util.control.Breaks.{break, breakable}

object Base20 {
  def main(args: Array[String]): Unit = {
    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循环
object Base21 {
  def main(args: Array[String]): Unit = {
        var i = 1
        do{
          println(i)
          i=i+1
       } while(i<=10)
//    var i = 100
//    while (i <= 10) {
//      println(i)
//      i = i + 1
//    }
    println("欢迎下次使用")
  }
}