java语言中do while循环至少执行1次的理解

java语言中基本循环结构分为三类:

    1.for

    2.while

    3.do while

一般情况下,同样的 "初始条件/判断语句/循环体语句/步进语句" 时,执行结果相同,如下:

1. for循环:

java语言中do while循环至少执行1次的理解_第1张图片

 2. while循环:

java语言中do while循环至少执行1次的理解_第2张图片

3. do while循环:

java语言中do while循环至少执行1次的理解_第3张图片

以上三种运行结果相同,如下:

java语言中do while循环至少执行1次的理解_第4张图片

但是当判断语句一次都不满足时,情况又如何呢?

1. for循环:

java语言中do while循环至少执行1次的理解_第5张图片

2. while循环

java语言中do while循环至少执行1次的理解_第6张图片

 for和while循环的结果相同,不输出任何值:

java语言中do while循环至少执行1次的理解_第7张图片

3. do while循环

java语言中do while循环至少执行1次的理解_第8张图片

 do while循环结果:

java语言中do while循环至少执行1次的理解_第9张图片

总结:

    1. 以上三种循环结构,当判断语句值为true的次数大于等于1次时,程序执行次数及结果完全相同;

    2. 当判断语句值为true的次数为0时,for和while循环的执行次数为0,即不执行. 但是do while循环会在未经判断语句判断之前,先执行唯一的1次;

关于do while的理解:

    这时候会有人问:为什么判断语句至少1次为ture时,相同情况下三种循环结构执行次数相同. 但一次都不为true时,do while却可以执行唯一的1次呢?

    实际原理是:for和while循环,从第1次循环开始,即判断是否可以执行循环体.

    而do while循环是不对第1次循环进行判断的,直接执行第1次后,开始判断是否可以执行"步进"后的第2次,并不是执行1次后,再开始判断第1次是否合理!

    若三种循环均执行3次,那么:for和while判断3次执行3次, do while是执行1次,判断第2次和第3次并再执行第2/3次;

    若三种循环一次都不满足判断语句:for和while判断第1次时不满足,便不执行. 但do while则是不判断,执行一次循环体,再判断步进之后的值是否满足第2次执行条件,不满足则不执行第2次,但第1次已无脑执行;

    很多书籍及视频教程中均讲解为:因为有do 所以至少执行1次,实则不清不楚,容易混淆,望大家周知!

 

 

 

 

你可能感兴趣的:(java基础)