<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    未知數據

    從頭看Java

       ::  :: 聯系 :: 聚合  :: 管理
      28 Posts :: 0 Stories :: 10 Comments :: 0 Trackbacks

     

    1. 定義

        1. 同一個數組中只能存儲一種數據類型的數據

        2. 存儲的數據類型可以是基本數據類型,也可以是引用數據類型

        3. 數組也是一種類型,是一種引用數據類型.所以數組在定義的時候并未分配內存.

    2. 初始化

        1. 靜態初始化

            由程序員顯示指定每個數組元素的初始值,由系統決定需要的數組長度

        2. 動態初始化

            由系統程序員指定數組長度,由系統按照數據類型指定數組元素初始值.

        數組的初始化過程,就是為數組的數組元素分配內存空間的過程.靜態初始化和動態初始化不能同時進行,

    也就是不能即指定數組長度,又為數組元素指定初始值.

        如果數組是引用類型的,每個數組元素中的數據就是引用數據類型,這時的引用數據類型是保存在堆內存中

    的,而每個引用數據類型又指向另一塊堆內存空間,存儲有效的數據.

    3. 內存中的數組

    int[] arrayA = new int[3];

        如上,arrayA只是一個引用變量,和創建類時一樣,引用變量放在棧內存中.只有在new時,才會在堆內存中為對象分配內存空間.當將一個數組變量a,賦給數組變量b時,即將引用變量b也執行堆內存中a變量指向的對象實例,這樣兩個變量a和b都指向了同一個數組對象,而第二個數組則變成了垃圾,由系統垃圾回收機制在適當的時候回收這個對象所占用的內存.

        代碼清單: 數組的定義和初始化

     
    public class ArrayTest {
        
        public static void main(String[] args) {
            
            int[] a = {1,2,3};//靜態初始化
            int[] b = new int[4];//動態初始化
            
            System.out.println("數組a的長度:"+a.length);
            for (int i=0;i<a.length;i++) {
                System.out.println("a["+i+"]="+a[i]);
            }
            
            System.out.println("數組b的長度:"+b.length);
            for (int i=0;i<b.length;i++) {
                System.out.println("b["+i+"]="+b[i]);
            }
            
            b = a;
            System.out.println("數組b的長度:"+b.length);
            
        }
     
        /*
        result:
        數組a的長度:3
        a[0]=1
        a[1]=2
        a[2]=3
        數組b的長度:4
        b[0]=0
        b[1]=0
        b[2]=0
        b[3]=0
        數組b的長度:3
        */
    }

     

    4. 多維數組

        java中的多維數組實質上還是一維數組.比如二維數組,數組元素也是引用,而數組元素中的引用指向一維

    數組.

        代碼清單: 多維數組

     
    import java.util.Arrays;
     // Arrays類中包含常用的方法,包括復制數組,排序,查找,對比,填充等功能
    public class ArrayTest2 {
     
        public static void main(String[] args) 
        {
            int[][] a = new int[3][2];//定義一個二維數組a
            
            // 首先a是一個長度為3的一維數組
            for (int i = 0; i < a.length ; i++ )
            {
                System.out.println(Arrays.toString(a[i]));//每個數組元素都是一個引用一維數組的引用變量
            }
            
            a[0][0] = 1;
            a[0][1] = 2;
            //在這個一維數組中的元素又是一個一維數組
            System.out.println("二維數組的元素是一維數組:");
            for (int j = 0; j < 2; j++) {
                System.out.println("a[0][" + j + "]=" + a[0][j]);
            }
            
            System.out.println("重新賦值后的二維數組:");
            for (int i = 0; i < a.length ; i++ )
            {
                System.out.println(Arrays.toString(a[i]));
            }
     
            // 二維數組的遍歷
            System.out.println("二維數組的遍歷:");
            for (int i=0;i<3;i++) {
                for (int j=0;j<2;j++) {
                    System.out.println("a["+i+"]["+j+"]="+a[i][j]);
                }
            }
        }
        /*
        [0, 0]
        [0, 0]
        [0, 0]
        二維數組的元素是一維數組:
        a[0][0]=1
        a[0][1]=2
        重新賦值后的二維數組:
        [1, 2]
        [0, 0]
        [0, 0]
        二維數組的遍歷:
        a[0][0]=1
        a[0][1]=2
        a[1][0]=0
        a[1][1]=0
        a[2][0]=0
        a[2][1]=0
        */
        
    }
    posted on 2009-01-12 23:07 wangjc 閱讀(371) 評論(0)  編輯  收藏 所屬分類: 從頭看Java
    主站蜘蛛池模板: 亚洲美女自拍视频| 亚洲精品亚洲人成在线观看| 337p日本欧洲亚洲大胆精品555588 | 一区二区三区免费在线视频| 国产一区二区三区在线免费观看| 国产精品亚洲午夜一区二区三区| 在线天堂免费观看.WWW| 亚洲三级在线播放| 夜夜嘿视频免费看| 国产成人精品亚洲一区| 国产99视频免费精品是看6| 有码人妻在线免费看片| 亚洲AV无码一区二区三区在线观看| 人妻仑刮八A级毛片免费看| 亚洲性在线看高清h片| 最近免费中文字幕MV在线视频3| 久久夜色精品国产嚕嚕亚洲av| 性xxxx视频免费播放直播| 亚洲国产理论片在线播放| 久久久久久国产精品免费免费| 亚洲a∨无码精品色午夜| 亚洲日韩国产一区二区三区| 十八禁视频在线观看免费无码无遮挡骂过| 国产亚洲一区二区在线观看| 亚洲免费在线视频播放| 亚洲精品无码中文久久字幕| 亚洲男人第一无码aⅴ网站| 免费国产成人α片| 亚洲精品二三区伊人久久| 男人的天堂亚洲一区二区三区| 亚洲AV无码无限在线观看不卡| 免费乱理伦在线播放| 久久久久久AV无码免费网站下载 | 亚洲午夜久久久精品电影院| 午夜网站免费版在线观看| www在线观看播放免费视频日本| 久久亚洲精品中文字幕| 国产精品冒白浆免费视频| 免费国产叼嘿视频大全网站| 亚洲乱人伦中文字幕无码| 亚洲国产精品国自产拍AV|