はじめに
こんにちは。キノコードです。
「【5分レッスン】Java超入門コース#10 条件分岐」について説明します。
分岐処理とは?
レッスン4の「プログラムの基本構造」で説明しましたが、プログラムの基本的な動きは「順次」「分岐」「繰り返し」の3つです。
条件分岐とは、条件に合致する場合は「処理A」、そうではない場合は「処理B」ということができます。
if文
条件分岐の代表例が、if文です。
Javaでのきまりをみてみましょう
if (条件) {
条件を満たしたときの処理;
}
ifに続けて、「条件」を丸括弧の中に書きます。
波括弧の中に「条件を満たしたときの処理」を書いてセミコロン。この行は、インデントをひとつ右にずらして書きます。
波括弧は省略することもできます。
しかし、波括弧があったほうが、プログラムの可読性をあげることができます。
つまり、プログラムが読みやすくなり、ミスを減らし、作業効率をあげることができます。
波括弧は省略しないことをおすすめします。
それでは、実際に、ソースコードを見ていきましょう。
class Lesson10_01 {
public static void main(String[] args) {
int age = 22;
if (age >= 20) {
System.out.println("adult");
}
}
}
このコードは、ageという変数の値が20以上なら大人という意味のadultと表示させて、20未満なら子供という意味のchildを表示させるといった処理です。
ここで、年齢という意味のageという変数に「22」という数値を代入しました。
if文の条件にageが20以上と記述します。
22は、20以上です。条件を満たすので、「adult」が表示されるはずです。
実行してみましょう。
adultが表示されました。
class Lesson10_02 {
public static void main(String[] args) {
int age = 18;
if (age >= 20) {
System.out.println("adult");
}
}
}
ageという変数に「18」を代入してみましょう。
条件を満たさないので、何も表示されないはずです。
実行してみましょう。
何も表示されませんでした。
if ~ else文
次にif ~ else文についてみていきましょう。
先ほどみたように、ただのif文は、条件を満たさないとき、処理されずにプログラムが終わります。
一方、if ~ else文は、条件を満たさないときの処理を記述・実行することができます。
if ~ else文のきまりをみてみましょう。
if (条件A) {
条件Aを満たしたときの処理;
} else {
条件を満たさないときの処理;
}
先程のif文のあとに、elseと書きます。
elseのあとに波括弧。波括弧の中に、条件を満たさないときの処理を書きます。
ソースコードを見ていきましょう。
class Lesson10_03 {
public static void main(String[] args) {
int age = 18;
if (age >= 20) {
System.out.println("adult");
} else {
System.out.println("child");
}
}
}
ageに代入する数値を18とします。if文の条件は先ほどと同じように、20以上とします。
else以降の波括弧に、子供という意味の「child」を表示させる処理をかきます。
18は、20以上の条件を満たさないので、「child」が表示されるはずです。
実行してみましょう。else以下に処理が実行されて「child」が表示されました。
class Lesson10_04 {
public static void main(String[] args) {
int age = 22;
if (age >= 20) {
System.out.println("adult");
} else {
System.out.println("child");
}
}
}
ageに「22」を代入して実行してみましょう。
今度は条件を満たすので「adult」と表示されました。
もう一つ条件を加えたい場合に使うのが、else ifです。
きまりをみてみましょう。
if (条件A) {
条件Aを満たしたときの処理;
} else if (条件B) {
条件Bを満たさないときの処理;
} else {
条件を満たさないときの処理;
}
先程の条件Aのif文のあとに、elseと半角スペース。次にifと書いて丸括弧内に2つめの条件Bを書きます。
次の行に、「条件を満たさないときの処理」を書いてセミコロン。この行も、インデントをひとつ右にずらして書きます。
ソースコードを見ていきましょう。
class Lesson10_5 {
public static void main(String[] args) {
int age = 0;
if (age >= 20) {
System.out.println("adult");
} else if (age==0) {
System.out.println("baby");
} else {
System.out.println("child");
}
}
}
このコードは、20以上なら「adult」、0なら「baby」、それ以外なら「child」というものです。
else ifのところに、ageが0だった場合の処理を記述します。
ageの変数に「0」を代入します。
ageは0なので、babyが表示されるはずです。
実行します。babyと表示されました。