English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
このチュートリアルでは、Javaの制御フローステートメントについて学び、Javaのifおよびif ... else文を使用して、サンプルの助けにより理解します。
コンピュータプログラミングでは、通常、指定された条件がtrueまたはfalseであるかどうか(実行時にのみ知ることができます)に応じて、特定のコードの一部を実行したいと考えます。その場合、制御フローステートメントを使用します。
Javaで、if-then文の構文は以下の通りです:
if (expression) { // 文 }
これは布尔表現(expression)です。布尔表現はtrueまたはfalseを返します。
表現をtrueと計算した場合、ifを実行します(括弧内の文)本体内部の文
表現の計算結果がfalseの場合、ifの本体内の文はスキップされます。
class IfStatement { public static void main(String[] args) { int number = 10; //数字が0より大きいか確認 if (number > 0) { System.out.println("この数字は正数です。"); } System.out.println("この文は常に実行されます。"); } }
出力:
この数字は正です。 この文は常に実行されます。
上記の例では、numberという名前の変数があります。ここでは、テスト表現がnumberが0より大きいかどうかをチェックします(number > 0)。
numberが0より大きいため、テスト表現の計算結果がtrueです。その結果、if内のコードが実行されます。
今、numberの値を負の整数に変更します。例えば、 -5。
int number = -5;
上記のプログラムをnumberの新しい値で実行すると、以下のように出力されます:
この文は常に実行されます。
ここでは、numberの値が0より小さいため、テスト表現 number > 0の計算結果がfalseです。そのため、if内の文は実行されません。
テスト表現に関する詳細情報を知りたい場合は、Java 比較演算子 およびJava 逻辑演算子。
if文のテスト表現の計算結果がtrueの場合、その文が実行するコードの特定部分が実行されます。しかし、テスト表現の計算結果がfalseの場合、何も実行されません。
この場合、オプションのelseコードブロックを使用できます。テスト表現の計算結果がfalseの場合、ブロック内のelse文を実行します。これはJavaでは「if文のelse部分」と呼ばれます。if-then-else文。
if-then-else文の構文は以下の通りです:
if (expression) { // コード } else { // 他のコード }
ここでは、テスト表現がtrueの場合、プログラムはタスクを実行します(ifブロック内のタスク)、テスト表現がfalseの場合、別のタスク(elseコードブロック内のタスク)を実行します。
class IfElse { public static void main(String[] args) { int number = 10; //数字が0より大きいか確認 if (number > 0) { System.out.println("その数字は正です。"); } else { System.out.println("その数字は正数ではありません。"); } System.out.println("This statement is always executed."); } }
出力:
その数字は正です。 この文は常に実行されます。
上記の例では、numberという名前の変数があります。ここでは、テスト表現がnumberが0より大きいかどうかをチェックします(number > 0)。
numberの値が10ですので、テスト式の計算結果はtrueです。したがって、if内のコードを実行します。
今、numberの値を負の整数に変更します。例えば、 -5。
int number = -5;
プログラムを実行すると、numberに新しい値を使用する場合、出力は以下のようになります:
この数字は正数ではありません。 この文は常に実行されます。
ここでは、numberの値は-5です。したがって、テスト式の計算結果はfalseです。したがって、else内のコードを実行します。
Javaでは、if ... else ... if 階段文は、複数の他のコードブロックの間でどれか一つを実行するために使用されます。
if (expression1) { // コード } else if (expression2) { // コード } else if (expression3) { // コード } . . else { // コード }
ここでは、if文が上から下に実行されます。テスト式がtrueになるまで、if文の実行が続きます。その後、プログラムの制御はifにジャンプします。-else-if階段文の外
すべてのテスト式がfalseの場合、elseブロック内のコードを実行します。
class Ladder { public static void main(String[] args) { int number = 0; //数字が0より大きいか確認 if (number > 0) { System.out.println("この数字は正数です。"); } //数字が0より小さいか確認 else if (number < 0) { System.out.println("この数字は負数です。"); } else { System.out.println("数字は0。"); } } }
出力:
数字は0です。
上記の例では、変数numberが正数、負数、または0であるかを確認しています。ここでは、2つのテスト式があります:
number > 0 - numberが0より大きいか確認
number < 0 - numberが0より小さいか確認
ここでは、numberの値は0です。したがって、両方のテスト式の計算結果はfalseです。したがって、elseブロック内の文を実行しました。
Javaでは、if..else文内にif..else文を含めることもできます。これはネストされたif...else文と呼ばれます。
これは検索3最大の数字を探すプログラム:
class Number { public static void main(String[] args) { //宣言された双精度型変数 Double n1 = -1.0, n2 = 4.5, n3 = -5.3, largestNumber; //n1がn以上かどうか確認します2 if (n1 >= n2) { //if...else文がifブロック内にあります // n1がn以上かどうか確認します3 if (n1 >= n3) { largestNumber = n1; } else { largestNumber = n3; } } else { //elseブロック内のif...else文 //n2がn以上かどうか確認します3 if (n2 >= n3) { largestNumber = n2; } else { largestNumber = n3; } } System.out.println("最大の数字は " + largestNumber); } }
出力:
最大の数字は 4.5
注意:このプログラムでは、私たちは変数の値を自分で割り当てて、説明を簡略化しました。しかし、実際のアプリケーションでは、これらの値はユーザー入力データ、ログファイル、フォームの提出などから来る可能性があります。
Javaは、三元演算子の特別な演算です。記号これは、if ... else文の簡略化形式です。三元演算子について詳しく知りたい場合は、Java 三元演算子。