Java do while循环

分享到:

do while是while循环的一种变形,虽然都是循环结构但do while与while的执行顺序完全不同,do while首先执行一次循环体然后再进行判断是否再次循环,while则是先判断再决定是否循环,这是do while与 while的根本区别。

(1) do while循环语法结构

do while循环语法结构图

(2) do while循环流程图

do while循环流程图

(3) do while循环实例

int a=1;
do{
	System.out.print(a+"\n");
	a++;
}while(a<=3);

//执行结果如下:

1
2
3

这个例子看起来和之前讲过的while循环没什么区别,然后我们稍微改动一下代码,把变量 a 的初始值改为4

int a=4;
do{
	System.out.print(a+"\n");
	a++;
}while(a<=3);

//执行结果如下:

4

虽然我们设置的条件是 变量a 的值不能大于3 但循环仍然被执行了一次,这就说明无论while后面的条件表达式的值为true还是false ,do while 循环至少会执行一次。这是do while 与 while循环的本质区别。

(4) do while死循环处理
虽说do while与while原理有差异,但如果条件设置不当同样会出现死循环,举例说明

//do while死循环示例

do {
	System.out.print("do while死循环\n");
} while(true);

这段代码如果执行起来就会不停的输出"do while死循环",之前在while循环的章节已经讲过可以通过在循环体中设置自己的逻辑通过break语句中断循环。同样在do while中也可以这样做,我们稍微修改一下代码:

int a=0;
do {
	if(a==3){
		break;
	}
	System.out.print("do while死循环\n");
	a++;
} while(true);

//执行结果如下:

do while死循环
do while死循环
do while死循环

通过人为的在循环体内设置逻辑判断可以轻易跳出死循环,本例在while条件始终为true的情况下只循环了3次

do while总结:
[1] do while 先执行后判断,循环至少执行一次
[2] while 先判断后循环,可能一次都不执行。这是do while与其它循环结构的重要区别。
[3] do while 能做的事用while一样能做,java并没有限定两者的使用场景
[4] do while 判断条件如果设置不当也会出现死循环

昵    称:
验证码:

相关文档: