數(shù)組

1、定義

數(shù)組是一個固定長度的,包含了相同類型數(shù)據(jù)的?容器。

數(shù)組訪問下標(biāo)范圍是0到長度-1

數(shù)組的定義:

方式1: 數(shù)組元素的類型[]? 數(shù)組名;? int[] ages;推薦的. 可以吧int[]看成是一種數(shù)據(jù)類型,int類型的數(shù)組類型.

方式2:數(shù)組元素的類型? 數(shù)組名[];? ? int ages[];


數(shù)組必須先初始化,才能使用,因?yàn)槌跏蓟硎驹趦?nèi)存中分配空間.

初始化就是給數(shù)組元素分配內(nèi)存,并為每個元素賦初始值。分為靜態(tài)初始化和動態(tài)初始化。

靜態(tài)初始化操作:

特點(diǎn):有我們自己來為每一個數(shù)組元素設(shè)置初始化值,而數(shù)組的長度由系統(tǒng)(JVM)決定.

語法:數(shù)組元素類型[]? 數(shù)組名 = new 數(shù)組元素類型[]{元素1,元素2,元素3,.......};

舉例: int[] nums = new? int[]{1,3,5,7,9};

簡單寫法,必須聲明之后,立刻初始化,不能先聲明后初始化:

? int[] nums = {1,3,5,7,9};

錯誤舉例:int[] nums1; nums1={12,34};

具體報錯:Array constants can only be used in initializers

數(shù)組的動態(tài)初始化操作:

我們來設(shè)置數(shù)組的元素個數(shù)(數(shù)組長度),而每一個數(shù)組元素的初始值有系統(tǒng)決定.

語法: 數(shù)組元素類型[] 數(shù)組名 = new 數(shù)組元素類型[ length ];

比如: int[] ages = new int[100];

int[] nums = new int[5]{1,3,5,7,9};//寫法是錯誤的,不能同時使用靜態(tài)初始化和動態(tài)初始化

什么時候使用靜態(tài)初始化,什么時候使用動態(tài)初始化.

當(dāng)我們事先知道,需要存儲哪一些數(shù)據(jù)的時候,選用靜態(tài)初始化.

當(dāng)我們事先不知道,需要存儲哪些數(shù)據(jù)的時候,只能使用動態(tài)初始化?

數(shù)組一旦被定義,它的維數(shù)和維界就不再改變。因此,除了結(jié)構(gòu)的初始化和銷毀之外,數(shù)組只有存取元素和修改元素值的操作,無插入刪除操作。

2、多維數(shù)組

嚴(yán)格上說,在Java中不存在多維數(shù)組的概念,和C語言做區(qū)分,一般稱之為數(shù)組中的數(shù)組.

一維數(shù)組:數(shù)組中的每一個元素都是一個值(基本類型和引用類型的值).

二維數(shù)組:數(shù)組中的每一個元素又是一個一位數(shù)組.

三維數(shù)組:數(shù)組中的每一個元素又是一個二維數(shù)組.

多維初始化和一維類似,用到時可自行查看語法。

3、java5對數(shù)組的新語法支持

1):增強(qiáng)for循環(huán)-foreach

for與foreach對比

通過反編譯工具查看字節(jié)碼,發(fā)現(xiàn)foreach其實(shí)在底層依然是使用for循環(huán)+索引來操作數(shù)組的.

我們把增強(qiáng)for循環(huán),稱之為編譯器的新特性---->語法糖.

語法糖的最大甜頭就是:讓開發(fā)者寫更少,更簡單的代碼,完成相同的功能.


2):方法的可變參數(shù)(語法糖)

方法的可變參數(shù),說的是參數(shù)的個數(shù)可變.,其底層是就是一個數(shù)組類型.

可變參數(shù)必須作為方法的最后一個參數(shù),避免參數(shù)的歧義性.

推論:方法最大只有一個可變參數(shù).

http://blog.csdn.net/testcs_dn/article/details/38920323 ? ?

這篇文章還不錯

可變參數(shù)是兼容數(shù)組類參數(shù)的,但是數(shù)組類參數(shù)卻無法兼容可變參數(shù)。

4、數(shù)組拷貝


注意一二對比?

System.arraycopy(src, srcPos, dest, destPos, length)

該方法使用了native修飾符(本地方法),該方法底層使用了C/C++語言實(shí)現(xiàn)了

Java直接調(diào)用其他語言編寫好的功能:

5、java自帶的數(shù)組工具類(Arrays)

java.util.Arrays.方法(參數(shù));

常用:copyOfRange????數(shù)組復(fù)制 ? ? ????? ?toString()????轉(zhuǎn)換為字符串 ?

sort ? ? ? 排序 ? ? ? binarySearch ? 搜索 ? ? ? ? ? equals ? ?判斷是否相同 ? ? fill ? 填充?

6、其他

關(guān)于數(shù)組,必須提到的算法:冒泡排序、選擇排序、線性查找、折半查找(順序存儲,元素有序)。算法部分內(nèi)容,以后重開一個文集做記錄。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,732評論 6 539
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,214評論 3 426
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,781評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,588評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,315評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,699評論 1 327
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,698評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,882評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,441評論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,189評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,388評論 1 372
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,933評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,613評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,023評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,310評論 1 293
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,112評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,334評論 2 377

推薦閱讀更多精彩內(nèi)容

  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 3,858評論 1 10
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,532評論 1 51
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,733評論 18 399
  • 路燈下的夜 風(fēng)吹涼了雪花 灑落在你的衣間 裝扮了樸素的裙帶 雪月中你的身影 忽長忽短 晶瑩透亮的雪地里 留下深深淺...
    會飛的兔寶寶閱讀 289評論 0 1
  • 陜北的春節(jié)氣氛熱烈濃郁,臘月二十三起,小年一過,家家戶戶開始拾掇準(zhǔn)備,起糕面,蒸饅頭,壓粉條,做黃酒,搟豆面,...
    空心木閱讀 747評論 8 0