scala内建控制-循环语句while

47 阅读1分钟

(一)while循环

格式

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

流程:

image.png

例: 输出1~100内的奇数,每个一行

object Base11 {
  def main(args: Array[String]): Unit ={
//方法一:
//    //输出1~100的奇数,每行一个
//    var i =1
//    while(i <= 100){
//      println(i)
//      i += 2
//
//    }
//方法二:
      var i =1
    while(i <= 100 ){
      if(i%2 == 1){
        println(i)
      }
      i += 1
    }
  }
}

求1-100的和

object Base12 {
  def main(args: Array[String]): Unit ={
    var sum = 0
    var i = 1
    while (i <= 100){
      sum += i
      i += 1
    }
    println(sum)
  }
}

( 二)while死循环

例:

object Base13 {
  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.{break, breakable}
object Base14 {
  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 Base15 {
  def main(args: Array[String]): Unit = {

    var i =100
    do{
      println(i)
      i = i + 1
    } while(i <= 10)
    println("欢迎下次使用")
  }
}

[强调]:do ... while 和while的区别在于,一定会执行一次。