Scala——While和do..While循环控制


While循环控制

基本语法
循环变量初始化
while(循环条件){
            循环体(语句)
            循环变量迭代
}
说明:
(1) 循环条件是返回一个布尔值的表达式
(2) while循环是先判断再执行语句
(3)与for语句不同,while语句没有返回值,即整个while语句 的结果是Until类型()
(4) 因为while中没有返回值,所以当要用该语句来计算并返回结果时,就不可避免的使用变量,而变量需要声明在while循环的外部,那么就等同于循环的内部对外部的变量造成了影响,所以不推荐使用,而是推荐使用for循环。
案例实操 
package Chapter04
 
object Test_05WhileLoop {
  def main(args: Array[String]): Unit = {
 
    var a = 1
    while (a <= 10) {
      print("a=" + a + ",")
      a+=1
    }
    println()
    var b = 1
    while (b <= 10) {
      print("b=" + b + ",")
      b+=1
    }
 
 
 
  }
 
}
运行结果

 
do..While循环控制

基本语法
循环变量初始化;
do {
      循环体(语句)
      循环变量迭代
}while(循环条件)
说明:
(1)循环条件是返回一个布尔值的表达式
(2)do..while循环是先执行,再判断
案例实操
 package Chapter04
 
object Test_05WhileLoop {
  def main(args: Array[String]): Unit = {
 
   var c = 1
    do{
      print("c=" + c + ";")
      c += 1
    }while(c<=10)
    println()
 
    var d = 10
    do{
      print("d=" + d + ";")
      d -= 1
    }while(d>=1)
 
  }
}
运行结果

循环中断

 基本说明:
Scala内置控制特地去掉了break和continue,是为了更好的适应函数式编程,推荐使用函数式的风格解决break和continue的功能,而不是一个关键字。Scala中使用breakable控制结构来实现break和continue功能。
案例实操
1、采用异常的方式退出循环
2、采用 Scala 自带的函数,退出循环
3、对 break 进行省略   // 把Breaks下所有属性和方法引入import scala.util.control.Breaks._
4、循环遍历 10 以内的所有数据,奇数打印,偶数跳过(continue)
package Chapter04
 
import scala.util.control.Breaks
import scala.util.control.Breaks._
 
object Test_06break {
  def main(args: Array[String]): Unit = {
    //1、采用抛异常的方式,退出循环
    try {
      for (i <- 0 until 5){
        if (i ==3)
          throw new RuntimeException
          println(i)
      }
    }catch {
      case e: Exception =>          //什么都不做,只是退出循环
    }
    println("--------------")
    //2、使用Scala中的Breaks类的break方法,实现异常的抛出和捕捉
    Breaks.breakable(
      for (i <- 0 until 5){
        if (i ==3)
          Breaks.break()
        println(i)
      }
    )
    println("----------------")
    breakable(
      for (i <- 0 until 5){
        if (i ==3)
          break()
        println(i)
      }
    )
    println("----------------")
    for (a <- 1 to 10 ){
      if (a % 2 == 1)  println("a=" + a )
    }
 
    println("----------------")
    for (a <- 1 to 10 ){
      if (a % 2 == 1)  println("a=" + a )
      else  println("contiune")
    }
 
 
 
    println("这是循环外的代码")
 
  }
}
运行结果

 

 

 

第1关:While循环的使用 任务描述 本关任务:编写一个能计算数组平均值最大值的小程序。 相关知识 当我们想要对同样的操作执行多次,就需要使用到循环结构,在 Scala 中循环结构主要分为三种: while 循环; do...while 循环; for 循环。 今天我们来学习第一种循环结构 —— while 循环。 while 循环 首先我们来了解一下 while 循环的逻辑: 图1 如上图1所示,while 循环首先会判断 while 后面的条件是否成立,成立的话执行一次循环体语句序列,执行完成后,继续返回判断条件是否成立,如此反复,直到循环条件不成立,退出循环,它的语法格式如下所示: while( 循环条件表达式 ) { 循环体语句序列 } while 循环使用实例(循环打印 “hello” n 次): import scala.io.StdIn object WhileDemo { def main(args: Array[String]): Unit = { // 定义变量i var i: Int =0 // 读取控制台输入的整数值 var num=StdIn.readInt() // 当 i 小于 num 时,循环输出字符串 hello while(i<num){ println("hello") // i 变量加 1 i=i+1 } } 当控制台输入 3 时,程序执行结果: hello hello hello 注意: Java 里的 i++ ++i 在 Scala 里不起作用,要想起到一样的效果,我们只能使用 i+=1 或者 i=i+1。 编程要求 仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,计算给定的 n 个整数中所有的非负数之,具体要求如下: 接收给定的一行整数(例:4 56 5 -10 10,其中第一个数代表 n,其余数代表具体值); 计算除第一个数之外的所有非负整数之。 测试说明 平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。 例: 测试输入: 4 56 5 -10 10 预期输出: 71
最新发布
03-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值