内建控制-循环语句while

71 阅读1分钟

while循环

循环就是重复执行多次。

格式

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

打印3000次I miss you !

object base16 {
  def main(args: Array[String]): Unit = {
var i = 1;
    while (i<3001){
      println(s"$i. I miss you!")
      i += 1
    }
  }
}

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

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

求1-100的和

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

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

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

while死循环

在需要一直执行的时候,就可以使用死循环。

例:

不停地判断用户的输入的内容是否是闰年

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{
       print(s"$year 不是一个闰年")
     }
    }
  }
}

死循环是一个种非常使用的结果,它能确保核心逻辑一直被调用中

break

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

import scala.util.control.Breaks._  
object Main {  
  def main(args: Array[String]): Unit = {  
    breakable {  
      while (true) {  
          // 你的代码  
          break  
      }  
    }  
  }  
}

通过特殊的语法操作,可以让代码变得简单一些。

判断用户输入的年份是否是闰年,如果用户输入0,则结束判断。

object base21 {
  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{
          print(s"$year 不是一个闰年")
        }
      }
    }
    println("欢迎下次使用")
  }
}