while循环

68 阅读1分钟

练习

如何把”i miss you ”重复输出3000次?

object xy12 {
  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
    }
  }

}

输出1到100间的奇数

object xy13 {
  def main(args: Array[String]): Unit = {
    // 输出1100的奇数
    /* 第一种
    var i=1
    while (i<=100){
      println(i) // println重复了100次
      i +=2
    }
    */
    //第二种
    var i=1
    while (i<=100){
      if (i % 2 == 1 ){
        println(i)
      }
      i +=1
    }

  }

}

输出1到100的和

object xy14 {
  def main(args: Array[String]): Unit = {
    // 求1到100的和
    // 等差数列:(100+1)*100/2=5050(首项+末项)*项数/2
    var sum =0
    var i=1
    while (i<=100){
      sum=sum+i
      i+=1
    }
    println(sum)
  }
}

输出1到100的奇数和

object xy15 {
  def main(args: Array[String]): Unit = {
    // 求1到100的奇数和
    /*
    第一种
      var sum =0
      var i=1
      while (i<=100){
        sum=sum+i
        i+=2
      }
  
     */
    //第二种
    var sum=0
    var i=1
    while (i<=100){
      if (i%2==1){
        sum=sum+i
      }
      i+=1
    }
    println(s"sum=${sum}")

  }
}

输出1+1/2+...+1/100的和

object xy16 {
  def main(args: Array[String]): Unit = {
    // 求1+1/2+....+1/100和
    var sum:Double =0
    var i=1
    while (i<=100){
      sum = sum+1.0 / i
      i+=1
    }
    println(s"sum=${sum}")
  }
}

while 死循环

让代码一直运行

退出死循环(breakable)

do while 与while 的区别!

do while :无论条件是否成立,都会执行一次!

while:如果条件不成立,不会执行!

object xy18 {
  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
    }
  }
}

练习

求数列的和

s=1 - 1/2 + 1/3 - 1/4 + 1/5....+ 1/19的和

object xy19 {
  def main(args: Array[String]): Unit = {
    //求数列的和
    // s=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}")
  }

}