一、if-else声明

如果无论外部环境如何变化,程序总是做同样的事情,那么它们就不会很有用。一个程序需要能够适应不同的情况并在某些情况下采取某些行动,而在其他情况下采取不同的行动。

在 Java 中,这是通过条件语句完成的,它使用特殊关键字让您根据条件的真值执行不同的命令块。

条件语句由三部分组成:条件语句 1语句 2。如果条件为真,则执行语句 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.语句块

如果满足(或不满足)条件并且您希望您的程序执行多个命令,则可以将它们组合成一个

要将命令组合到一个块中,您可以将它们“包裹”在花括号中。这是它的一般外观:

{
   statement 1;
   statement 2;
   statement 3;
}

您可以在一个块中包含任意多的语句。甚至没有。

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
{
}
空块将被执行。
代码可以正常运行,但不会显示 任何内容。

if3.声明的缩写形式

有时,如果条件为真,您需要执行一个或语句 ,但如果条件为假,则什么都不要做。

例如,我们可以指定此命令:,但如果总线不在此处则不要做出反应。在 Java 中,这种情况让我们使用缩写形式:没有块的语句。If Bus No. 62 has arrived, then get aboardifelse

换句话说,如果只有条件为真时才需要执行语句,条件为假时没有要执行的命令,那么你应该使用语句if,它简洁并且省略了else块。它看起来像这样:

if (condition)
   statement 1;
if条件语句

以下是等效代码的三个示例:

代码 解释
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