Scala的程式控制語句大全,你真正瞭解的有多少呢?
阿新 • • 發佈:2018-11-10
簡介
Scala IF…ELSE 語句是通過一條或多條語句的執行結果(True或者False)來決定執行的程式碼塊。
可以通過下圖來簡單瞭解條件語句的執行過程:
簡單例項
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"); } } } }
迴圈語句
簡介
迴圈語句允許多次執行一個語句或語句組,用於需要重複呼叫某程式碼塊的場景。
迴圈型別
迴圈型別 | 說明 —|--- 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; } }
執行流程簡單例項
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" ); } }
文章轉載自:https://www.itjmd.com/news/show-2217.html