1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Java語言中的數(shù)組

        共 3666字,需瀏覽 8分鐘

         ·

        2021-03-31 10:04

        目錄

        • 一、定義格式
        • 二、動態(tài)初始化
        • 三、元素訪問
        • 四、內(nèi)存分配
        • 五、靜態(tài)初始化
        • 六、兩個常見問題
        • 七、兩個常見操作

        數(shù)組(array)是一種用于存儲多個相同類型數(shù)據(jù)的存儲模型。

        一、定義格式

        格式1:數(shù)據(jù)類型[ ] 變量名
        例:int[ ] arr
        定義了一個int類型的數(shù)組,數(shù)組名是arr
        格式2:數(shù)據(jù)類型 變量名[ ]
        例:int arr[ ]
        定義了一個int類型的變量,變量名是arr數(shù)組

        二、動態(tài)初始化

        Java語言中的數(shù)組必須初始化后才能使用,數(shù)組初始化即為數(shù)組中的元素分配內(nèi)存空間,并為每個元素賦值。
        動態(tài)初始化:初始化時指定數(shù)組長度,由系統(tǒng)為數(shù)組分配初始值。
        格式:
        數(shù)據(jù)類型[ ] 變量名 = new 數(shù)據(jù)類型 [ 數(shù)組長度 ] ;
        例:int[ ] arr = new int[5];
        int:說明數(shù)組類型為整型
        [ ]:說明定義了一個數(shù)組
        arr:數(shù)組名稱
        new:為數(shù)組申請內(nèi)存空間
        int:數(shù)組中的元素類型是int類型
        5:數(shù)組長度,也是數(shù)組中元素的個數(shù)

        三、元素訪問

        數(shù)組變量訪問方式
        格式:
        數(shù)組名
        數(shù)組內(nèi)部保存的數(shù)據(jù)的訪問方式
        格式:
        數(shù)組名[索引]
        索引:數(shù)組中訪問數(shù)據(jù)的編號方式,用于訪問數(shù)組中的數(shù)據(jù)使用。
        索引的特征:從0開始,連續(xù),逐一增加,每次加1。

        四、內(nèi)存分配

        Java程序在運(yùn)行時,需要在內(nèi)存中分配空間。為了提高運(yùn)算效率,對空間進(jìn)行了不同區(qū)域的劃分,每一塊區(qū)域都有特定的處理數(shù)據(jù)方式和內(nèi)存管理方式。
        棧內(nèi)存:
        存儲局部變量,即定義在方法中的變量,例如arr,使用完畢,立即消失。
        堆內(nèi)存:
        存儲new出來的內(nèi)容(實(shí)體、對象)。
        數(shù)組在初始化時,會為存儲空間添加默認(rèn)值,
        整數(shù):0
        浮點(diǎn)數(shù):0.0
        布爾:false
        字符:空字符
        引用數(shù)據(jù)類型:null
        每一個new出來的東西都要有一個地址值,使用完畢,會在垃圾回收器空閑時被回收。

        五、靜態(tài)初始化

        靜態(tài)初始化:初始化時指定每個元素的初始值,由系統(tǒng)決定數(shù)組長度。
        格式:
        數(shù)據(jù)類型[ ] 變量名 = new 數(shù)據(jù)類型[ ] {數(shù)據(jù)1,數(shù)據(jù)2,數(shù)據(jù)3,……};
        例:int [ ] arr = new int[ ]{1, 2, 3};
        簡化格式:數(shù)據(jù)類型[ ] 變量名 = {數(shù)據(jù)1,數(shù)據(jù)2,數(shù)據(jù)3,……};
        例:int[ ] arr = {1, 2, 3};
        public class day_005 {public static void main(String[] args){//動態(tài)初始化int arr1[] = new int[3];        System.out.println("動態(tài)初始化");       System.out.println("在內(nèi)存中的地址是:"+arr1);        System.out.println(arr1[0]);        System.out.println(arr1[1]);        System.out.println(arr1[2]);        System.out.println("------");//靜態(tài)初始化int[] arr2 ={2,3,4};        System.out.println("靜態(tài)初始化");       System.out.println("在內(nèi)存中的地址是:"+arr2);        System.out.println(arr2[0]);        System.out.println(arr2[1]);        System.out.println(arr2[2]);    }}


        六、兩個常見問題

        1. 索引越界
        訪問了數(shù)組中不存在的索引對應(yīng)的元素,造成索引越界問題
        public class day_005 {    public static void main(String[] args) {        //動態(tài)初始化        int arr1[] = new int[3];
               System.out.println(arr1[3]);        System.out.println("------");    }}


        2. 空指針異常
        訪問的數(shù)組已經(jīng)不再指向?qū)?nèi)存的數(shù)據(jù),造成空指針異常
        public class day_005 {public static void main(String[] args) {//動態(tài)初始化int arr1[] = new int[3];
        //null,空值,引用數(shù)據(jù)類型的默認(rèn)值,表示不指向任何有效對象        arr1 = null;        System.out.println(arr1[1]);    }}



        七、兩個常見操作

        1. 遍歷
        格式:
        int[ ] arr = {……};
        for(int i = 0; i < arr.length; i++){
        arr[i] //對arr[i]進(jìn)行操作
        }
        public class day_005 {    public static void main(String[] args) {        //靜態(tài)初始化        int[] arr = {1, 2, 3};
               //遍歷數(shù)組        for (int i = 0; i < arr.length; i++) {            System.out.println(arr[i]);        }    }}


        其中,arr.length表示獲取數(shù)組元素數(shù)量,也就是數(shù)組的長度。


        2. 獲取最值
        //最大值public class day_005 {    public static void main(String[] args) {        //靜態(tài)初始化        int[] arr = {23, 2, 35, 67, 10};
               //定義變量用來保存最值        int max = arr[0];//取數(shù)組中第一個值作為最值的初始值
               //將定義的最值變量與數(shù)組中每一個值進(jìn)行比較,每次都將最大值保存在變量中        for (int i = 1; i < arr.length; i++) {            if (arr[i] > max) {                max = arr[i];            }        }
               //比較結(jié)束后輸出最值       System.out.println("最大值為:" + max);    }}





        熱愛生活,熱愛學(xué)習(xí)




        要不來個“在看”




        瀏覽 78
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            欧美第一视频 | 国产在线一 | 亚洲日本无码 | 无套内射色黄网站 | 日韩一区一二区成人影视 | 国产c区 蜜桃av秘 无码一区二区三欧 | 麻豆回家视频区一区二 | 日本无码专区 | 日韩婬乱片A片AAA真人视频 | 99爱视频在线 |