内建控制-循环语句while

46 阅读1分钟

while循环格式:

while(condition) {  
  statement(s)  
}()

循环3000次I miss you!

object Base918 {
  def main(args: Array[String]): Unit = {
    var i = 1;
    while(i<3001){
      println(s"$i.I miss you!")
      i = i + 1
    }
  }
}
object Base9181 {
  def main(args: Array[String]): Unit = {
   var i = 1
    while(i <= 100){
      //如果循环的只输出奇数
      if(i%2 == 1){
        println(i)
      }
      i += 2
    }
  }
}

求1-100的和,求1-100的能被3整除的数的和

object Base9182 {
  def main(args: Array[String]): Unit = {
    //求1-100的和
   //var i = 1
   // var sum = 0
    //while(i <= 100){
    // sum += i
    //  i += 1
      }
   // println(sum)
    //求1-100的能被3整除的数的和
    var i = 3
    var sum = 0
    while (i<= 100){
      sum += 1
      i += 3
    }
    println(sum)
}

while死循环

object Base9183 {
  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不是一个闰年")
        }
      }
  }
}

跳出死循环:循环条件不成立(用break)

格式

import scala.util.control.Breaks()._  
object Main {  
  def main(args: Array[String]): Unit = {  
    breakable {  
      while (true) {  
          // 你的代码  
          break  
      }  
    }  
  }  
}
import scala.util.control.Breaks.{break, breakable}
object Base9184 {
  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("欢迎下次使用!")
  }
}
  • while 特点:先判断条件,再执行。所以,条件不满足时,循环体不会执行
  • do... while 特点:至少要执行一次!先执行,再判断条件。
object Base21 {
  def main(args: Array[String]): Unit = {
    // do...while循环示例
    // 特点: 先执行循环体,再判断条件,因此至少会执行一次
    var i = 100
    do {
      println(s"do...while循环: $i")
      i = i + 1
    } while (i <= 10)  // 条件不满足,但循环体已执行一次

    // while循环示例
    // 特点: 先判断条件,条件满足才执行循环体
    var j = 100
    while (j <= 10) {  // 条件不满足,循环体不会执行
      println(s"while循环: $j")
      j = j + 1
    }

    println("程序执行完毕,欢迎下次使用!")
  }
}