zoukankan      html  css  js  c++  java
  • 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;
            
        }
    
    }

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

  • 相关阅读:
    Asp.Net.Core 系列-中间件和依赖注入Hosting篇
    Asp.Net.Core 系列-中间件和依赖注入进阶篇
    Asp.Net.Core 系列-中间件和依赖注入基础篇
    修饰符总结
    CSS3边框border知识点
    浅谈CSS中的居中
    c#中的委托和事件
    c#基础知识复习-static
    c#基础知识复习
    Bfc的理解
  • 原文地址:https://www.cnblogs.com/tobecrazy/p/3548707.html
Copyright © 2011-2022 走看看