黑马程序员技术交流社区

标题: 关于数组循环的问题for(int i=0; i<arr.length; i++)与for(int i:arr) [打印本页]

作者: 紫缘ぶ逸影    时间: 2014-10-13 09:13
标题: 关于数组循环的问题for(int i=0; i<arr.length; i++)与for(int i:arr)
如题,关于两种for循环来输出数组,其中的变量i有什么区别呢 int[] arr = new int{1,2,3,4};for{int i=0 ; i < arr.length() ; i++ }{  System.out.print(arr[i]);}for (int i : arr){  System.out.print(arr[i]);}为什么运行第二种方法就会报错java.lang.ArrayIndexOutOfBoundsException。

作者: 紫缘ぶ逸影    时间: 2014-10-13 09:15
如题,关于两种for循环来输出数组,其中的变量i有什么区别呢int[] arr = new int{1,2,3,4};
for{int i=0 ; i < arr.length() ; i++ }{  
      System.out.print(arr[i]);
}
for (int i : arr){  
        System.out.print(arr[i]);
}


为什么运行第二种方法就会报错java.lang.ArrayIndexOutOfBoundsException。



作者: bbdeyouxang    时间: 2014-10-13 18:07
第二种改成 System.out.print(i);你看看就知道为什么了
作者: 颜仔    时间: 2014-10-18 18:01
高级for循环,i指向的是数组中的各个元素。不是数组角标。
作者: SenGoo    时间: 2014-10-19 10:41
增强for循环中,arr[i]中i没有迭代!
作者: dushine2000    时间: 2015-10-30 17:15
越界  把System.out.println(arr[i]); 改成System.out.println(i);结果是对的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2