【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 にまとめてあります
