Java用于循环控制的有4种结构,如下:
while结构
do...while结构
for结构
增强型for结果
其中用的最多的,也最灵活的就是for结构。
一、while结构
语法:
while(布尔表达式){
布尔表达式为true的执行语句;
}
只要布尔表达式为true,那么循环会一直执行下去。
示例:
public classWhileDemo01 {public static voidmain(String[] args) {int num1 = 50;while(num1 > 40){
System.out.println(num1);
num1--;
}
}
}
运行结果:
当num1 大于40的时候,程序会一直循环输出num1,知道num1不大于40的时候,程序跳出while循环。
ps:死循环的表达式
while(true){
执行语句;
}
一般慎用死循环,但是也会有需求会用到,比如服务端的监听。。。
二、do...while循环结构
语法:
do{
执行语句;
}while(布尔表达式);
do...while和while的区别在于do...while至少会执行一次,然后在判断while内的布尔表达式是否为true,而while结构需要先判断布尔表达式是否为true。
我们把上述例子修改下,看下运行结果。
代码:
public classWhileDemo01 {public static voidmain(String[] args) {int num1 = 50;do{
System.out.println(num1);
num1--;
}while(num1 >= 50);
}
}
运行结果:
我们看到程序只输出了50,分析过程:
程序首先先执行System.out.println(num1)这条语句,打印输出50,然后进行自减为49,然后在判断while内的表达式,49>=50不成立,所以程序结束。
三.for循环结构
语法:
for(初始化;布尔表达式;变量更新){
执行语句;
}
关于 for 循环有以下几点说明:
最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。
然后,检测布尔表达式的值。如果为 true,循环体被执行。如果为false,循环终止,开始执行循环体后面的语句。
执行一次循环后,更新循环控制变量。
再次检测布尔表达式。循环执行上面的过程。
示例:
public classForDemo01 {public static voidmain(String[] args) {int num = 50;for(int i=1; i<=5; i++){
System.out.println(num+i);
}
}
}
运行结果:
四、增强型for循环结构
语法:
for(声明语句 : 表达式)
{//代码句子
}
这是在Java5 引入的,主要用于数组中使用。
需要说明的是:
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
示例:
public classForDemo02 {public static voidmain(String[] args) {int[] num={56, 33, 22, 11, 88};for(intx:num){
System.out.println(x);
}
}
}
运行结果: