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

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

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

    Java語法總結(jié) - 數(shù)組

    Posted on 2007-10-21 13:01 Raylong 閱讀(4682) 評論(3)  編輯  收藏 所屬分類: Java語法總結(jié)
    Java語法總結(jié) - 數(shù)組

    數(shù)組(array)是相同類型變量的集合,可以使用共同的名字引用它。數(shù)組可被定義為任何類型,可以是一維或多維。數(shù)組中的一個(gè)特別要素是通過下標(biāo)來訪問它。數(shù)組提供了一種將有聯(lián)系的信息分組的便利方法。注意:如果你熟悉C/C++,請注意, Java數(shù)組的工作原理與它們不同。

    1、數(shù)組不是集合,它只能保存同種類型的多個(gè)原始類型或者對象的引用。數(shù)組保存的僅僅是對象的引用,而不是對象本身。

    2、數(shù)組本身就是對象,Java中對象是在堆中的,因此數(shù)組無論保存原始類型還是其他對象類型,數(shù)組對象本身是在堆中的。

    3、數(shù)組聲明的兩種形式:一、int[] arr; 二、int arr[];  推薦使用前者,這符合Sun的命名規(guī)范,而且容易了解到關(guān)鍵點(diǎn),這是一個(gè)int數(shù)組對象,而不是一個(gè)int原始類型。

    4、在數(shù)組聲明中包含數(shù)組長度永遠(yuǎn)是不合法的!如:int[5] arr; 。因?yàn)椋暶鞯臅r(shí)候并沒有實(shí)例化任何對象,只有在實(shí)例化數(shù)組對象時(shí),JVM才分配空間,這時(shí)才與長度有關(guān)。

    5、在數(shù)組構(gòu)造的時(shí)候必須指定長度,因?yàn)镴VM要知道需要在堆上分配多少空間。反例:int[] arr = new int[];

    6、多維數(shù)組的聲明。int[][][] arr; 是三維int型數(shù)組。

    7、一維數(shù)組的構(gòu)造。形如:String[] sa = new String[5]; 或者分成兩句:String[] sa;  sa = new String[5];

    8、原始類型數(shù)組元素的默認(rèn)值。對于原始類型數(shù)組,在用new構(gòu)造完成而沒有初始化時(shí),JVM自動(dòng)對其進(jìn)行初始化。默認(rèn)值:byte、short、 int、long--0  float--0.0f double--0.0  boolean--false  char--'"u0000'。(無論該數(shù)組是成員變量還是局部變量)

    9、對象類型數(shù)組中的引用被默認(rèn)初始化為null。如:Car[] myCar = new Car[10]; 相當(dāng)于從myCar[0]到myCar[9]都這樣被自動(dòng)初始化為myCar[i] = null;

    10、對象類型的數(shù)組雖然被默認(rèn)初始化了,但是并沒有調(diào)用其構(gòu)造函數(shù)。也就是說:Car[] myCar = new Car[10];只創(chuàng)建了一個(gè)myCar數(shù)組對象!并沒有創(chuàng)建Car對象的任何實(shí)例!

    11、多維數(shù)組的構(gòu)造。float[][] ratings = new float[9][]; 第一維的長度必須給出,其余的可以不寫,因?yàn)镴VM只需要知道賦給變量ratings的對象的長度。

    12、數(shù)組索引的范圍。數(shù)組中各個(gè)元素的索引是從0開始的,到length-1。每個(gè)數(shù)組對象都有一個(gè)length屬性,它保存了該數(shù)組對象的長度。(注意和String對象的length()方法區(qū)分開來,這兩者沒有統(tǒng)一起來是很遺憾的。)

    13、Java有數(shù)組下標(biāo)檢查,當(dāng)訪問超出索引范圍時(shí),將產(chǎn)生ArrayIndexOutOfBoundsException運(yùn)行時(shí)異常。注意,這種下標(biāo)檢查不是在編譯時(shí)刻進(jìn)行的,而是在運(yùn)行時(shí)!也就是說int[] arr = new int[10];  arr[100] = 100; 這么明顯的錯(cuò)誤可以通過編譯,但在運(yùn)行時(shí)拋出!Java的數(shù)組下標(biāo)檢查是需要額外開銷的,但是出于安全的權(quán)衡還是值得的,因?yàn)楹芏嗾Z言在使用數(shù)組時(shí)是不安全的,可以任意訪問自身內(nèi)存塊外的數(shù)組,編譯運(yùn)行都不會(huì)報(bào)錯(cuò),產(chǎn)生難以預(yù)料的后果!


    返回索引頁


    Feedback

    # re: Java語法總結(jié) - 數(shù)組  回復(fù)  更多評論   

    2007-10-21 21:10 by 海邊沫沫
    我覺得博主的字體設(shè)置得不錯(cuò),讀起來蠻舒服。

    我這就改我的字體去

    # re: Java語法總結(jié) - 數(shù)組  回復(fù)  更多評論   

    2007-10-21 23:02 by Raylong
    @海邊沫沫
    我非常喜歡黑色!但是blogjava的主題選擇余地很小,好在他提供了自定義樣式,并且提供了強(qiáng)大的工具。這是我在原來基礎(chǔ)上DIY的,建議你嘗試一下。

    # re: Java語法總結(jié) - 數(shù)組  回復(fù)  更多評論   

    2011-10-28 10:50 by 程序員之家
    怎么增加數(shù)組的大小呢
    主站蜘蛛池模板: 猫咪免费人成网站在线观看入口| 亚洲第一视频网站| 亚洲欧洲日本在线观看| 成人免费视频网站www| 亚洲第一区视频在线观看| 91av免费观看| 亚洲手机中文字幕| 国产免费毛不卡片| 亚洲色成人网站WWW永久四虎| 亚洲爽爽一区二区三区| 免费看一级高潮毛片| 在线A亚洲老鸭窝天堂| 国产成年无码久久久免费| 老司机亚洲精品影院| 69堂人成无码免费视频果冻传媒| 亚洲无线一二三四区| 我要看免费的毛片| 男女交性无遮挡免费视频| 亚洲伊人久久精品影院| 外国成人网在线观看免费视频| 亚洲欧洲日韩在线电影| 性xxxx视频播放免费| 看全免费的一级毛片| 久久亚洲av无码精品浪潮| 久久国产乱子伦精品免费一| 亚洲欧洲国产综合| 日韩毛片免费无码无毒视频观看| 国产亚洲高清在线精品不卡| 最新亚洲成av人免费看| 在线观看www日本免费网站| 亚洲乱色伦图片区小说| 国产成人精品日本亚洲专区61| 一级毛片免费播放| 色婷婷六月亚洲综合香蕉| 欧洲亚洲国产清在高| 成人av免费电影| 久久免费精品视频| 亚洲aⅴ天堂av天堂无码麻豆| 亚洲日韩精品无码一区二区三区| 又黄又爽又成人免费视频| 新最免费影视大全在线播放|