java一维数组

1.通过数组名进行赋值,其实质是引用

比如数组array1和数组array2

若执行array2=array1,实际上将array1的引用传递给array2,array1和array2 最后都指向同一个数组,array2原来引用的数组被回收。

例如:

    int [] array1={1,2,3};
            int [] array2=new int[10];
            array2=array1;
            for(int i=0;i<array2.length;i++)
            {
                System.out.println(array2[i]);
                array2[i]=i+9;
            }
            
            
            for(int i=0;i<array1.length;i++)
            {
                System.out.println(array1[i]);
                 
            }

在第一个循环中,修改array2的元素值,在第二个循环中输出的array1的值也会有相应的变化,说明array1和array2指向同一数组。

2.复制数组的方法

         a.通过循环逐个复制数组中的元素

         b.使用System类中静态方法arraycopy(注意arraycopy违反命名习惯

            System.arraycopy(src, srcPos, dest, destPos, length);

3.匿名数组

new elementType [] {value0,value1,value2....}

比如new int [] {1,2,3,5};

4.另类for循环

for(elementsType variable :array)

{

  System.out.print(variable);

}

5.数组参数传递与返回

package study;

public class array {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

            int [] array1={2,3};
     
            System.out.print("before swap
");
            for(int i :array1)
            {
                System.out.println(i);
            }
            swap(array1);
            System.out.print("after swap
"); 
            for(int i :array1)
            {
                System.out.println(i);
            }
         
            int [] result =reverse(new int[]{1,2,3,4,5,6,7}); //anonymous array
            System.out.print("after reverse
"); 
            for(int i :result)
            {
                System.out.println(i);
            }
            
            
    }
    public static void swap(int [] array)
    {
        int temp=array[0];
        array[0]=array[1];
        array[1]=temp;
        
    }
    public static int [] reverse (int [] array)
    {
         
        for(int i=0;i<=(array.length-1)/2;i++)
        {
            
            int temp = array[i];
             array[i]=array[array.length-1-i];
             array[array.length-1-i]=temp;
            
        }
        
        return array;
        
    }

}

对于数组类型参数,参数值是数组的引用

原文地址:https://www.cnblogs.com/tobecrazy/p/3548707.html