关于java while的简单的问题 希望高手解答(初学)

来源:百度知道 编辑:UC知道 时间:2024/06/18 06:18:46
public class DooBee {

public static void main(String[] args){
int x=1;
while(x<3){
System.out.print("Doo");
System.out.print("Bee");
x=x+1;
}
if(x==3){
System.out.print("Do");
}
}

}
这个程序当x<3时循环 而int x=1 后面x=x+1也是<3的啊 怎么不一直循环呢 还就是为什么加入x=x+1就可以不用一直循环下去了 而程序输出是DooBeeDooBeeDo 实在搞不太清楚 希望高手解答下 谢谢

while循环中x的初始值是1,1<3,(x<3)的值为true,所以进入while循环了,把两个单词打印一遍,然后x=x+1,那么x=2,2<3,while后面括号里的值为true,所以再次进入while循环,再次把两个单词打印了一遍,然后x=x+1,x在刚才2的基础上又加了1,即x=3,当它再次循环时,发现3=3,而不是3<3,(x<3)返回为false,就不会进入循环,然后跳出循环往下走,碰到了if(x==3)语句,而这时x=3,那么(x==3)的值就是true了,于是就进入了if语句里了,用System.out.print("Do"); 打印了一个Do,方法print()的作用是不换行打印.明白了吗

因为你的x<3是条件当条件不满足是就不循环了

因为你的x<3是条件当条件不满足是就不循环了
当X=1时 输出 DOOBEE 执行X=+1 这时X=2 满足条件
执行输出DOOBEE 执行X=+1 这时X=3不满足循环 跳出循环执行
IF 输出DO
这就是为什么是你输出的结果了
我也是新手 共同学习吧 加我 QQ 88138326