for循环

34 阅读1分钟

1.for的应用


object l1 {
  def main(args:Array[String]):Unit={
    //1.
    //for(i<-1 to 20){
      //println(i)
   // }
//2.打印1-20的偶数
    //for(j<-1 to 20; if(j%2==0);if(j%3==0)){
      //println(j)
    //}
    //3.循环守卫
    //for (j<- 1 to 20; if(j%2==0);if(j%3==0)){
     // println(j)
    //}

    //4.求 s=1−1/2+1/3−1/4+1/5⋯+1/19 的值。用 for 循环来实现!
    //var s = 0.0
    //for (i <- 1 to 19) {
      //if (i % 2 == 1) {
        //s += 1.0 / i
      //} else {
        //s -= 1.0 / i
      //}
    //}
    //println(s)
  }
}

2.if的返回值


object l2 {
  def main(args:Array[String]):Unit={
    val res=if(2>1){
      "a"
    }else{
      "b"
    }
    println(res)
  }
}

2.for循环的返回值 for循环值是一个列表,里面保存了多个值


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

    val rs=for(i<-1 to 4)yield {
      i*2
    }
    println(rs)
    println(rs(0))
    println(rs(1))
    println(rs(2))
    
    
  }
}

任务 1.打印数字 1 ~ 100,每行包括一组 5 个数,每组换行。


object l3 {
  def main(args: Array[String]): Unit = {
    
    for (i <- 1 to 100) {
      
      print(s"$i\t")
      
      if (i % 5 == 0) {
        println()
      }
    }
  }

}

2:输入一个正整数 n,输出斐波那契数列的前 n 项。


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

    print("请输入一个正整数n: ")
    val n = scala.io.StdIn.readInt()


    if (n >= 1) print("斐波那契数列前" + n + "项: ")

    if (n == 1) {
      println(1)
    } else if (n == 2) {
      println("1, 1")
    } else if (n > 2) {

      var a = 1
      var b = 1
      print(s"$a, $b")


      for (i <- 3 to n) {
        val c = a + b
        print(s", $c")
        a = b
        b = c
      }
      println()
    } else {

      println("请输入正整数!")
    }
  }

}