初始化变量在for之前赋值为什么得到的结果不一样

来源:4-14 Java 循环语句之多重循环

时光先生丶

2017-03-07 11:54

int i=1;

int j=1;

for(;i<=3;i++){

for(;j<=8;j++){

System.out.print("*");

}

System.out.println();

}


写回答 关注

3回答

  • 阿米巴丶
    2017-03-07 13:13:45
    已采纳
    int i=1;
    int j=1;
    for(;i<=3;i++){
        j=1
        for(;j<=8;j++){
            System.out.print("*");
        }
        System.out.println();
    }
    
    每次j循环结束后,给j重新赋值


    时光先生丶

    非常感谢!

    2017-03-07 14:03:19

    共 1 条回复 >

  • FF000
    2017-03-07 13:32:15

    验证了一下,你这是一行“*”与三行“*”的区别。原因我想是因为看你FOR循环写在哪个成员变量后头,你现在是写在“j”后头,那么你的内外循环就只执行一次,而如果你把“i、j”都写在各自的循环里面,那么就是一个长方形。因为当你都写外头时,程序按顺序执行一次完成后,不可能还回来读你的成员“i”变量。

    阿米巴丶

    实际上提问者的语句的并不是没输出 只是后面两句输出的都是回车 你看不见而已

    2017-03-07 17:04:28

    共 2 条回复 >

  • 阿米巴丶
    2017-03-07 13:10:58

    因为有两个循环,第一个i=1时循环执行下面的循环for(;j<=8;j++),执行完后就j=9了;然后i=2,此时下面的for(;j<=8;j++)循环没办法执行,因为j已经是9了。所以只有第一次时会输出********

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165508 学习 · 17586 问题

查看课程

相似问题