最普通的java for循环

我确实没有想到,会栽倒在这里,好吧,其实是根本没有想到这里来,今天心血来潮,想刷刷算法,第一个挺简单,但是结果出来却和预期不一样。

是这么回事,平时写for循环的时候是这样子的:

int arrray[]=new int[]{1,2,3};
for(int i=0;i<array.length;i++)
for(int j=0;j<array.length;j++){
      if(i!=j)
        System.out.println(" "+i+" "+j);
}


可是某一瞬间让猪油蒙了心,我写成这样的:

for(int i=0;i<array.length;i++)
  for(int j=0;j<array.length&&i!=j;j++)
        System.out.println(" "+i+" "+j);

看着区别不大,然而前者的输出是这样的:

0 0
0 1
0 2
1 0
1 1
1 2
2 0
2 1
2 2

后者是这样的:快哭了

1 0
2 0
2 1

后者每当i=j之后,是不会不会不会继续继续继续往后执行的!

嗯,检查的时候我以为我的循环写的是对的,所以在输出看看的时候,我是很不屑的,这怎么会错!!后来?!后来就实力打脸了难过

我突然好像记起来,以前出现过这种问题,结果正确就没有多想(只是顺序i,j反了)现在看来,很有问题!果然细节是不容忽视的~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值