内建控制-循环语句while

36 阅读1分钟

[提问]:如何把”i miss you ”重复输出3000次?

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

    // whilt 循环的基本格式

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

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

循环就是重复执行多次

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

object base19 {
  def main(args: Array[String]): Unit = {
   // 把1,2,3,4,5,      100中的奇数输出
    var i = 1
    while(i<=100){
      println(i)//println重复
      i += 2
    }
  }
}

求1-100的和

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

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

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


    //     var i = 1
    //     while(i < 10) {
    //       println(1)
    //     }

    //  从循环中跳出来
    //  输入 0 就结束判断

    while (true) {
      print("请输入要判断的年份(输入 0 就结束判断):")
      // 判断用户输入的年份,是否闰年
      val year = scala.io.StdIn.readInt()
      if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
        println(s"year 是闰年")
      } else {
        println(s"year 不是闰年 ")
      }
    }
  }
}

(四)do while循环

格式

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

输出1~10

var i=1]()  
do{  
    println(s"i=$i")  
     i+=1  
  }while(i<= 10)

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

写如下例子,说明一定会执行一次。

var i=1]()  
do{  
    println(s"i=$i")  
     i+=1  
  }while(i<1)
object base23 {
def main (args: Array [String]): Unit = {
}// 求 1 - 1/2 + 1/3 - 1/4 + 1/5 -.... + 1/19 的和
 var sum: Double = 0
 var i = 1
 while (i <= 100) {
 if (i % 2 == 1) {
 sum = sum + 1.0 /i/   1/3
 } else {
 sum = sum - 1.0 /i/   1/2
 
 i += 1
 }
 println (s"sum=${sum}")
}
}