Scala IF...ELSE 語句是通過一條或多條語句的執(zhí)行結果(True或者False)來決定執(zhí)行的代碼塊。
可以通過下圖來簡單了解條件語句的執(zhí)行過程:

if 語句有布爾表達式及之后的語句塊組成。
if 語句的語法格式如下:
if(布爾表達式)
{
// 如果布爾表達式為 true 則執(zhí)行該語句塊
}如果布爾表達式為 true 則執(zhí)行大括號內的語句塊,否則跳過大括號內的語句塊,執(zhí)行大括號之后的語句塊。
object Test {
def main(args: Array[String]) {
var x = 10;
if( x < 20 ){
println("x < 20");
}
}
}執(zhí)行以上代碼,輸出結果為:
$ scalac Test.scala $ scala Test x < 20
if 語句后可以緊跟 else 語句,else 內的語句塊可以在布爾表達式為 false 的時候執(zhí)行。
if...else 的語法格式如下:
if(布爾表達式){
// 如果布爾表達式為 true 則執(zhí)行該語句塊
}else{
// 如果布爾表達式為 false 則執(zhí)行該語句塊
}object Test {
def main(args: Array[String]) {
var x = 30;
if( x < 20 ){
println("x 小于 20");
}else{
println("x 大于 20");
}
}
}執(zhí)行以上代碼,輸出結果為:
$ scalac Test.scala $ scala Test x 大于 20
if 語句后可以緊跟 else if...else 語句,在多個條件判斷語句的情況下很有用。
if...else if...else 語法格式如下:
if(布爾表達式 1){
// 如果布爾表達式 1 為 true 則執(zhí)行該語句塊
}else if(布爾表達式 2){
// 如果布爾表達式 2 為 true 則執(zhí)行該語句塊
}else if(布爾表達式 3){
// 如果布爾表達式 3 為 true 則執(zhí)行該語句塊
}else {
// 如果以上條件都為 false 執(zhí)行該語句塊
}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 的值");
}
}
}執(zhí)行以上代碼,輸出結果為:
$ scalac Test.scala $ scala Test X 的值為 30
if...else 嵌套語句可以實現(xiàn)在 if 語句內嵌入一個或多個 if 語句。
if...else 嵌套語句語法格式如下:
if(布爾表達式 1){
// 如果布爾表達式 1 為 true 則執(zhí)行該語句塊
if(布爾表達式 2){
// 如果布爾表達式 2 為 true 則執(zhí)行該語句塊
}
}else if...else 的嵌套語句 類似 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");
}
}
}
}執(zhí)行以上代碼,輸出結果為:
$ scalac Test.scala $ scala Test X = 30 , Y = 10