java中的數組

概念

數組,就是容器,只能存放相同類型的數據;

數組的格式

數據類型[] 數組名 = new 數據類型 [數組的容量];

double[] scores = new double[100];
數組聲明縮寫
int[] arr={1,2,3,4};

數組中元素的存取

                int[] arr = new int[3];
                arr[0] = 1; // 給數組第一個元素賦值
        arr[1] = 2; // 給數組第二個元素賦值
        arr[2] = 3; // 給數組第三個元素賦值

        // 打印賦值結果
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);

總結:數組元素的存放和取出,都是通過數組的索引實現的;

數組的遍歷

class test_數組的遍歷 {
    public static void main(String[] args) {
            int[] array = {1, 2, 3, 4, 5, 6, 7};
            // 通過訪問length屬性獲取數組的長度
        // 格式: 數組名.length
        System.out.println(array.length);
        // i從0開始, 因爲數組下標從0開始
        // 循環判斷條件: i < 數組的長度
        // 循環變量增量: 每次循環結束索引值+1: i++
        for(int i = 0; i < array.length; i++){
            System.out.println(array[i]);
                }
    }
}

java的內存組成


堆:new 出的對象在堆上

java棧:java程序、線程運行數據、內存數據

每個方法都有自己的棧、運行時需要的數據存在自己的棧中

每個線程對立的是圖中淺藍色的部分(java棧、本地方法棧、程序計數器)

堆和方法區是所有線程共享的

java棧會對調用的每個方法生成一個棧幀

數組的內存圖解

一維數組內存圖解


二維數組內存圖解

引用傳遞和按值傳遞

public class reference{
    public static void main( String[] args){
        int[] arr=new int[3];
        int[] array=arr;
        array[0]=2;
        System.out.println(arr[0]);//2 引用傳遞
        int a=10;
        int b=a;
        b=20;
        System.out.println(a);//10  值傳遞
    }
}

引用類型的變量進行傳參,實際傳遞的是保存在變量中指向堆中空間的地址,這種傳參情況叫做引用傳遞;

如果一個引用改變了空間中的值,對所有指向這個空間的引用都有影響;

基本類型的變量進行傳參,實際傳遞的保存在變量中的常量值,這種情況叫做值傳遞;
如果改變一個變量的值,對其他的變量沒有影響;

數組的特點

數組,是一個容器,可以存放相同類型的數據;

數組有容量大小,使用length屬性可以獲取,方法是:數組名.length;

數組一旦創建,容量大小就固定不變;

數組中的元素都有索引,對數組元素的操作就是通過索引實現的;

索引的特點是,從0開始,連續遞增,最大值是數組容量減一;

什麼時候使用數組?

1.在數據量比較多,而且還是相同類型的;

2.數據量是確定的,不確定,就不知道該創建多大的數組裝;

3.數據可以有順序的,可以通過索引來操作的;

不滿足以上條件,但是同樣數據量比較大,該怎麼辦呢?使用集合;

二維數組

聲明一個二維數組:使用符合[][]表示;

數據類型[][] 數組名=new 數據類型二維數組的容量

int [] [] array = new int[3][2];

聲明時可直接賦值

int [] [] array = new int[][]{{1,2},{3,4,5},null};

開源地址

開源項目地址:https://github.com/371854496/...

java學習資料:https://github.com/371854496/...

各位覺得還闊以的話,點下Star,分享不易,thank you!

公衆號 全戰開花

獲取更多技術乾貨

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