scala中的while循环

33 阅读1分钟

输出3000次 i miss you

object test14 {
  def main(args: Array[String]): Unit = {
    // while 循环
    //i:循环变量,控制循环执行次数的变量。一般这个变量名就设置为i
    //他的起点不一定从01
    var i=1
    while(i<3001){
      println(s"${i},I miss you!")
      i+=1
    }
  }
println("循环结束")
}

image.png

求出100以内的奇数

object test15 {
  def main(args: Array[String]): Unit = {
    var i=1
    while (i<=100){
      println(i)
      i+=2
    }
    println("循环结束")
  }

}

image.png

求出1-100的和

object test16 {
  def main(args: Array[String]): Unit = {

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

image.png

判断输入的年份是否是闰年(死循环 一直询问)

object test17 {
  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 不是润年")
      }


    }
  }
}

image.png

判断输入的年份是否是闰年(死循环 一直询问 当输入的是0时结束循环)

break****

scala中没有现成的break关键字,而是使用面向对象的方式来代替,底层会抛出异常来跳出循环,外层捕获异常。

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

object test18 {
  def main(args: Array[String]): Unit = {
    breakable{
      while (true){
        print("请输入你要判断的年份:")
        var year= scala.io.StdIn.readInt()

        if (year==0){
          println("这里结束循环")
          break
        }
        if(year%400==0||(year%4==0 && year%100!=0)){
          println(s"$year 是润年")
        }
        else {
          println(s"$year 不是润年")
        }


      }

image.png