Java 流程控制语句
本文介绍 Java 流程控制语句。
Java 应用程序代码通常按代码出现的顺序从上到下顺序执行。在有些业务逻辑中,我们可能需要有条件地执行代码。控制语句帮助我们有条件地执行代码块。
所有控制语句都与条件相关:当条件为 true
时,代码块将执行;否则条件为 false
,则会跳过。
Java 支持以下控制语句。
1. if-else 语句
if-else
语句仅在判断条件执行结果为 true
时才告诉程序执行代码的特定部分,否则执行 else 块。
我们可以嵌套 if-else
块。
public class JavaExample
{
public static void main(String[] args)
{
boolean condition = true;
if(condition) {
System.out.println("Condition is true");
}
else
{
System.out.println("Condition is false");
}
}
}
程序输出:
Condition is true
2. switch 语句
if-else
语句的程序仅在判断条件结果为 true
或 false
时才执行代码的特定部分,而 switch
语句可以具有多个执行路径。
switch 适用于 byte
,short``,char
和 int
基本数据类型。它还可用于枚举类型,String 类和一些包装某些基本类型的特殊类:Character,Byte,Short 和 Integer。(在 Java 5 中添加了支持枚举,在 Java 7 中添加了支持 String 类)。
public class JavaExample
{
public static void main(String[] args)
{
String value = "B";
switch (value)
{
case "A":
System.out.println("Value is A");
break;
case "B":
System.out.println("Value is B");
break;
default:
System.out.println("Value is neither A nor B");
break;
}
}
}
程序输出:
Value is B
3. While 循环
while 循环语句在判断条件为 true
时连续执行语句块。while 语句会持续测试表达式并执行其块,直到表达式的计算结果为 false。
public class JavaExample
{
public static void main(String[] args)
{
int count = 1;
while (count < 5)
{
System.out.println("Count is: " + count);
count++;
}
}
}
程序输出:
1
2
3
4
5
4. 循环执行
do-while 和 while 之间的区别是 do-while 在循环的底部计算判断条件。因此,do 块中的语句始终至少执行一次。
请注意,do-while 语句以分号结尾。条件表达式必须是布尔表达式。
int i = 1;
int sum = 0;
do
{
sum = sum + i;
i++;
}
while (i <= 10);
System.out.println(sum);
5. for 循环
for 语句在一系列值上进行迭代。它反复遍历值,直到判断条件不再满足时终止。
for(int num = 1; num <= 5; num++)
{
System.out.println(num);
}
程序输出
1
2
3
4
5
6.增强 for-each 循环
Java 5 引入了一个 for-each 循环,称为增强的 for-each 循环。它用于遍历数组和集合的元素。
int[] numList = {10, 20, 30, 40};
for(int num : numList)
{
System.out.println(num);
}
程序输出:
10
20
30
40
7. 打标签的语句
在程序执行过程中,遇到带标签的 break
语句,该控件都会立即退出封闭的带标签的块。同样,标记为 continue
将使控制重新开始。就像在普通的 break 和 continue 语句中一样,只是为代码块增加了标记。
public class JavaExample
{
public static void main(String[] args)
{
loop: for(int i=0; i < 6; i++)
{
if(i % 2 == 0)
{
System.out.println("In if block :: " + i);
continue loop;
}
else
{
System.out.println("In else block :: " + i);
}
}
}
}
程序输出。
In if block :: 0
In else block :: 1
In if block :: 2
In else block :: 3
In if block :: 4
In else block :: 5