int i=0,j=0;
while(i<10){
while(j<10)
System.out.println(""+(i++)+""+(j++));
执行完第一次输出00之后,为什么返回i的循环,而不是先执行完j的循环再执行i循环
int i=0,j=0; while(i<10){ while(j<10) System.out.println(""+(i++)+""+(j++));
}
大括号就到这里的,我想问为什么执行第二次循环是11,而不是01
给你整理一下代码你就看出来了:
int i=0,j=0;你看我代码里给你注释的部分,第一次运行完了之后,i和j的值都会被加1,这是因为i++和j++都是表示给i和j的值加1的,所以第一次循环运行完之后i和j的值都变成了1,所以第二遍内部循环的时候输出的是11,输出01是没有道理的,但是你有一点说的是对的,那就是第一次输出00之后,它是接着执行j的循环,也就是内部循环,并没有执行i循环。
有问题再追问。
再请教下,执行第一次后输出00,i,j都自加为1和1,那第二次循环是先判断j<10,然后输出11,还是先判断i<10再判断j<10然后再输出?
追答输出00之后,内循环没结束 会继续执行到 j<10 为false时(j==10时),才退出内循环返回外循环,而此时i==10,不满足外循环条件,外循环结束,程序终止。
本回答被提问者采纳