public class Qiu {
public static void main (string []args) {
int j=0;
for (int i=3;i>0;i--){
j+=i;
int x=2;
while(x<j){
x+=1;
System.out.print(x)
输出结果为33453456;第二个3怎么算出来的,这个for循环和while循环嵌套有什么注意的,我只算出了第一个3,后面的就不知道怎么来的,求大佬解释!!
第一次:j = 3,i = 3,x = 2; x < j = true x = 2 + 1 --> x < j = flase i--
第二次:j = 5,i = 2,x = 2; x < j = true x = 2 + 1 = 3 --> x < j = true x =3 + 1 = 4 --> x < j = flase i--
......
你要先理解。for(A;B;C)中,先判断条件B是否满足,满足的话执行for循环,然后将C中的变量改变,在判断条件是否满足,以此循环。
而while不一样,while(A)是先判断表达式A是否满足,满足就执行while循环,然后在判断条件是否满足。你这个能理解了,上面的结果就很容易了。
第一次:i=3;j=3;x=2; 2<3; 打印 2+1=3
第二次:i=2;j=3+2=5;x=2;2<5;打印 2+1=3;3+1=4;4+1=5; 5不大于5
第三次:i=1;j=5+1=6;x=2;2<6;打印 2+1=3;3+1=4;4+1=5;5+1=6; 6不大于6
第四次:i=0不大于0,退出,所以打印 33453456