IF…ELSE 語句
簡介
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" );
}
}
忠於技術,熱愛分享。歡迎關注公衆號:java大數據編程,瞭解更多技術內容。