LoginSignup
1
1

More than 5 years have passed since last update.

Javaのお勉強 ~その10~ if文

Last updated at Posted at 2018-06-07

1. はじめに

さて、ここからプログラミングらしくなっていきます。

プログラミングは、制御文があって光り輝き出します!!
その制御文の一つ!!とても重要な「if 文」を勉強しましょう!!

2. if 文

if 文」とは、処理の流れで、

「もし~ならば」次の処理をする
「もし~でないならば」次の処理はしない

というように条件で処理を分岐させます。

例えば現実の世界ですと、

「もし雨が降れば」→「傘をさす」
「もしご飯が食べたいならば」→「ご飯を炊く」
「もしパスタが食べたいならば」→「パスタを茹でる」

といった感じです。日常生活にも if 文は多く潜んでいます。

2.1. if 文 - 基礎

では!!!実際に基礎構文を見ておきましょう!!

Main.java
public class Main {
    public static void main(String[] args) {

        // ↓ if文はここから
        if (条件式) {

        }
        // ↑if文はここまで
    }
}

if 文の書き方はシンプルですよね!
if ( 条件式 ) { 処理内容 } が定石です!!

条件式と書かれているところに、条件分岐を起こしたい条件式を書いて見てください。
条件式の結果は、「true」「false」のいずれかになります。

2.2. if 文 - 応用

ちょっぴち実態を持たせてあげます。

例えばですと、

Main.java
public class Main {
    public static void main(String[] args) {

        // 現在の天気状態
        String weather = "rain";

        // 現在の天気はどうであるか判定
        if (weather.equals("rain")) {
            // 雨である 一言コメントを出力しよう
            System.out.println("今日は雨だ。傘を持っていかないと");
        }

    }
}

このようなソースがあります。

処理の解説をしますと、

現在の天気状態を表す「weather」という変数が宣言され、「"rain"」で初期化されています。

そして肝であるif 文に入りました。
ここでの条件式は、

「weather.equals("rain")」

というもの。
これは「weather」の持っている文字列は「"rain"」と同じか?
という条件式になっています。

同じであれば「true」、同じでなければ「false」に置き換えられます。
「true」は真、条件に一致したということ
「false」は偽、条件に一致しなかったということ

イメージとしては、
if (weather.equals("rain")) { ... }
 ↓
if (true) { ... }
といった感じですね。

if 文の条件式が「true」になると { } 内の処理が行われますー!
今回は「今日は雨だ。傘を持っていかないと」という出力になりました。

ざっくりまとめると、
1番目の条件「weather.equals("rain")」が一致すれば、

「今日は雨だ。傘を持っていかないと」と出力する


そして例えば、
「weather」の初期化で「"Fine weather"」と入力するば、、、、、

Main.java
public class Main {
    public static void main(String[] args) {

        // 現在の天気状態
        String weather = "Fine weather";

        // 現在の天気はどうであるか判定
        if (weather.equals("rain")) {
            // 雨である 一言コメントを出力しよう
            System.out.println("今日は雨だ。傘を持っていかないと");
        }

    }
}

何も出てきません。寂しい。
ここでも重要なのは、 if 文に当てはまらず、「System.out.println("今日は雨だ。傘を持っていかないと");」の処理が行われなかったことに注目です!!

3. if - else 文

さて次は、「if - else」 文。

これは、
if 「もし~であれば」処理を行う
else 「ifに当てはまらないことがあれば」処理を行う

といった if 文に else がくっついたイメージを持ってもらえると嬉しいかな。
else 文は、if 文に当てはまらなかった条件があれば必ず拾ってくれます。

3.1. if - else 文 - 基礎

基礎構文は、

Main.java
public class Main {
    public static void main(String[] args) {

        // ↓if - else 文はここから
        if (条件式_1) {
            // 条件式_1がtrueの場合行われる処理
        } else {
            // if 文に当てハマらなかった時に行われる処理
        }
        // ↑if - else 文はここまで

    }
}

3.2. if - else 文 - 応用

例えば、

Main.java
public class Main {
    public static void main(String[] args) {

        // 現在の天気状態
        String weather = "Fine weather";

        // 現在の天気はどうであるか判定
        if (weather.equals("rain")) {
            // 雨である 一言コメントを出力しよう
            System.out.println("今日は雨だ。傘を持っていかないと");
        } else {
            // 上記の条件に当てはまらなかったみたいだ 一言コメントを出力しておこ
            System.out.println("今日は良い天気みたいだね。ルンルンルンバ");
        }

    }
}

このプログラムは、先ほどと同じく、

解説をすると、

1番目の条件「weather.equals("rain")」が一致すれば、

「今日は雨だ。傘を持っていかないと」と出力

1番目、条件に一致しなかった場合は、

「今日は良い天気みたいだね。ルンルンルンバ」と出力

といった感じかな。

4 if - else if - else 文

if 文に関して最後に1つ!大事なものが!
if - else if - else」文と呼ばれるものです。
これは、条件が複数になった場合です。

例えば、
「晴れていたら~をする」
「晴れていなくて、曇っていたら~をする」
「晴れでも曇りでもなく、雨だったら~をする」
「それ以外なら引きこもる」
といった感じで条件で考えてみましょう。

4.1. if - else if - else 文 - 基礎

まず、式の書き方ですが、

Main.java
public class Main {
    public static void main(String[] args) {

        // ↓if - else if - else 文はここから
        if (条件式_1) {
            // 条件式_1がtrueの場合行われる処理
        } else if(条件式_2){
            // 条件式_2がtrueの場合行われる処理
        } else {
            // 上記の条件に当てハマらなかった時に行われる処理
        }
        // ↑if - else if - else 文はここまで

    }
}

少しゴチャゴチャとしていまっていますね。。

4.2. if - else if - else 文 - 応用

例えば、

Main.java
public class Main {
    public static void main(String[] args) {

        // 現在の天気状態
        String weather = "Fine weather";

        // 現在の天気はどうであるか判定
        if (weather.equals("Fine weather")) {
            // 晴である
            System.out.println("今日は晴れだ。曇り一つない喜びの晴れじゃないか!遊びに行こう!");
        } else if (weather.equals("cloudy")) {
            // 曇りである
            System.out.println("今日は曇りだ!しかし関係ない!遊びに行こう!!");
        } else if (weather.equals("rain")) {
            // 雨である
            System.out.println("今日は雨だ。傘が必要だが遊びに行こう!!");
        } else {
            // 上記の条件に当てはまらなかった
            System.out.println("今日の天気よくわからない。ルンルンルンバ、遊びに行こう!!");
        }

    }
}

解説をすると、
1番目の条件「weather.equals("Fine weather")」が一致すれば、

「今日は晴れだ。曇り一つない喜びの晴れじゃないか!遊びに行こう!」と出力

1番目の条件が一致せず、2番目の条件「weather.equals("cloudy")」が一致すれば、

「今日は曇りだ!しかし関係ない!遊びに行こう!!」と出力

1番目と2番目の条件が一致せず、3番目の条件「weather.equals("rain")」が一致すれば、

「今日は雨だ。傘が必要だが遊びに行こう!!」と出力

1番目、2番目、3番目の条件全てに一致しなかった場合は、

「今日の天気よくわからない。ルンルンルンバ、遊びに行こう!!」と出力

このようにプログラムを組んでみた。

上記のプログラムでは、「weather」に「"Fine weather"」で初期化しているので、
1つ目の条件式が一致し、「今日は晴れだ。曇り一つない喜びの晴れじゃないか!遊びに行こう!」が出力されるはずだ。

注意点があるとすれば、ただ一度どこかで条件が一致してしまうと、その後の if - else や if - else - if 文の判定はスキップされます!
他の条件とも一致させたい場合は工夫が必要になる。ちょっと注意ですね。

もうすでにやっている方もいるかと思うが、「weather」の値を「"cloudy"」「"rain"」「"koukonko"」なんか適当に変えてみると結果が変わって面白いよ!

5. おわりに

今回も読んで頂いてありがとうございます!!!!
タイトルだけでも読んで頂ければ嬉しい!!

ちょっと話は変わりますが、
条件分岐の説明は少しお時間を頂きたいです。
ゆっくりじっくりやっていこうと思ってもいます。
お付き合いいただけると嬉し!

次回は「switch文」についてご説明したいと思います。ノシ

次回 →「Javaのお勉強 ~その11~ switch文

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1