---
# System prepended metadata

title: C++_if-else

---

# if-else

## 什麼是 if-else 語句？
不知各位可否聽過"交集、聯集"
這就是那東西喔!

`if-else` 語句是一種 **條件控制語句**，用來根據不同的條件執行不同的程式碼。
簡單來說，就是當某個條件成立時，就執行某段程式碼；
否則，就執行另一段程式碼。

## if-else 語句的語法
```cpp=
if (條件式) cout << 123;

else {
  // 條件式為false時執行的程式碼
}
```

* 條件式: 是一個表達式，其結果為真（true）或假（false）。
* 程式碼塊: 包含一組要執行的語句，用**大括號 {}** 包圍。
### 運作方式
* **判斷條件式**: 程式會先計算條件式的值。
* **執行程式碼**: 如果條件式為true，就執行 `if` 後面的程式碼塊；
否則，就執行 `else` 後面的程式碼塊。

eg.
```cpp=
#include <iostream>
using namespace std;

int main() {
  int age = 20;

  if (age >= 18) {
    cout << "成年了?????" << endl;
  } else {
    cout << "哦!!未成年" << endl;
  }

  return 0;
}
```

#### 解釋:
我們定義了一個整數變數 `age`，並將其初始化為 20。
`if` 語句判斷 `age` 是否大於等於 18。
如果 `age` 大於**或**等於 18，就輸出 "成年"；
否則，就輸出 "未成年。"
## 巢狀 if-else
我們可以在 `if-else` 語句中嵌套其他的 `if-else` 語句，以處理更複雜的邏輯判斷。

```cpp=
if (條件式1) {
  // 條件式1為true時執行的程式碼
  if (條件式2) {
    // 條件式1和條件式2都為true時執行的程式碼
  }
  else {
    // 條件式1為true，但條件式2為false時執行的程式碼
  }
} 
else {
  // 條件式1為false時執行的程式碼
}
```

## else if
當有多個條件需要判斷時，可以使用 `else if` 來連接多個條件判斷。

```cpp=
if (條件式1) {
  // 條件式1為true時執行的程式碼
} 
else if (條件式2) {
  // 條件式1為false，且條件式2為true時執行的程式碼
} 
else {
  // 所有條件式都為false時執行的程式碼
}
```

## 小結
`if-else` 語句是 `C++` 中最基本的條件控制語句之一，透過它，我們可以根據不同的條件執行不同的程式碼，使程式具有靈活性和可讀性。

### 條件運算子
1. == 等於
2. != 不等於
3. < 小於
4. \> 大於
5. <= 小於等於
6. \>= 大於等於
7. && 邏輯與
8. || 邏輯或
9. ! 邏輯非

eg.

```cpp=
if (x > 0 && y < 10) {
  // x 大於 0 且 y 小於 10 時執行
}
```

## NOTE
條件式必須是一個**判斷句**，其結果為**true或flase**。

程式碼塊中的語句可以是任意的 `C++` 語句。

可以使用**大括號**來表示程式碼塊，**即使只包含一條語句**，也建議使用大括號來提高程式碼的**可讀性**。