在本教程中,我们将介绍 Java 中决策制定语句的基础知识、语法和用法,例如 if、if else、if else if、nested if 等。您还将学习如何在 Java 中处理 switch 语句。
我们都在现实生活中做过决定。在特定情况下,我们从各种选择中选择最佳行动方案以达到期望的结果。Java 中的决策制定概念也一样。与其他编程语言一样,我们使用决策制定语句来运行替代方案中的特定代码块,以获得期望的结果。
定义上,决策制定是从可用的选项中选择一个合适的行动方案以实现期望结果的过程。
每种编程语言都有一些控制程序执行的条件。在 Java 中,决策制定语句根据表达式的测试条件提供要运行程序的语句或代码块的选择。决策制定结构测试程序中的一个或多个条件。如果表达式的值为 true,则控制流进入特定的代码块;否则,将为测试值 false 执行另一组代码。
Java 支持的决策制定语句的工作原理如下:
如果满足测试条件,则执行一组语句,否则执行另一组语句。测试条件有助于决策制定选择要执行的语句集。
以下是我们将在本教程中介绍的 Java 中各种类型的决策制定语句:
现在让我们详细研究每个主题。
if 语句是一个强大的工具和简单的决策制定语句,用于使用值检查特定条件。它检查测试条件的值是否为 true。它控制条件语句的执行流程。
在 Java 中,有各种形式的 If 语句,这些语句在程序中的使用取决于要测试的条件的复杂性。
Boolean 是 if 语句中主要用于条件测试的数据类型。Boolean 是一种原始数据类型,仅表示两个可能的值:true/false。如果您还没有学习过布尔数据类型,请访问我们的Java 中的数据类型教程。
if 语句,使用两个可能的值:true/false 来检查条件。如果条件为 true,它将执行条件体之后的代码块。
If 语句的通用语法
If (test_condition)
{
// block of codes();
}
// statement;
代码块可以是一个单独的语句,也可以是多个语句。
在这里,如果测试条件为 true,则执行紧跟的代码集;否则,控制将跳到 if 语句之后的指令。
为了更好地理解,让我们通过流程图查看其工作原理。
现在来看简单 if 语句的示例;
public class IfStatementEx {
public static void main(String[] args) {
int score = 100;
if(score==100) {
System.out.println("Century!!!");
}
System.out.println("Exit");
}
输出
Century!!! Exit
程序说明
在该程序中,我们最初为变量 score 分配了一个整数值。然后使用 if 语句,我们检查变量 score 中的值是否为 100。如果相等,则程序应显示消息 Century!!!。然后它会执行下一条语句,该语句又是带有 Exit 消息的打印语句。如果提供的条件不满足,则将打印 if 条件之后的语句,即消息 Exit 将被打印。简单 if 语句的缺点是它只执行真值之后的语句,并且不处理假情况。
If-else 语句的工作原理与简单的 if 语句类似。在 if 语句中,如果测试值为 false,则执行 If 语句之后的指令;而在 if-else 语句中,当 if 的测试条件值为 false 时,将执行 else 部分。
if-else 语句的语法是
If(test_condition)
{
// block of codes();
}
else
{
// block of codes();
}
在这里,如果测试条件为 true,则执行 if 部分的代码集;或者,如果测试条件为 false,则执行 else 部分的代码集。之后,控制将移至其余语句。
示例
public class IfStatementEx {
public static void main(String[] args) {
int n = -10;
if(n > 0) {
System.out.println("Positive Number");
}
else {
System.out.println("Negative Number");
}
System.out.println("Exit");
}
输出
Negative Number Exit
从上面的示例可以清楚地看出,如果给定的条件 n>0 为
在这里,在我们的例子中,n 的值为 -10,这是一个负数,因此显示了输出。
if-else-if 阶梯可用于检查多个条件。它是一个非常常见的编程结构,允许检查多个条件。
通用语法如下:
If (test_condtion 1)
{
// block of codes();
}
elseIf (test_condtion 2)
{
// block of codes();
}
elseIf (test_condtion 3)
{
// block of codes();
}
如果测试条件为 true,则执行测试条件之后的代码块;否则,控制将移至检查 elseif 序列中提到的后续条件。如果所有条件都不满足,则将执行 else 语句。
工作流程图
示例
public class IfStatementEx {
public static void main(String[] args) {
String color = "Red";
if(color == "Green") {
System.out.println("GO,PLEASE");
}
else if(color =="Orange") {
System.out.println("WAIT, PLEASE");
}
else if(color =="Red"){
System.out.println("STOP, PLEASE");
} else {
System.out.println("Signal not working");
}
}
}
输出
STOP, PLEASE
上面的示例展示了交通信号灯如何工作。这里
GO, PLEASE。WAIT, PLEASE。STOP,PLEASE。Signal not working”.”。一个 if 语句内部的另一个 if 语句称为Nested If。有时,我们需要检查一个 if 语句来执行另一个 If 语句的目标。
通用语法如下:
If(test_condition)
{
If(test_condition)
{
// block of codes();
}
Else
{
// block of codes();
}
}
else
{
// block of codes();
}
//statements();
如果测试条件为 true,则执行测试条件之后的代码块;这里代码块是另一个带有 else 部分的 if 语句。如果初始 if 条件为false,则将执行else 语句。
工作流程图
示例
public class IfStatementEx {
public static void main(String[] args) {
int a = 10, b =20;
if(a!=b ) {
if(a>b) {
System.out.println("a is greater than b");
}else {
System.out.println("a is less than b");
}
}else {
System.out.println("a and b are the same numbers");
}
}
}
输出
a is less than b
上面的程序展示了如何使用nested if 验证两个数字之间的关系。最初,它将检查两个数字是否为不同的数字。
a is greater than b”。a is less than b”。a and b are the same numbers。Java 的switch 语句主要用作捷径,当我们有多个可用的选择来为每个选择执行不同任务时。Switch 是 Java 中多个 If 语句的捷径。
Switch case 语句的通用语法如下:
Switch(expression);
{
case 0:
Statement 0();
break;
case 1:
Statement1();
break;
case 2:
Statement2();
break;
case 3:
Statement3();
break;
case 4:
Statement4();
break;
default:
Statement details();
}
一旦评估了switch 语句中给定的表达式,该表达式的值将与每个 case 的值进行比较。当匹配时,将执行关联的代码块。Switch 语句可以使用 break 语句,也可以不使用 break 语句,并且请注意,它通常与 break 语句一起使用。
查看以下程序
class Rainbow {
public static void main(String[] args) {
int colour = 7;
switch (colour) {
case 1:
System.out.println("Red");
break;
case 2:
System.out.println("Orange");
break;
case 3:
System.out.println("Yellow");
break;
case 4:
System.out.println("Green");
break;
case 5:
System.out.println("Blue");
break;
case 6:
System.out.println("Indigo");
break;
case 7:
System.out.println("Violet");
break;
default: System.out.println("Not a rainbow colour");
}
}
}
输出
Violet
在这里,在这个程序中,colour 是一个整数变量,其值为 7。现在 switch 语句将评估该变量,获取值 7,并在其 case 值中搜索匹配项。我们有 case 7,其中包含一个打印语句,用于显示“Violet”作为其输出。
使用switch 语句时需要注意的重要事项。
Switch 可以有一个或多个 case。switch 表达式的类型。字符、字符串、整数、字节、短整型、长整型或枚举。break 和 default 是可选的。