if文では、条件がtrueの時の処理だけでなく、falseの時の処理を書く方法があります。それが「else」です。elseは「if (条件) {trueの時の処理} else {falseの時の処理}」と書きます。
│ │if (true) { └─┐ ├○処理する ┌─┘ │} else { │ ×無視する │} ↓
│ │if (false) { │ ×無視する │} else { └─┐ ├○処理する ┌─┘ │} ↓
int price = 2000; double discount = 0; if (price >= 1000) { discount = 0.2; } else { discount = 0.1; } price = (int)(price * (1.0 - discount)); System.out.println("price " + price); // 「price 1600」と出力
int price = 100; double discount = 0; if (price >= 1000) { discount = 0.2; } else { discount = 0.1; } price = (int)(price * (1.0 - discount)); System.out.println("price " + price); // 「price 90」と出力
さらに複雑な処理を行う場合は「else if」を使います。else ifを使った処理を示します。
int price = 2200; double discount = 0; if (price <= 1000) { discount = 0.1; // 1000円以下なら10%引き } else if (price <= 3000) { discount = 0.2; // 1000円超~3000円以下なら20%引き } else { discount = 0.3; // 3000円を超えるなら30%引き } price = (int)(price * (1.0 - discount)); System.out.println("price " + price); // 「price 1760」と出力
│ ┏┷━━━━━━━━┓ ┃if (price <= 1000)┃{ ┗┯┯━━━━━━━┛ │└───────┐ ┏┷━━━━━━┓┏┷━━━━━━━┓ ┃【false】なら ┃┃【true】なら ┃ ┃else以下の処理┃┃discount = 0.1; ┠→──┐if文を抜ける ┗┯━━━━━━┛┗━━━━━━━━┛ │ │ │ ↓} │ ┏━━━━━━━━━━━━┓ │ ┃else if (price <= 3000) ┃{ │ ┗┯┯━━━━━━━━━━┛ │ │└───────┐ │ ┏┷━━━━━━┓┏┷━━━━━━━┓ │ ┃【false】なら ┃┃【true】なら ┃ │ ┃else以下の処理┃┃discount = 0.2; ┠→─┐│if文を抜ける ┗┯━━━━━━┛┗━━━━━━━━┛ ││ │ ││ ↓} ││ ┏━━┓ ││ ┃else┃{ ││ ┗┯━┛ ││ │ ││ ┏┷━━━━━━━━━━━━━━━━┓ ││ ┃discount = 0.3; ┠─┐││if文を抜ける ┗━━━━━━━━━━━━━━━━━┛ │││ │││ } ↓↓↓ ┌──────────────────┴┴┘ ↓
「else if」は複数使用することができます。その例を示します。
int price = 2200; double discount = 0; if (price <= 1000) { discount = 0.10; // 1000円以下なら10%引き } else if (price <= 2000) { discount = 0.15; // 1000円超~2000円以下なら15%引き } else if (price <= 3000) { discount = 0.20; // 2000円超~3000円以下なら20%引き } else { discount = 0.25; // 3000円を超えるなら25%引き } price = (int)(price * (1.0 - discount)); System.out.println("price " + price); // 「price 1760」と出力