
Javaのif文の使い方―基本構文から条件式の作り方、else文まで
Javaの構文の一つに「if文」があります。
if文は処理の分岐を扱う際に必要になります。
このページでは、if文の基本を例文を交えて記載していきます。
目次
1.Javaのif文の基本構文
Javaのif文では条件式を使用します(条件式については次の節で解説します)。
条件式の条件を満たす(値がtrue)の場合にif文の中の処理を行います。
このページの例文では基本的に処理は1つですが、いくつも記載することができます。
If(条件式){
処理
}
2.条件式の作り方
2-1.boolean型(true、false)と比較演算子(==、<、>、<=、>=、!=)について
boolean型は、true(真)とfalse(偽)の2種類のみを持つデータ型です。
比較演算子の内容と一致する場合は、結果がtrue、一致しない場合はfalseとなります。
例えば「==」は「左と右が等しい」ことを意味するので、「A==B」の場合「AとBが等しい」時はtrue、そうでない場合はfalseになります。
public class Main {
public static void main(String[] args) {
boolean bool = true;
int a = 5;
// boolがtrueなのでtrueを表示
System.out.println(bool);
// aと5が等しいのでtrueを表示
System.out.println(a == 5);
// aと5が等しくないのでfalseを表示
System.out.println(a == 8);
}
}
実行結果
true true false
それぞれの比較演算子の意味は下記の通りです。
A==B:AとBが等しい
※文字列の場合はA.equals(B)
A!=B :AとBが等しくない
A<B :AがBより小さい
A<=B :AがBより小さいか等しい
A>B :AがBより大きい
A>=B :AがBより大きいか等しい
if文の条件式はこれらの比較演算子を用いて作成します。
int a = 5;
if(a>3) {
// a>3がtrueなので、下記は表示される
System.out.println("aは3より大きい");
}
if(a<=0) {
// a<=0がfalseなので、下記は表示されない
System.out.println("aは0以下");
}実行結果
aは3より大きい
2-2.論理演算子(!、&&、||)について
論理演算子は条件式やboolean型と組み合わせて使います。
例えば「!」は、後に続く条件式やboolean型がtrueの場合はfalse、falseの場合はtrueになります。
int a = 5;
if(!(a>3)) {
// a>3がtrueなので、!でfalseになって下記は表示されない
System.out.println("aは3より大きくない");
}
if(!(a<=0)) {
// a<=0がfalseなので、!でtrueになって下記は表示される
System.out.println("aは0以下ではない");
}実行結果
aは0以下ではない
それぞれの論理演算子の意味は下記の通りです。
(&&)と(||)は複数の条件式やboolean型と組み合わせて使います。
!A :Aを否定(Aがtrueの場合はfalse、falseの場合はtrue)
A&&B :AとBが両方trueの場合はtrue、それ以外はfalse
A||B :AとBのどちらかがtrueの場合はtrue、それ以外はfalse
int a = 5;
int b = 10;
if(a==5 && b>8) {
// a==5とb>8が両方trueなので、両方trueの条件を満たすため、下記は表示される
System.out.println("aは5かつbは8より大きい");
}
if(a==5 && b>15) {
// b>15がfalseなので、両方trueの条件を満たさないため、下記は表示されない
System.out.println("aは5かつbは15より大きい");
}
if(a==5 || b>15) {
// a==5がtrueなので、どちらかがtrueの条件を満たすため、下記は表示される
System.out.println("aは5またはbは15より大きい");
}
if(a==8 || b>15) {
// a==5とb>15が両方falseなので、どちらかがtrueの条件を満たさないため、下記は表示されない
System.out.println("aは8またはbは15より大きい");
}
実行結果
aは5かつbは8より大きい aは5またはbは15より大きい
3.else文の使い方
else文を使用すると、if文の条件を満たさなかった場合の処理を行うことができます。
下記の処理2は条件式がfalseの場合に実行します
If(条件式){
処理1
}else{
処理2
}
int a = 5;
if(a>=10) {
// a>=10がfalseのため、下記は表示されない
System.out.println("aは10以上");
}else {
// 前のif文の条件がfalseのため、下記は表示される
System.out.println("aは10以上ではない");
}
実行結果
aは10以上ではない
4.else if文の使い方
else文は、if文の条件を満たさなかった場合の処理でした。
else if文では、if文の条件を満たさなかった場合、更に条件を追加できます。
下記の処理2は条件式1がfalseで条件式2がtrueの場合に実行します。
下記の処理3は条件式1と条件式2がfalseで条件式3がtrueの場合に実行します。
else if文はいくつも追加できます。
If(条件式1){
処理1
}else if(条件式2){
処理2
}else if(条件式3){
処理3
}
int a = 5;
if(a>=10) {
// a>=10がfalseのため、下記は表示されない
System.out.println("aは10以上");
}else if(a>=5){
// 前のif文の条件がfalseでa>=5がtrueのため、下記は表示される
System.out.println("aは5以上");
}else if(a>=3) {
// 前のif文の条件がtrueのため、下記は表示されない
System.out.println("aは3以上");
}
実行結果
aは5以上
5.(補足)switch文について
変数の値がある値と等しいかだけで処理を分けたい場合、else ifでも記載はできますが、switch文の方が利用されます。
変数が値1の場合は処理1、値2の場合は処理2、、、と実行します。
注意点として、breakを記載しないとそれより下に記載した処理も一緒に実行してしまいます。
defaultの処理は値が一致しなかった場合に実行します。
switch(変数){
case 値1:
処理1
break;
case 値2:
処理2
break;
case 値3:
処理3
break;
default:
処理4
}
String season = "夏";
switch (season) {
case "春":
System.out.println("春です");
break;
case "夏":
System.out.println("夏です");
break;
case "秋":
System.out.println("秋です");
break;
case "冬":
System.out.println("冬です");
break;
default:
System.out.println("季節ではありません");
}
実行結果
夏です
6.さいごに
if文を用いることで条件によって処理を実行するかどうかの選択ができます。
if文での処理の分岐は非常に重要なので、今回の内容をしっかりと押させてもらえればと思います。




コメント