暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Scala进阶:编程跳出循环的三种方法

大数据开发运维架构 2020-02-02
321
  1. 基于boolean类型的控制变量

    package com.unicom.ljs.learning
    /**
    * @author: Created By lujisen
    * @company ChinaUnicom Software JiNan
    * @date: 2020-02-01 22:15
    * @version: v1.0
    * @description: com.unicom.ljs.learning
    */
    object IteratorTest {
    def main(args: Array[String]): Unit = {

    var flag = true
    var count = 0
    var n = 0

    while(flag) {
    count += n
    n += 2
    println("count = "+ count)
    println("n = "+ n)
    if (n == 8) {
    flag = false
    }
    }
    }
    }

    2.嵌套函数使用return

      package com.unicom.ljs.learning

      /**
      * @author: Created By lujisen
      * @company ChinaUnicom Software JiNan
      * @date: 2020-02-01 22:15
      * @version: v1.0
      * @description: com.unicom.ljs.learning
      */
      object IteratorTest {
      def main(args: Array[String]): Unit = {
      println(func1())
      }

      def func1()={
      var result=0
      def func2(): Any ={
      for(i<-0 until 5){
      result+=i
      /*跳出函数func2*/
      if(i==3){
      return
      }
      }
      result
      }
      /*调用函数func2*/
      func2()
      result
      }
      }

      3.使用break方法

        package com.unicom.ljs.learning

        /**
        * @author: Created By lujisen
        * @company ChinaUnicom Software JiNan
        * @date: 2020-02-01 22:15
        * @version: v1.0
        * @description: com.unicom.ljs.learning
        */
        import scala.util.control.Breaks._
        object IteratorTest {
        def main(args: Array[String]): Unit = {
        var result = 0
        /*通过break跳出breakable代码块*/
        breakable {
        for (i <- 0 until 8) {
        if (i == 5) {
        break
        }
        result += i
        }
        }
        println("result = " + result)
        }

        文章转载自大数据开发运维架构,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

        评论