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("这是循环外的代码")
 
  }
}
运行结果

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值