JAVA配列のポインタ特性

6917 ワード

JAVA配列のポインタ特性
プロジェクト管理に追われて、しばらく具体的なコードの実現に関心がなくて、いくつかのコードを見ることができてまだ少しぼんやりしているので、時間を割いて以前学んだことを再総括して、技術は根本的にどんなに忙しくても荒廃することはできません:
  • 1,静的初期化と動的初期化の原理は同じ
  • である.
  • 2、java配列名はポインタ
  • です.
  • 3、常配列すなわち常ポインタ、可変値可変アドレス
  • ネット上で既製のコードを外してそのまま走るとポインタの特性がまとめられます.
    コードブロック
    コードブロック構文は、標準markdownコードに従います.たとえば、次のようにします.
    package transformation;
    
    import java.io.BufferedReader;
    import java.io.ByteArrayInputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    import java.io.Serializable;
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    import java.util.Arrays;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    
    public class shuzu_zhizheng {
        public static void swap(int a[],int i,int j)  
        {  
            int t = a[i];  
            a[i] = a[j];  
            a[j] = t;  
        }  
        public static int[] a() {  
            int[] a = { 2, 1 };  
            return a;  
        }  
        static final int arr4[] = { 8, 3, 5, 1, 4, 2, 7 }; 
        public static void main(String args[]) { 
            //1,                     
            int[] arr = { 8, 3, 5, 1, 4, 2, 7 };//        
            int[] arr2 = new int[] { 8, 3, 5, 1, 4, 2, 7 };//        
            //              ,              ,           
            arr[0] = 0;//arr = [0, 3, 5, 1, 4, 2, 7]  
            arr2[0] = 0;//arr2 = [0, 3, 5, 1, 4, 2, 7]  
    
            //2,java         
            //  1               
            int[] arr3 = arr;// arr3   java         C    int *arr3 = arr;  arr3  arr     
            arr3[1] = 0;//  arr3    arr 1     ,  
            System.out.println(Arrays.toString(arr));//   arr = [0, 0, 5, 1, 4, 2, 7]  
            //  2              
            arr = a();// arr = [2, 1] arr        a    aarr3    arr      
            System.out.println(Arrays.toString(arr));// [2, 1]  
            System.out.println(Arrays.toString(arr3));// [0, 0, 5, 1, 4, 2, 7]  
            //  3       
            swap(arr,0,1);  
            System.out.println(Arrays.toString(arr));// [1, 2]  
            /* 
             *   javajava       
             */  
    
            //  4 java        
            /* 
             * ccjava               
             *       java    c  。 
             *       cc      ,  c           。 
             */  
    
            //  5 java               
            /* 
             *   arr4arr4arr4         。 
             */  
            arr4[0] = 0;//               
    //      arr4 = arr;//          arr4            。  
            /* 
             *     java       ,               。  ,    ,       ,      。 
             */     
        }   
    }