while先判断后执行,循环体可能执行0次;do-while先执行后判断,循环体至少执行1次;语法上while为“while(条件){}”,do-while为“do{}while(条件);”。
核心区别就一句话:while是先判断再执行,do-while是先执行再判断。
while循环每次进入前都检查条件,为true才运行循环体;如果一开始条件就是false,整个循环体一次都不会跑。
do-while则不管条件真假,先完整执行一遍循环体,之后才去判断条件,满足才继续下一轮。
这是最直观的差异表现:

结构上一眼可辨:
选哪个,关键看逻辑是否要求“必须先干一次”: