Java if...else语句
在本教程中,您将在示例的帮助下了解Java中的控制流语句,使用Java的if和if ... else语句。
在计算机编程中,通常希望根据指定的条件是true 或 false(仅在运行时才知道)执行代码的特定部分。在这种情况下,将使用控制流语句。
Java if(if-then)语句
在Java中,if-then语句的语法为:
if(expression){//语句}
这是一个布尔表达式(expression)。布尔表达式返回 true 或 false。
如果将表达式计算为true,则将if执行(大括号内的语句)主体内部的语句
如果表达式的计算结果为false,则if主体内的语句将被跳过
if语句如何工作?
示例1:Java if语句
classIfStatement{publicstaticvoidmain(String[]args){intnumber=10;//检查数字是否大于0if(number>0){System.out.println("这个数字是正数。");}System.out.println("该语句始终被执行。");}}
输出:
这个数字是正数。该语句始终被执行。
在上面的示例中,我们有一个名为number的变量。在此,测试表达式检查number是否大于0(number > 0)。
由于number大于0。因此,测试表达式的计算结果为true。同时,将执行if内的代码。
现在,将的值更改number为负整数。假设为 -5。
intnumber=-5;
如果我们使用的新值运行上述程序number,则将仅输出为:
该语句始终被执行。
在此,number的值小于0。因此,测试表达式 number > 0,的计算结果为 false。因此,if内的语句不会被执行。
要了解有关测试表达式的更多信息,请访问Java 关系运算符 和Java 逻辑运算符。
Java if ... else(if-then-else)语句
如果if语句测试表达式的计算结果为true,则该语句执行代码的特定部分。但是,如果测试表达式的计算结果为false,则它不会执行任何操作。
在这种情况下,我们可以使用可选 else 代码块。如果测试表达式的计算结果为false,则执行块体内的else语句。这在Java中称为if-then-else语句。
if-then-else语句的语法为:
if(expression){//代码}else{//其他代码}
在这里,如果测试表达式为true,我们的程序将执行一个任务(if块内的任务),如果测试表达式为false,则另一项任务(else代码块内的任务)。
Java if... else 语句如何工作?
示例2:Java if else语句
classIfElse{publicstaticvoidmain(String[]args){intnumber=10;//检查数字是否大于0if(number>0){System.out.println("该数字为正。");}else{System.out.println("该数字不是正数。");}System.out.println("Thisstatementisalwaysexecuted.");}}
输出:
该数字为正。该语句始终被执行。
在上面的示例中,我们有一个名为number的变量。在此,测试表达式检查number是否大于0(number > 0)。
由于number的值为10,因此测试表达式的计算结果为true。因此,将执行if内的代码。
现在,将的值更改number为负整数。比方说 -5。
intnumber=-5;
如果我们使用的新值运行程序number,则输出为:
该数字不是正数。该语句始终被执行。
在这里,number的值是-5。因此,测试表达式的计算结果为false。所以将执行else内的代码。
Java if..else..if语句
在Java中,我们有一个if ... else ... if 阶梯语句,可用于在多个其他代码块之间执行其中一个代码块。
if(expression1){//代码}elseif(expression2){//代码}elseif(expression3){//代码}..else{//代码}
在这里,if语句从上到下执行。一旦测试表达式为true,就执行该if语句主体内的代码。然后,程序的控制跳到if-else-if阶梯语句外面。
如果所有测试表达式均为false,则执行else主体内的代码。
示例3:Java if..else..if语句
classLadder{publicstaticvoidmain(String[]args){intnumber=0;//检查数字是否大于0if(number>0){System.out.println("这个数字是正数。");}//检查数字是否小于0elseif(number<0){System.out.println("该数字为负数。");}else{System.out.println("数字是0。");}}}
输出:
数字是0。
在上面的示例中,我们正在检查变量number是正数,负数还是零。在这里,我们有两个测试表达式:
number > 0 - 检查 number大于0
number < 0 - 检查 number小于0
在这里,number的值是0。因此,两个测试表达式的计算结果均为false。因此,执行了else主体内部的语句。
Java 嵌套 if..else语句
在Java中,也可以在if..else语句内if..else语句。这称为嵌套if...else语句。
这是一个查找3个数字中,最大的一个数字的程序:
示例4:嵌套if ... else语句
classNumber{publicstaticvoidmain(String[]args){//声明双精度类型变量Doublen1=-1.0,n2=4.5,n3=-5.3,largestNumber;//检查n1是否大于或等于n2if(n1>=n2){//if...else语句在if块内//检查n1是否大于或等于n3if(n1>=n3){largestNumber=n1;}else{largestNumber=n3;}}else{//else块中的if...else语句//检查n2是否大于或等于n3if(n2>=n3){largestNumber=n2;}else{largestNumber=n3;}}System.out.println("最大的数字是"+largestNumber);}}
输出:
最大的数字是4.5
注意:在上面的程序中,我们自己分配了变量的值,以简化演示过程。但是,在实际应用中,这些值可能来自用户输入数据,日志文件,表单提交等。
Java提供了一种称为三元运算符的特殊运算符,它是if ... else语句的一种简写形式。要了解三元运算符,请访问Java三元运算符。