Java數組的使用

 


數組:引用數據類型,引用類型的數據都存放在堆中(String是引用類型)
    數組特點:
        1)數據存放在堆中,同一個數組內的元素在一塊連續的內存當中(可以通過下標對數組進行定位檢索,所以查詢效率很高)
        2)數組大小是固定的
        3)數組創建後會擁有默認值
        
    數組的內存模型:
        1)數組是存儲多個相同類型變量的對象,數組的所有元素都保存在堆內存中
        2)創建一個數組就是在堆中創建一個數組對象
        3)數組創建後立即擁有默認值
        4)索引從0開始
        5)連續分配
    
    數組分類:
        1)按照維度:
            1-1)一維數組:
            1-2)多維數組:
        2)按照數據類型:
            1-1)基本數據類型的數組:
            2-2)引用數組類型的數組:
    編寫一個數組的步驟:
        1)聲明:
        2)實例化:
        3)賦值:
        4)取值:
    一維數組:
        聲明:
            數據類型[] 數組名;
        實例化:
            new 數據類型[長度];
                new是內存分配操作符,所謂創建數組,就是在內存中弄個給數組分配空間
        賦值:
            1)默認初始值:(動態初始化)
                整數型:0
                浮點型:0.0
                字符型:\u0000
                布爾型:false
                引用類型:null
            2)顯式初始化:
                for循環:
                單個賦值:int temp=12;arr[0]=temp;
                靜態初始化:
                int[]arr={23,45,78};int[]arr=new int[]{23,4,578};
        取值:
            單個取值:temp=arr[0];
            for循環:
            foreach循環: 只能遍歷集合,是隻讀的
                for(元素的數據類型  變量名:  集合名){循環體}
        應用:
            排序:
                1)Arrays:Arrays.sort(數組名);只能對一維數組升序
                2)冒泡排序:相鄰的兩個元素進行比較
                3)選擇排序:在一組數中找最大或者最小值,找到後與第一個元素交換位置
    多維數組:數組的數組
        聲明:
            數據類型[][] 數組名;
        實例化:
            new  數據類型[行數][列數];
    鋸齒數組:
        聲明  
            數據類型[][]  數組名;
        實例化
            new  數據類型[行數][];
    
    
    
    數組的屬性:
        1)length:
            數組的長度,是隻讀的
            
    引用類型的原理:        
        聲明一個數組只是在棧中分配內存,用來存放數組名和數組中元素的地址,並不實際存儲元素的值,聲明只是在棧中存放了數組的名字,而數組的值(地址)是null,當數組被實例化之後,在堆中給該數組分配一個內存空間來存放數組元素的數據(產生一個地址),這時候將堆中的數組的首地址賦值給棧中的數組的值,這時,棧中存放的是數組的名字和該數組在堆中的內存地址(所以是引用類型),數組中元素的值是存放在堆中的;(引用類型都是)

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章