欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Scala中如何中斷循環(huán)詳解

 更新時間:2023年04月29日 08:32:23   作者:夏殿灬青葛石  
在Scala中,可以使用break和continue語句來中斷循環(huán)。break語句可以在滿足某個條件時中斷循環(huán),而continue語句可以在滿足某個條件時跳過當前循環(huán)迭代,直接執(zhí)行下一次迭代

目錄 1.使用拋出和捕獲異常的方法跳出當前循環(huán)2.使用Scala中的Breaks類的break方法3.測試4.簡化 使用 ._ 來引入全部內容 方便調用

在scala中無法直接使用break關鍵字跳出當前循環(huán),但有其他方法

1.使用拋出和捕獲異常的方法跳出當前循環(huán)

def main(args: Array[String]): Unit = {
    try {
      for (i <- 0 until 5) {
        if (i == 3)
          throw new RuntimeException
        println(i)
      }
    } catch {
      case e: Exception =>
    }
    println("這是循環(huán)外的代碼")

2.使用Scala中的Breaks類的break方法

首先引入Breaks類,調用該類下的breakable方法(表示接下來的代碼是可中斷的),在需要中斷的地方調用該類下的break方法即可跳出當前循環(huán)

import scala.util.control.Breaks
object Test_Break {
  def main(args: Array[String]): Unit = {
    try {
      for (i <- 0 until 5) {
        if (i == 3)
          throw new RuntimeException
        println(i)
      }
    } catch {
      case e: Exception =>
    }
    println("這是循環(huán)外的代碼")
    //使用Scala中的Breaks類中的break方法
    Breaks.breakable(
      for (i <- 0 until 5) {
        if (i == 3) {
          Breaks.break()
        }
        println(i)
      }
    )
  }
}

這里解釋下,Breaks類下的breakable方法其實就是將 try catch 進行了包裝,而該類下的break方法其實就是拋出了一個 breakException (返回類型Nothing),也就是說這里同樣是使用拋出異常的方法實現(xiàn)了跳出循環(huán)的這樣一個功能

3.測試

可見都是當 i == 3 時中斷了循環(huán)

4.簡化

使用 ._ 來引入全部內容 方便調用

我們可以使用 import scala.util.control.Breaks._

(其實就是加上了 ._ 類似于Java中的 .* )引入Break類中的所有屬性和方法

這樣接下來調用其中的方法就不用再 . 了

package chapter02
import scala.util.control.Breaks._
object Test_Break {
  def main(args: Array[String]): Unit = {
    try {
      for (i <- 0 until 5) {
        if (i == 3)
          throw new RuntimeException
        println(i)
      }
    } catch {
      case e: Exception =>
    }
    println("這是循環(huán)外的代碼")
    //使用Scala中的Breaks類中的break方法
    breakable(
      for (i <- 0 until 5) {
        if (i == 3) {
          break()
        }
        println(i)
      }
    )
  }
}

到此這篇關于Scala中如何中斷循環(huán)詳解的文章就介紹到這了,更多相關Scala中斷循環(huán)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Springboot實現(xiàn)定時任務的4種方式舉例詳解

    Springboot實現(xiàn)定時任務的4種方式舉例詳解

    在我們開發(fā)項目過程中經常需要定時任務來幫助我們來做一些內容,下面這篇文章主要給大家介紹了關于Springboot實現(xiàn)定時任務的4種方式,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-01-01
  • Java中ArrayList刪除的常用操作及方法

    Java中ArrayList刪除的常用操作及方法

    ArrayList是最常用的一種java集合,在開發(fā)中我們常常需要從ArrayList中刪除特定元素,本文主要介紹了Java中ArrayList刪除的常用操作及方法,感興趣的可以了解一下
    2023-11-11
  • Java中final關鍵字的用法總結

    Java中final關鍵字的用法總結

    在Java中,final可以別用來修飾類、修飾方法、修飾變量和修飾參數(shù)等,這里就來簡單作一個Java中final關鍵字的用法總結:
    2016-06-06
  • 詳解Java并發(fā)包中線程池ThreadPoolExecutor

    詳解Java并發(fā)包中線程池ThreadPoolExecutor

    ThreadPoolExecutor是Java語言對于線程池的實現(xiàn)。線程池技術使線程在使用完畢后不回收而是重復利用。如果線程能夠復用,那么我們就可以使用固定數(shù)量的線程來解決并發(fā)問題,這樣一來不僅節(jié)約了系統(tǒng)資源,而且也會減少線程上下文切換的開銷
    2021-06-06
  • eclipse中自動生成構造函數(shù)的兩種方法

    eclipse中自動生成構造函數(shù)的兩種方法

    下面小編就為大家?guī)硪黄猠clipse中自動生成構造函數(shù)的兩種方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • Java編程實現(xiàn)NBA賽事接口調用實例代碼

    Java編程實現(xiàn)NBA賽事接口調用實例代碼

    這篇文章主要介紹了Java編程實現(xiàn)NBA賽事接口調用實例代碼,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • java容器類知識點詳細總結

    java容器類知識點詳細總結

    這篇文章主要介紹了java容器類知識點詳細總結,
    2019-06-06
  • Java的JNI快速入門教程(推薦)

    Java的JNI快速入門教程(推薦)

    下面小編就為大家?guī)硪黄狫ava的JNI快速入門教程(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • ExecutorService實現(xiàn)獲取線程返回值

    ExecutorService實現(xiàn)獲取線程返回值

    這篇文章主要介紹了ExecutorService實現(xiàn)獲取線程返回值,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Dubbo框架線程池使用介紹

    Dubbo框架線程池使用介紹

    當我們在使用dubbo的時候,是可以通過調整線程池來達到調優(yōu)的效果,我們可以在dubbo:protocol 標簽中使用用threadpool屬性選擇自己想要使用的線程池,通過threads屬性配置服務線程數(shù),queues屬性配置使用的隊列
    2022-09-09

最新評論