5.數(shù)組

數(shù)組的概述

[是啥]數(shù)組:用來存儲一組相同類型數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),數(shù)組變量名屬于引用類型數(shù)據(jù)

[存啥]數(shù)組中的元素可以是指定的任何一種數(shù)據(jù)類型(基本類型和引用類型)

[咋用]數(shù)組的每個元素對應(yīng)一個索引(下標(biāo)),可以通過索引訪問數(shù)組中的元素

[變與不變]數(shù)組被創(chuàng)建好之后,它的長度不能改變洋侨,但是數(shù)組中的各個元素的值可以被改變

數(shù)組注意事項

數(shù)組4要素

標(biāo)識符:即數(shù)組名稱,用來區(qū)分不同的數(shù)組

數(shù)組元素:數(shù)組中存放的數(shù)據(jù)

元素下標(biāo):數(shù)組中每個數(shù)據(jù)的編號,從0開始,用于訪問某個具體的元素

元素類型:聲明數(shù)組時指定的數(shù)據(jù)類型

2個注意點

數(shù)組中元素類型必須相同

數(shù)組一旦創(chuàng)建,長度不可改變

數(shù)組的聲明方式

數(shù)據(jù)類型 [ ?] 數(shù)組變量名; 或 數(shù)據(jù)類型 數(shù)組變量名[ ?];

數(shù)組元素的訪問

數(shù)組在聲明,創(chuàng)建(內(nèi)存中為之分配空間)后赞别,就可以訪問數(shù)組中的每個元素

單個元素:arrayName[index]

index 為數(shù)組元素下標(biāo)(索引),可以是整型常量或整型表達(dá)式配乓。如a[3], ?b[i], ?c[6*i]

遍歷訪問:循環(huán)訪問每個元素

普通循環(huán)

增強(qiáng)for循環(huán)

數(shù)組的length屬性可以獲取它的長度仿滔,例如:arr.length

索引值從0開始,且必須小于數(shù)組的長度犹芹,即0~n-1崎页,否則發(fā)生數(shù)組越界異常

常用的排序算法

冒泡排序

選擇排序


一數(shù)組

1數(shù)組的聲明、創(chuàng)建

//格式:類型[]數(shù)組名

//聲明了一個整型(int)數(shù)組腰埂,數(shù)組中的每個元素類型為int

int[]a;

//創(chuàng)建了一個數(shù)組對象飒焦,數(shù)組中包含10個元素

a=newint[10];

2數(shù)組的下標(biāo)

下標(biāo)從0開始,下標(biāo)范圍0 ~ n-1

//通過下標(biāo)訪問數(shù)組中相應(yīng)的元素

a[0] = 12;

a[1] = 23;

a[9] = 20;

3數(shù)組的初始化

靜態(tài)初始化

//大括號中有幾個值,創(chuàng)建的數(shù)組中就有幾個元素

int[]a= {1, 2, 3, 4};

int[]b=newint[]{2, 3, 4, 5, 6};

動態(tài)初始化

int[]d=newint[5];

4數(shù)組的遍歷

1)for遍歷

for(inti= 0;i< 4;i++){

System.out.println(a[i]);

}

2)增強(qiáng)的for遍歷

for(intv:a){

System.out.println(v);

}

5數(shù)組的內(nèi)存結(jié)構(gòu)(重點)

棧先進(jìn)后出的數(shù)據(jù)結(jié)構(gòu)

方法的局部變量存放在棧里屿笼,當(dāng)方法結(jié)束時牺荠,局部變量所占內(nèi)存被系統(tǒng)回收

絕大多數(shù)對象存放在堆里

二數(shù)組排序

1選擇排序

針對待排序的元素,使用首元素與剩余的元素依次進(jìn)行比較驴一,將最大值或最小值放在首位置休雌。依次類推,直到所有待排序元素比較完畢肝断。

5個數(shù)杈曲,比較4輪

n個數(shù)比較,比較n-1輪

輪數(shù)i ? ?1 ?2 ?3 ?4

數(shù)據(jù)比較次數(shù)j ? 4 ?3 ?2 ?1 ? ? 5 - i

Int[] a

a[0]和a[1]…a[4]

a[1]和a[2]…a[4]

a[2]和a[3] a[4]

a[3]和a[4]

2冒泡排序

針對待排序的元素胸懈,相鄰的兩個元素依次進(jìn)行比較担扑,將最大值或最小值放在最后

n個元素,比較n-1輪

輪數(shù)i ? ?0 ?1 ?2 ?3

次數(shù)j ? ?4 ?3 ?2 ?1趣钱,j ?= ?5–1–i

int[] a;

a[0]和a[1] , ?a[1]和a[2] , ?a[2]和a[3] , ?a[3]和a[4]

a[0]和a[1] , ?a[1]和a[2] , ?a[2]和a[3]

a[0]和a[1] , ?a[1]和a[2]

a[0]和a[1]

三Arrays類

Java提供的工具類

//默認(rèn)升序

Arrays.sort(a);

//講數(shù)組內(nèi)容轉(zhuǎn)換為字符串形式

Stringstr= Arrays.toString(a);

//二分查找

//第一個參數(shù)涌献,待查找的數(shù)組,第二個參數(shù)羔挡,要查找的值

intindex= Arrays.binarySearch(a, 23);

四二維數(shù)組(了解)

存放數(shù)組的數(shù)組,數(shù)組中的元素為一個數(shù)組

int[][]arr=newint[2][3];

//數(shù)組中有兩個元素间唉,每個元素存放另外一個一維數(shù)組的地址

int[][]arr1=newint[2][];

arr1[0] =newint[3];

arr1[1] =newint[2];

//二維數(shù)組的靜態(tài)初始化

int[][]arr2= {{1, 2}, {3, 4}, {5}};

//二維數(shù)組的遍歷

for(inti= 0;i<arr2.length;i++){

for(int j= 0; j<arr2[ i ].lenght;j++){

System.out.print(arr2[i][j]);

}

System.out.println();

}

五可變參數(shù)

//可變參數(shù)绞灼, 類型...參數(shù)名稱

staticvoidadd(int...args){

//方法內(nèi)部當(dāng)做數(shù)組處理

intsum= 0;

for(inti= 0;i<args.length;i++){

sum+=args[i];

}

System.out.println(sum);

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市呈野,隨后出現(xiàn)的幾起案子低矮,更是在濱河造成了極大的恐慌,老刑警劉巖被冒,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件军掂,死亡現(xiàn)場離奇詭異轮蜕,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)蝗锥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門跃洛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人终议,你說我怎么就攤上這事汇竭。” “怎么了穴张?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵细燎,是天一觀的道長。 經(jīng)常有香客問我皂甘,道長玻驻,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任偿枕,我火速辦了婚禮璧瞬,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘益老。我一直安慰自己彪蓬,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布捺萌。 她就那樣靜靜地躺著档冬,像睡著了一般。 火紅的嫁衣襯著肌膚如雪桃纯。 梳的紋絲不亂的頭發(fā)上酷誓,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機(jī)與錄音态坦,去河邊找鬼盐数。 笑死,一個胖子當(dāng)著我的面吹牛伞梯,可吹牛的內(nèi)容都是我干的玫氢。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼谜诫,長吁一口氣:“原來是場噩夢啊……” “哼漾峡!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起喻旷,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤生逸,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體槽袄,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡烙无,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了遍尺。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片截酷。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖狮鸭,靈堂內(nèi)的尸體忽然破棺而出合搅,到底是詐尸還是另有隱情,我是刑警寧澤歧蕉,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布灾部,位于F島的核電站,受9級特大地震影響惯退,放射性物質(zhì)發(fā)生泄漏赌髓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一催跪、第九天 我趴在偏房一處隱蔽的房頂上張望锁蠕。 院中可真熱鬧,春花似錦懊蒸、人聲如沸荣倾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽舌仍。三九已至,卻和暖如春通危,著一層夾襖步出監(jiān)牢的瞬間铸豁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工菊碟, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留节芥,地道東北人。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓逆害,卻偏偏與公主長得像头镊,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子魄幕,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,979評論 2 355

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

  • 數(shù)組在程序設(shè)計中相艇,為了處理方便, 把具有相同類型的若干變量按有序的形式組織起來梅垄。這些按序排列的同類數(shù)據(jù)元素的集合稱...
    朱森閱讀 3,931評論 2 13
  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗厂捞。 張土汪:刷leetcod...
    土汪閱讀 12,745評論 0 33
  • 指針是C語言中廣泛使用的一種數(shù)據(jù)類型。 運(yùn)用指針編程是C語言最主要的風(fēng)格之一队丝。利用指針變量可以表示各種數(shù)據(jù)結(jié)構(gòu)靡馁; ...
    朱森閱讀 3,446評論 3 44
  • 網(wǎng)上盛傳四度蟬聯(lián)胡潤全球富豪榜的湖北首富~九州通集團(tuán)董事長劉寶林坐地鐵出行,等候上車机久,看站牌臭墨,與百姓同排,低頭玩手...
    四哥說事閱讀 10,462評論 18 11
  • 每個看起來的堅強(qiáng) 背后都有難言的傷
    哈希算法閱讀 199評論 0 0