java 的foreach语句只能用来遍历吧,
我用来给数组赋值,结果是不行的。
为什么不行呢?int[] a={1,2,3};
for(int x:a)这里的x是指的什么?会按照1,2,3的顺序遍历吗?

解决方案 »

  1.   

    x是个临时变量,会一次获取a[?]元素给它赋值
    所以,会按照1,2,3的顺序变量
    相当
    for (int i=0; i<a.length; i++) {
        int x = a[i];
    }
      

  2.   

    和for (int i=0; i<a.length; i++)一样的呀~
      

  3.   

    最后x应该等于3了吧。除非你在for语句加上打印语句。
    那么最后就会打印完整数组
      

  4.   

    foreach语句本来就是用来遍历的x相当
    for (int i=0; i<a.length; i++) {
      int x = a[i];
    }在这里会按照1、2、3的顺序输出,但是如果你定义的数组是int[] a={1,5,3};那么输出的就是1、5、3
      

  5.   

    楼主请看:int[] a={1,2,3}; //一个int 的数组 foreach输出:
     for(类型 变量:数组){}修改如下:
    for(int x:a){
     System.out.print(x+"、") ;//x是一个变量 ,在你想要输出的时候用到,你用什么 ,输出的时候就写什么
    }
      

  6.   

    楼上正解,foreach只是纯粹用来便利的,而且我个人不是很喜欢用,而为foreach遍历过程中,不能更改该数组元素,for就够了,或者迭代
      

  7.   

    for each对所有的集合类对象都可以使用。不仅仅是对于数组。引入这个概念的用意是简化for循环的写法。
    如果想使用变量赋值,还是需要使用for