循环语句

20 阅读1分钟

一,循环语句

循环就是重复执行多次

1.png

object day01 {
  def main(args: Array[String]): Unit = {
    // 把 I miss you 重复输出 3000次

    // while 循环的基本方式

    /*
    var i = 0 // 循环变量,控制重复的次数

    while(条件){
          循环体
          i += 1
    }
     */
    var i = 1
    while(i <= 3000){
      println(s"${i},I miss you")
      i += 1
    }
  }
}

案例:

2.png

object day03 {
  def main(args: Array[String]): Unit = {
    // 1 + 2 + 3 + 4 + 5 + ..... + 100 的结果
    // 等差数列:(100+1) * 100 / 2 = 5050
    var sum = 0
    var i = 1
    while(i<=100){
      println(i)
      i += 1
    }
    println(sum)
  }
}
object day04 {
  def main(args: Array[String]): Unit = {
    //  求 1 + 1/2 + 1/3 + 1/4 + 1/5 + ..... + 1/100 的和
    var sum = 0
    var i = 1
    while(i<=100){

      i +=1
    }
    println(s"sum=${sum}")
  }
}

二,while死循环

object si1 {
  def main(args: Array[String]): Unit = {
        while(true){
          var year = scala.io.StdIn.readInt()
          if(year%400 ==0 || (year%4==0 && year%100 !=0)) {
            println(s"$year 是闰年")
          } else {
            println(s"$year 不是闰年")
            i += 1
          }
        }
  }
  }

三,break

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

    // 从循环中跳出来?
    // 输入 0 就结束判断
    breakable {
      while (true) {
        println("请输入要判断的年份(输入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 day06 {
  def main(args: Array[String]): Unit = {
    // do while: 无论条件是否成立,都会执行一次!
    // while: 如果条件不成立,不会执行!
    
  //  var i = 100
  //  do {
  //    println(i)
  //    i += 1
  //  } while (i <= 10)
    
    var i = 100
    while (i <= 10){
      println(i)
      i += 1 
    }
  }
}

例题:

object day07 {
  def main(args: Array[String]): Unit = {
    //
    var sum:Double 0
    var  i = 1
    while (i <= 101){
      if ( i%2 == 1){
        sum = sum + 1.0/ i // 1/3
      } else {
        sum = sum - 1.0/i
      }
      i+=1
    }
    println(s"sum=${sum}")
  }
}