如何使用for循环在整个数组中赋值

时间:2015-02-15 03:04:31

标签: arrays

为什么这不起作用,即将数组中的每个元素分配给1?

         int []iA2 = new int[10];
         System.out.println(iA2[0]); //0
         for (int place:iA2){
             place=1;
         }
         System.out.println(iA2[1]); // prints 0

1 个答案:

答案 0 :(得分:1)

iA2的值被分配给变量place。然后,您修改place的值。 你应该做什么:

for (int i=0; i<iA2.length; i++)
    iA2[i] = 1;

请注意,如果您正在处理诸如Vehicle类实例之类的对象,则可以迭代并更改实例变量。

for (Vehicle v: vehicles)
    v.speed = 10;

这是有效的,因为v被赋予了对象的引用,这与原始类型(例如int)的情况不同。