if文の続きとして「else」の使い方を紹介します。
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」と出力