程序控制語句(四)

IF…ELSE 語句

簡介

  Scala IF…ELSE 語句是通過一條或多條語句的執行結果(True或者False)來決定執行的代碼塊。

  可以通過下圖來簡單瞭解條件語句的執行過程:

IF...ELSE 語句.png

簡單實例

if語句

object Test {
   def main(args: Array[String]) {
      var x = 10;

      if( x < 20 ){
         println("x < 20");
      }
   }
}

if…else語句

object Test {
   def main(args: Array[String]) {
      var x = 30;

      if( x < 20 ){
         println("x 小於 20");
      }else{
         println("x 大於 20");
      }
   }
}

if…else if…else 語句

object Test {
   def main(args: Array[String]) {
      var x = 30;

      if( x == 10 ){
         println("X 的值爲 10");
      }else if( x == 20 ){
         println("X 的值爲 20");
      }else if( x == 30 ){
         println("X 的值爲 30");
      }else{
         println("無法判斷 X 的值");
      }
   }
}

if…else 嵌套語句

object Test {
   def main(args: Array[String]) {
        var x = 30;
        var y = 10;

         if( x == 30 ){
            if( y == 10 ){
            println("X = 30 , Y = 10");
         }
      }
   }
}

循環語句

簡介

  循環語句允許多次執行一個語句或語句組,用於需要重複調用某代碼塊的場景。

循環語句.png

循環類型

循環類型 說明
while 運行一系列語句,如果條件爲true,會重複運行,直到條件變爲false。
do…while 類似while語句,區別在於判斷循環條件之前,先執行一次循環的代碼塊。
for 用來重複執行一系列語句,直到達成特定條件。一般通過在每次循環完成後增加計數器的值來實現。

簡單實例

while

object Test {
   def main(args: Array[String]) {
      // 局部變量
      var a = 10;

      // while 循環執行
      while( a < 20 ){
         println( "Value of a: " + a );
         a = a + 1;
      }
   }
}

do…while

object Test {
   def main(args: Array[String]) {
      // 局部變量
      var a = 10;

      // do 循環
      do{
         println( "Value of a: " + a );
         a = a + 1;
      }while( a < 20 )
   }
}

for

// to/until/range,to爲上閉區間, until/range爲上開區間。
object Test {
   def main(args: Array[String]) {
      var a = 0;
      // for 循環
      for( a <- 1 to 10){
         println( "Value of a: " + a );
      }
   }
}
//循環集合
object Test {
   def main(args: Array[String]) {
      var a = 0;
      val numList = List(1,2,3,4,5,6);

      // for 循環
      for( a <- numList ){
         println( "Value of a: " + a );
      }
   }
}
//循環過濾
object Test {
   def main(args: Array[String]) {
      var a = 0;
      val numList = List(1,2,3,4,5,6,7,8,9,10);

      // for 循環
      for( a <- numList
           if a != 3; if a < 8 ){
         println( "Value of a: " + a );
      }
   }
}

break語句

簡介

  Scala 語言中默認沒有 break 語句,但是在 Scala 2.8 版本後可以使用另外一種方式來實現 break 語句。當在循環中使用 break 語句,在執行到該語句時,就會中斷循環並執行循環體之後的代碼塊。

語句

// 導入以下包
import scala.util.control._

// 創建 Breaks 對象
val loop = new Breaks;

// 在 breakable 中循環
loop.breakable{
    // 循環
    for(...){
       ....
       // 循環中斷
       loop.break;
   }
}

執行流程

break語句.jpg

簡單實例

import scala.util.control._

object Test {
   def main(args: Array[String]) {
      var a = 0;
      val numList = List(1,2,3,4,5,6,7,8,9,10);

      val loop = new Breaks;
      loop.breakable {
         for( a <- numList){
            println( "Value of a: " + a );
            if( a == 4 ){
               loop.break;
            }
         }
      }
      println( "After the loop" );
   }
}

忠於技術,熱愛分享。歡迎關注公衆號:java大數據編程,瞭解更多技術內容。

這裏寫圖片描述

發佈了39 篇原創文章 · 獲贊 0 · 訪問量 6198
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章