[Java]条件分岐について
if else文
条件式の結果はboolean値(true、false)で返ってきて、trueの時の処理とfalseの時の処理をif文内の処理が実行されます。
書き方は下記のようになります。
if( 条件式 ) {
処理1
} else {
処理2
};
処理1は条件式がtrueの時に実行され、処理2は条件式がfalseの時に実行されます。
たとえば天気に対してtrue,falseを定義すると
public class Lesson1 {
public static void main(String[] args) {
boolean tenki = true;
if (tenki == true) {
System.out.println("洗濯をします");
System.out.println("散歩にいきます");
} else {
System.out.println("DVDを見ます");
}
}
}
洗濯をします
散歩にいきます
else if文
条件式を1つ以上使うためには、else if文を用いる事で複数の条件式を使うことが出来ます。
if( 条件式1 ) {
処理1
} else if ( 条件式2 ) {
処理2
} else {
処理3
};
処理1は条件式1がtrueの時に実行され、処理2は条件式2がtrueの時に実行され、処理3は1つ目と2つ目の条件式がfalseの時に実行されます。
else if文は上から順に条件式が評価され、ある条件がtrueであった場合にそのブロック内の処理文のみを実行します。
占い結果を条件分岐で表示したい時には下記のようになります。
public class Lesson4{
public static void main(String[] args) {
System.out.println("あなたの運勢を占います");
int fortune = new java.util.Random().nextInt(4) + 1;
if (fortune == 1){
System.out.println("大吉");
} else if (fortune == 2) {
System.out.println("中吉");
} else if (fortune == 3) {
System.out.println("吉");
} else if (fortune == 4) {
System.out.println("凶");
}
}
}
あなたの運勢を占います
中吉
ランダムに作成される1~4の数字に占い結果を代入して、それに応じた結果を表示させています。
文字列の比較
Javaでは条件式の中でString型の変数や文字列を比較する場合、特別な書き方をします。
たとえば「変数strの中が"夕日"だった場合」
if (str == "夕日") {
:
}
これでもコンパイルエラーは発生しないのですが時々変な動作をするので、下記のように変更します。
if (str.equals("夕日") {
:
{
正しくはこのように記述します。
忘れがちな内容ですし==でもエラーが発生しないので暗記するつもりでもいいかもしれないです。
switch文
式の評価結果と定数を比較して、一致した場合に処理が実行される。という多分岐処理を行うための方法です。
switch ( 式 ) {
case 定数1:
処理1;
break;
case 定数2:
処理2;
break;
default:
処理3;
}
式の結果が定数1と一致していれば処理1が実行され、定数2と一致していれば処理2が実行されます。
一致するものがない場合、default以下の処理が実行されます。(defaultの記述は任意です)
public class Lesson5 {
public static void main(String[] args) {
System.out.println("あなたの運勢を占います");
int fortune = 1;
switch (fortune) {
case 1:
System.out.println("大吉");
break;
case 2:
System.out.println("中吉");
break;
case 3:
System.out.println("吉");
break;
default:
System.out.println("凶");
}
}
}
あなたの運勢を占います
大吉
breakeの書き忘れはおきやすいので注意が必要です。
まとめ
条件分岐の基本的な内容をまとめました!
それぞれに気を付ける内容があるので、一気に覚えるのは難しいので逐次確認が必要そうです。
Discussion