‘壹’ 为什么使用do…while循环编译后生成的代码的长度短于while循环
一般情况下两种方法下,while会比do while多一条进去循环的跳转指令,如下图汇编代码,黄色是多出来的。
原因是do while是直接进去循环,先执行再判断,while是先判断再执行,所以在进入时先要跳到判断的地方。
这里的影响太小了,不用太过于关注,而且大部分情况下还是要先判断再执行,所以while还是用的最多的。
‘贰’ 用JAVA的do-while语句编写程序例子
public class SimpleDoWhile {
public static void main(String[] args) {
int index = 1;
do {
System.out.println(index);
index = index + 1;
} while(index <= 10);
System.out.println("DONE.");
}
}
输出结果为:
(2)dowhile语句编译扩展阅读:
do...while 和while循环非常相似,区别在于表达式的值是在每次循环结束时检查而不是开始时。
和正规的 while 循环主要的区别是 do-while 的循环语句保证会执行一次(表达式的真值在每次循环结束后检查),然而在正规的 while 循环中就不一定了(表达式真值在循环开始时检查,如果一开始就为FALSE则整个循环立即终止)。
总结:while循环是先判断后循环 ,而do–while循环是先循环后判断。