【Java】if文・switch文
この記事ではif文・switch文・三項演算子の使い方について解説します。
if文
//if文の構文 if(<条件式>){ <文> }
if( <条件式> )<文> 条件式に合致した場合if文の中身を実行します。
条件式に合致しない場合はif文の中の文を実行しません。
条件式に合致しない場合はif文の中の文を実行しません。
int a = 0; if (a == 0) { System.out.println("条件合致"); } // 実行結果 条件合致
なお以下の場合は実行されません。
条件式に合致してないからです。
条件式に合致してないからです。
int a = 0; if (a == 1) { System.out.println("条件合致"); } // 実行結果※出力無し
if-else文
//if-else文の構文 if(<条件式>){ <文> } else { <文> }
条件式に合致したい場合に処理を実行するにはif-else文を使用します。
int a = 2; if (a == 1) { System.out.println("条件合致1"); } else if (a == 2) { System.out.println("条件合致2"); } else { System.out.println("条件合致3"); } // 実行結果 条件合致2" // 実行結果(int a = 3)とした場合 条件合致3
if文で否定
// ifで否定する場合の構文 // int型等の変数の場合 if(!(a == b)){ //a,bはint型等の変数 <文> } // boolean型の変数の場合 if(!<条件式>){ <文> }
条件式を否定したい場合は、「!」を使用します。
int a = 1; if (!(a == 2)) { System.out.println("反転できた"); } // 実行結果 反転できた
上記では「!=」で左辺が右辺と等しくないことを指します。int型などが有効です。
//「!」:判定結果を反転 // 例1(equals) String abc = "abc"; if (!abc.equals("abd")) { System.out.println("abd以外です"); } // 実行結果 abd以外です // 例2 boolean flg = false; if (!flg ) { System.out.println("true"); } // 実行結果 true
比較演算子
// ifで以上・以下・より大きい・より小さいを比較するための構文 // 以上:aはb以上 if(a >= b){ <文> } // 以上:aはb以下 if(a <= b){ <文> } // より大きい if(a > b){ <文> } // より小さい if(a < b){ <文> }
「以上・以下・より大きい・より小さい」などの比較して条件を判定したりします。数値の比較で利用されます。
「以上・以下・より大きい・より小さい」など比較するための演算子を「比較演算子」と言います。比較演算子は以下の表にまとめました。
「以上・以下・より大きい・より小さい」など比較するための演算子を「比較演算子」と言います。比較演算子は以下の表にまとめました。
記述方法 | 意味 | |
---|---|---|
不等号 | A < B | AはBより小さい |
A > B | AはBより大きい | |
A <= B | AはB以下 | |
A >= B | AはB以上 | |
等号 | A == B | AはBと等しい |
A != B | AはBと等しくない | |
instanceof | A instanceof B | AはBと同クラスまたはBのサブクラス |
switch文の使い方
// switch文の構文
switch ( <式> ){
case <定数式1> : <文1>;
break;
case <定数式2> : <文2>;
break;
default : <文3>;
}
switch ( <式> ){
case <定数式1> : <文1>;
break;
case <定数式2> : <文2>;
break;
default : <文3>;
}
条件式が戻す値と一致するcase式を実行
defaultはどのcaseにも当てはまらなかったときに実行する処理
case毎にはbreakキーワード
⇒switch文の処理を終了させるために必要なキーワード、見つからない場合、見つかるまでcase内の文の処理を実行し続ける。敢えて省略しフォールスルーさせるのもありですが、可読性が下がります。(つけ忘れ?あえて等)
breakの代わりにreturnでも問題なし
int num = 10; switch (num) { case 10 : System.out.println("10です"); break; case 20 : System.out.println("20です"); break; default : System.out.println("その他です"); break; } // 実行結果 10です // 実行結果(int num = 20;)とした場合 20です // 実行結果(int num = 21;)とした場合 その他です
Javaの記事の一覧はJava にまとめてあります