マンガで分かる Java入門講座

第5章 様々な処理
5-2. 条件分岐2 else

if文の続きとして「else」の使い方を紹介します。

● else

 if文では、条件がtrueの時の処理だけでなく、falseの時の処理を書く方法があります。それが「else」です。elseは「if (条件) {trueの時の処理} else {falseの時の処理}」と書きます。

説明)条件がtrueの時の処理の流れ
│
│if (true) {
└─┐
  ├○処理する
┌─┘
│} else {
│  ×無視する
│}
↓

説明)条件がfalseの時の処理の流れ
│
│if (false) {
│  ×無視する
│} else {
└─┐
  ├○処理する
┌─┘
│}
↓

ソースコード)elseの例 1
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」と出力

ソースコード)elseの例 2
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」を使います。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」と出力

図)else if文の処理の分岐
 │
┏┷━━━━━━━━┓
┃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

 「else 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」と出力

この講座のマンガ部分は「箱人形マンガ(Box Comic) 」で作成しています。
作成:2015/08/11  更新:2015/08/11  [Permalink]