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

## if 語句
if 語句有布爾表達式及之后的語句塊組成。
### 語法
if 語句的語法格式如下:
```
if(布爾表達式)
{
// 如果布爾表達式為 true 則執行該語句塊
}
```
如果布爾表達式為 true 則執行大括號內的語句塊,否則跳過大括號內的語句塊,執行大括號之后的語句塊。
### 實例
```
object Test {
def main(args: Array[String]) {
var x = 10;
if( x < 20 ){
println("x < 20");
}
}
}
```
[運行實例 ?](/try/runcode.php?filename=TestIf&type=scala)
執行以上代碼,輸出結果為:
```
$ scalac Test.scala
$ scala Test
x < 20
```
## if...else 語句
if 語句后可以緊跟 else 語句,else 內的語句塊可以在布爾表達式為 false 的時候執行。
### 語法
if...else 的語法格式如下:
```
if(布爾表達式){
// 如果布爾表達式為 true 則執行該語句塊
}else{
// 如果布爾表達式為 false 則執行該語句塊
}
```
### 實例
```
object Test {
def main(args: Array[String]) {
var x = 30;
if( x < 20 ){
println("x 小于 20");
}else{
println("x 大于 20");
}
}
}
```
執行以上代碼,輸出結果為:
```
$ scalac Test.scala
$ scala Test
x 大于 20
```
## if...else if...else 語句
if 語句后可以緊跟 else if...else 語句,在多個條件判斷語句的情況下很有用。
### 語法
if...else if...else 語法格式如下:
```
if(布爾表達式 1){
// 如果布爾表達式 1 為 true 則執行該語句塊
}else if(布爾表達式 2){
// 如果布爾表達式 2 為 true 則執行該語句塊
}else if(布爾表達式 3){
// 如果布爾表達式 3 為 true 則執行該語句塊
}else {
// 如果以上條件都為 false 執行該語句塊
}
```
### 實例
```
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 的值");
}
}
}
```
執行以上代碼,輸出結果為:
```
$ scalac Test.scala
$ scala Test
X 的值為 30
```
## if...else 嵌套語句
if...else 嵌套語句可以實現在 if 語句內嵌入一個或多個 if 語句。
### 語法
if...else 嵌套語句語法格式如下:
```
if(布爾表達式 1){
// 如果布爾表達式 1 為 true 則執行該語句塊
if(布爾表達式 2){
// 如果布爾表達式 2 為 true 則執行該語句塊
}
}
```
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");
}
}
}
}
```
執行以上代碼,輸出結果為:
```
$ scalac Test.scala
$ scala Test
X = 30 , Y = 10
```
- Scala 教程
- Scala 簡介
- Scala 安裝
- Scala 基礎語法
- Scala 數據類型
- Scala 變量
- Scala 訪問修飾符
- Scala 運算符
- Scala IF...ELSE 語句
- Scala 循環
- Scala while 循環
- Scala do...while 循環
- Scala do...while 循環
- Scala break 語句
- Scala 函數
- Scala 函數傳名調用(call-by-name)
- Scala 指定函數參數名
- Scala 函數 - 可變參數
- Scala 遞歸函數
- Scala 高階函數
- Scala 函數嵌套
- Scala 匿名函數
- Scala 偏應用函數
- Scala 函數柯里化(Currying)
- Scala 閉包
- Scala 字符串
- Scala 數組
- Scala Collection
- Scala List(列表)
- Scala Set(集合)
- Scala Map(映射)
- Scala 元組
- Scala Option(選項)
- Scala Iterator(迭代器)
- Scala 類和對象
- Scala Trait(特征)
- Scala 模式匹配
- Scala 正則表達式
- Scala 異常處理
- Scala 提取器(Extractor)
- Scala 文件 I/O