为了账号安全,请及时绑定邮箱和手机立即绑定

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

int i=1;

int j=1;

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

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

System.out.print("*");

}

System.out.println();

}


正在回答

3 回答

int i=1;
int j=1;
for(;i<=3;i++){
    j=1
    for(;j<=8;j++){
        System.out.print("*");
    }
    System.out.println();
}

每次j循环结束后,给j重新赋值


1 回复 有任何疑惑可以回复我~
#1

时光先生丶 提问者

非常感谢!
2017-03-07 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

阿米巴丶

那这你就理解错了, int i=1; for(;i<=3;i++){ for(int j=1;j<=8;j++){ System.out.print("*"); } System.out.println(); } i还是在外面,你试试
2017-03-07 回复 有任何疑惑可以回复我~
#2

阿米巴丶

实际上提问者的语句的并不是没输出 只是后面两句输出的都是回车 你看不见而已
2017-03-07 回复 有任何疑惑可以回复我~

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

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信