1.if-else声明

プログラムは、外部環境がどのように変化しても、常に同じことを行うのではあまり役に立ちません。プログラムは、さまざまな状況に適応し、ある状況では特定のアクションを実行し、他の状況では異なる動作を実行できる必要があります。

Java では、これは条件ステートメントで行われます。このステートメントでは、条件の真理値に応じてさまざまなコマンド ブロックを実行できる特別なキーワードが使用されます。

条件ステートメントは、条件ステートメント 1ステートメント 2の 3 つの部分で構成されます。条件が true の場合、ステートメント 1が実行されます。それ以外の場合はステートメント 2が実行されます。どちらのコマンドも実行されることはありません。この種のステートメントの一般的な外観は次のとおりです。

if (condition)
   statement 1;
else
   statement 2;
if-else条件文

次のように平易な英語で書くと非常に理解できます。

If condition is true, then
   execute statement 1;
otherwise
   execute statement 2;
if-else平易な言葉での声明

例:

コード 説明
int age = 17;
if (age < 18)
   System.out.println("You are still a child");
else
   System.out.println("You are now an adult");
画面出力は次のようになります。
You are still a child
int temperature = 5;
if (temperature < 0)
   System.out.println("It's freezing outside");
else
   System.out.println("It's warm");
画面出力は次のようになります。
It's warm
int age = 18;
if (age == 18)
   System.out.println("You've been drafted for military service");
else
   System.out.println("Report for duty anyway");
画面出力は次のようになります。
You've been drafted for military service


2. ステートメントのブロック

条件が満たされている (または満たされていない) 場合、プログラムで複数のコマンドを実行したい場合は、それらを 1 つのブロックに結合できます。

コマンドをブロックに結合するには、コマンドを中括弧で「囲み」ます。一般的には次のようになります。

{
   statement 1;
   statement 2;
   statement 3;
}

1 つのブロック内に必要な数のステートメントを含めることができます。あるいは、何もないことさえあります。

if-elseステートメントとステートメントのブロックを組み合わせた例:

コード 説明
int age = 17;
if (age < 18)
{
   System.out.println("You are still a child");
   System.out.println("Don't talk back to adults");
}
else
{
   System.out.println("You are now an adult");
   System.out.println("And thus ends your youth");
}
画面出力は次のようになります。
You are still a child
Don't talk back to adults
int temperature = 5;
if (temperature < 0)
{
   System.out.println("It's freezing outside");
   System.out.println("Put on a hat");
}
else
   System.out.println("It's warm");
画面出力は次のようになります。
It's warm
int age = 21;
if (age == 18)
   System.out.println("You've been drafted for military service");
else
{
}
空のブロックが実行されます。
コードは正常に実行されますが、何も表示されません。

3.if声明の省略形

場合によっては、条件が true の場合はor ステートメントを実行する 必要がありますが、条件が false の場合は何も実行する必要はありません

たとえば、次のコマンドを指定できます:ただし、バスが存在しない場合は反応しません。Java では、このシナリオでは、ブロックのないステートメントという短縮形を使用できます。If Bus No. 62 has arrived, then get aboardifelse

つまり、条件が true の場合にのみステートメントを実行する必要があり条件が false の場合に実行するコマンドがない場合は、ブロックifを省略した簡潔なステートメントを使用する必要がありますelse。次のようになります。

if (condition)
   statement 1;
if条件文

以下に、同等のコードの 3 つの例を示します。

コード 説明
int age = 18;
if (age == 18)
{
   System.out.println("You've been drafted for military service");
}
else
{
}
画面出力は次のようになります。
You've been drafted for military service

プログラムにはelseブロックがありますが、空です (中括弧の間にステートメントがありません)。簡単に削除できます。プログラムでは何も変わりません。

コード 説明
int age = 18;
if (age == 18)
{
   System.out.println("You've been drafted for military service");
}
画面出力は次のようになります。
You've been drafted for military service
int age = 18;
if (age == 18)
   System.out.println("You've been drafted for military service");
画面出力は次のようになります。
You've been drafted for military service