Java if...else ステートメント
Java if...else ステートメント
このチュートリアルでは、Java の if ステートメントと if...else ステートメントを使用した制御フロー ステートメントについて、例を使用して学習します。
プログラミングでは、if..else
を使用します 複数の選択肢の中でコードのブロックを実行するステートメント。
たとえば、生徒が得たパーセンテージに基づいて成績 (A、B、C) を割り当てます。
- パーセンテージが 90 を超える場合 、評価 A を割り当てます
- パーセンテージが 75 を超える場合 、評価 B を割り当てます
- パーセンテージが 65 を超える場合 、グレード C を割り当てます
1. Java if (if-then) ステートメント
if-then の構文 ステートメントは:
if (condition) {
// statements
}
ここで、条件 age >= 18
などのブール式です .
- if 状態
true
に評価されます 、ステートメントが実行されます - if 状態
false
に評価されます 、ステートメントはスキップされます
if ステートメントの働き
<図>例 1:Java if ステートメント
class IfStatement {
public static void main(String[] args) {
int number = 10;
// checks if number is less than 0
if (number < 0) {
System.out.println("The number is negative.");
}
System.out.println("Statement outside if block");
}
}
出力
Statement outside if block
プログラムでは、number < 0
false
です .したがって、括弧内のコードはスキップされます .
注: テスト条件について詳しく知りたい場合は、Java Relational Operators と Java Logical Operators にアクセスしてください。
テスト条件として Java Strings を使用することもできます。
例 2:Java if with String
class Main {
public static void main(String[] args) {
// create a string variable
String language = "Java";
// if statement
if (language == "Java") {
System.out.println("Best Programming Language");
}
}
}
出力
Best Programming Language
上記の例では、if
の 2 つの文字列を比較しています。 ブロックします。
2. Java if...else (if-then-else) ステートメント
if
テスト式が true
と評価された場合、ステートメントはコードの特定のセクションを実行します .ただし、テスト式が false
に評価される場合 、何もしません。
この場合、オプションの else
を使用できます ブロック。 else
の本文内のステートメント テスト式が false
と評価された場合、ブロックが実行されます .これは if-...else として知られています
if...else の構文 ステートメントは:
if (condition) {
// codes in if block
}
else {
// codes in else block
}
ここで、プログラムは 1 つのタスクを実行します (if
内のコード ブロック) 条件が true
の場合 および別のタスク (else
内のコード ブロック) 条件が false
の場合 .
if...else ステートメントの仕組み
<図>例 3:Java の if...else ステートメント
class Main {
public static void main(String[] args) {
int number = 10;
// checks if number is greater than 0
if (number > 0) {
System.out.println("The number is positive.");
}
// execute this block
// if number is not greater than 0
else {
System.out.println("The number is not positive.");
}
System.out.println("Statement outside if...else block");
}
}
出力
The number is positive. Statement outside if...else block
上記の例では、number という名前の変数があります。 .ここで、テスト式 number > 0
number かどうかを調べます は 0 より大きいです。
number の値から 10 です 、テスト式は true
と評価されます .したがって、 if
の本体内のコード 実行されます。
ここで、number の値を変更します 負の整数に。 -5 としましょう .
int number = -5;
number の新しい値でプログラムを実行すると 、出力は次のようになります:
The number is not positive. Statement outside if...else block
ここで、number の値 -5 です .したがって、テスト式は false
と評価されます .したがって、 else
の本体内のコード 実行されます。
3. Java if...else...if ステートメント
Java では、if...else...if があります。 他の複数のブロック間で 1 つのコード ブロックを実行するために使用できるはしご。
if (condition1) {
// codes
}
else if(condition2) {
// codes
}
else if (condition3) {
// codes
}
.
.
else {
// codes
}
ここでは、if
ステートメントは上から下に向かって実行されます。テスト条件が true
の場合 、その if
の本体内のコード ブロックが実行されます。そして、プログラム制御は if...else...if の外にジャンプします はしご。
すべてのテスト式が false
の場合 、 else
の本体内のコード
if...else...if はしごはどのように機能しますか?
<図>例 4:Java の if...else...if ステートメント
class Main {
public static void main(String[] args) {
int number = 0;
// checks if number is greater than 0
if (number > 0) {
System.out.println("The number is positive.");
}
// checks if number is less than 0
else if (number < 0) {
System.out.println("The number is negative.");
}
// if both condition is false
else {
System.out.println("The number is 0.");
}
}
}
出力
The number is 0.
上記の例では、number かどうかをチェックしています。 ポジティブです 、ネガティブ 、またはゼロ .ここでは、2 つの条件式があります:
number > 0
- number かどうかをチェックします 0 より大きいnumber < 0
- number かどうかをチェックします 0 未満です
ここで、number の値 0 です .したがって、両方の条件は false
と評価されます .したがって、 else
の本文内のステートメント 実行されます。
注意 :Java には 三項演算子 と呼ばれる特別な演算子が用意されています 、これは if...else...if の一種の簡略表記です 声明。三項演算子については、Java 三項演算子をご覧ください。
4. Java ネストされた if..else ステートメント
Java では、if..else
も使用できます。 if...else
内のステートメント 声明。ネストされた if...else
と呼ばれます
3 のうち最大のものを見つけるプログラムは次のとおりです。 ネストされた if...else
を使用した数値
例 5:ネストされた if...else ステートメント
class Main {
public static void main(String[] args) {
// declaring double type variables
Double n1 = -1.0, n2 = 4.5, n3 = -5.3, largest;
// checks if n1 is greater than or equal to n2
if (n1 >= n2) {
// if...else statement inside the if block
// checks if n1 is greater than or equal to n3
if (n1 >= n3) {
largest = n1;
}
else {
largest = n3;
}
} else {
// if..else statement inside else block
// checks if n2 is greater than or equal to n3
if (n2 >= n3) {
largest = n2;
}
else {
largest = n3;
}
}
System.out.println("Largest Number: " + largest);
}
}
出力 :
Largest Number: 4.5
上記のプログラムでは、これを簡単にするために変数の値を自分で割り当てました。
ただし、実際のアプリケーションでは、これらの値はユーザー入力データ、ログ ファイル、フォーム送信などから取得される場合があります。
Java