[英]While and do while loops
我是这个网站的新手,也是Java的新手,我试图了解do while循环
问题:输出是什么,为什么?
public class DoWhile {
public static void main(String[] args) {
int i = 1;
do {
System.out.println("i is : " + i);
i++;
} while(i < 1);
}
}
我得到的输出是“ i is:1”,但我试图理解原因。 一旦击中它就会停止,因为我不小于1,对吗?
只是想尽我所能,任何帮助将不胜感激。
是。 正确。
do { } while (condition);
无论条件如何,这将至少执行一次代码。 第一次执行后,它将检查条件,条件将被评估为false(1不小于1),因此将停止。
是的,输出是
i is : 1
do-while循环将至少执行一次,因为在进入循环之前不会评估条件。 仅在每次迭代结束时进行评估。 这与while
循环相反, while
循环的条件是在第一次迭代之前以及每次迭代之后都进行检查。
i
1
开始是1
,然后进行打印,然后i
增加到2
。 然后评估条件-它为false
,因此循环终止。
输出仅为1
因为do导致循环至少执行一次,但是while
中的条件不会让循环重复执行,因为i
永远不会小于1
不再是1
public class DoWhile {
public static void main(String[] args) {
int i = 1; // i is 1
do {
System.out.println("i is : " + i); //still i is 1
i++; // this makes i = 2;
} while(i < 1);
}
}
如果您注意到注释,则在第一次迭代后不再为1
是的,输出为1,因为在do-while循环中,do块中的语句始终至少执行一次。
执行do块后,i值为2,而while块不执行。
do-while和while之间的区别在于do-while在循环的底部而不是顶部评估其表达式。 因此,do块中的语句始终至少执行一次
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.