Java循环控制语句

循环语句的作用是反复执行一段程序代码,直到满足终止条件为止。Java语言提供的循环语句有while语句,do-while语句和for语句。这些循环语句各有其特点,开发人员可根据不同的需要选择使用。本篇博文将主要介绍以上语句的使用方法进行详细的描述。

while语句

while语句的一般格式为:

while(布尔表达式)

{

循环体语句块

}

while语句中各个成分的执行次序是:先判断布尔表达式的值,若值为假,则跳过循环体,执行循环体后面的语句;若布尔表达式的值为true,则执行循环体中的语句块,然后回去判断布尔表达式的值;如此反复,直到布尔表达式的值为false,跳出while循环体为止。其执行流程如图所示:

java循环调用接口优化 java循环控制语句_while循环

示例:

public class WhileDemo{
	public static void main(String[] args){
		int count = 1;								//循环变量及其初始值
		while(count <= 5){							//循环条件
			System.out.println("count = " + count);
			count++;								//循环变量自增
		}
	}
}

do-while语句

do-while语句的一般格式为:

do{

循环体语句块

}while(布尔表达式)

do-while语句中各个成分的执行次序是:先执行一次循环体语句块,然后再判断布尔表达式的值,若值为false,则跳出do-while循环,执行后面的语句;若值为true,则再次执行循环体语句块。如此反复,知道布尔表达式的值为false,跳出循环为止。其执行流程如图所示:

java循环调用接口优化 java循环控制语句_java_02

示例:

public class DoWhileDemo{
    public static void main(String[] args){
        int num = 0;								//循环变量及其初值
        do{
            System.out.println(num);
            num++;									//循环变量自增
        }while(num < 5)                             //循环条件
    }
}

do-while循环语句与while循环语句的区别在于do-while循环中的循环体至少执行一次,而while循环中的循环体可能一次都不执行。

for语句

for语句一般格式为:

for(循环变量初始化;循环条件;循环过程表达式)

{

循环体程序语句块;

}

其中:“循环变量初始化”指对循环变量赋初值;“循环条件”用来判断循环是否继续进行;“循环过程表达式”完成修改循环变量,改变循环条件的任务。

for语句执行过程:

1.循环变量初始化。

2.求解布尔表达式,若值为true,则执行循环体中的语句块,然后执行第3步;若值为false则跳出循环。

3.执行循环过程表达式,然后转去执行第2步。

其执行流程如图所示:

java循环调用接口优化 java循环控制语句_while循环_03

示例:

public class ForDemo{
    public static void main(String[] args){
        int sum = 0;
        for(int i = 1;i <= 100;i++){
            sum += i;
        }
        System.out.println("sum = "+ sum);
    }
}

注意:在for语句中,for头(括号里的三个表达式),均可省略,但两个分号不可以省略。当省略了任何一个表达式时,应该将其写在程序中的其他位置,否则可能会导致“死循环”等问题。如果不是万不得已,尽量不要使用省略的表达形式,使用省略表达式的写法会导致程序可读性降低,影响代码整体质量。请记住:良好的编程习惯才能写出优秀的代码。

关于JDK1.5新补充的for语法,将在日后的博文中进行详细讲解。

循环语句比较

前面通过了示例程序讲述了三种循环语句的用法。一般情况下,Java系统提供的三种循环语句是可以相互替代的,尤其是对于那些确切的知道所需执行次数的循环。然而,由于for语句头中包含了控制循环所需要的各个构件,因此,对于同样的问题,使用for语句写的程序更加简洁清晰。如果要求1~100之和的问题分别用三种循环结构写出,就可以清楚地看到这一事实。对于那些只知道某些语句要反复执行多次(至少一次),但不知道确切的执行次数的问题,使用do-while循环会更加方便。对于那些某些语句可能要反复执行多次,也可能一次都不执行的问题,使用while循环就是最合适的了。