java數(shù)組和遍歷方法

什么是數(shù)組

所謂數(shù)組顾瞪,是在程序設(shè)計中,為了處理方便陈醒,把具有相同類型的若干變量按有序的形式組織起來的一種數(shù)據(jù)形式。
這些按一定順序排列的同類型數(shù)據(jù)的集合稱為數(shù)組钉跷。
而數(shù)組中的每一個數(shù)據(jù)稱之為數(shù)組元素,數(shù)組中的元素以索引來表示其存放的位置爷辙,索引從0開始吼虎,步長是1,有點像Excel表格的行號苍鲜,逐行遞增玷犹。

數(shù)組的定義

變量的定義:
數(shù)據(jù)類型 變量名; 如: int age;

數(shù)組的定義:

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

數(shù)組必須先初始化,才能使用,因為初始化表示在內(nèi)存中分配空間。

數(shù)組的初始化

Java中數(shù)組必先初始化后才能使用歹颓,所謂初始化就是給數(shù)組元素分配內(nèi)存,并為每個元素賦初始值领跛。

初始化數(shù)組的兩種方式:

  • 靜態(tài)初始化;
  • 動態(tài)初始化吠昭;

無論以哪種方式初始化數(shù)組,一旦初始化完成胧瓜,數(shù)組的長度就固定了,不能改變府喳,除非重新初始化。也就是說數(shù)組是定長的兜粘。

靜態(tài)初始化

特點:有我們自己來為每一個數(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};

動態(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)初始化.

數(shù)組的基本操作

  • 獲取元素: 元素類型 變量 = 數(shù)組名[index];
  • 設(shè)置元素: 數(shù)組名[index] = 值;
  • 遍歷數(shù)組元素: 建議使用for循環(huán),事先知道循環(huán)的次數(shù).
  • 數(shù)組長度: int len = 數(shù)組名.length; length是屬性,不是方法.
  • 索引范圍: 從0開始,逐一遞增. [0,數(shù)組名.length-1]

多維數(shù)組

  • 一維數(shù)組: 就是數(shù)組,數(shù)組中的每一個元素都是一個值.
  • 二維數(shù)組: 數(shù)組中的數(shù)組,數(shù)組中的每一個元素都是一個數(shù)組.(可以表示二維空間(行/豎))
  • 三維數(shù)組: 數(shù)組中的每一個元素都是一個二維數(shù)組.

定義:

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

數(shù)組的遍歷方法

普通循環(huán):
  1. while
String[] aves = new String[]{"白鷺", "丹頂鶴", "黃鸝", "鸚鵡", "烏鴉", "喜鵲", "布谷鳥", "百靈鳥", };
int index = 0;
System.out.println("我的花園里有很多鳥熟吏,包括:");
while (index < aves.length) {
     System.out.println(aves[index++]);
 }
  1. do while
String[] aves = new String[]{"白鷺", "丹頂鶴", "黃鸝", "鸚鵡", "烏鴉", "喜鵲", "布谷鳥", "百靈鳥", };
int index = 0;
System.out.println("我的花園里有很多鳥,包括:");
do{
     System.out.println(aves[index++]);
 }while(index < aves.length)
  1. for
String[] aves = new String[]{"白鷺", "丹頂鶴", "黃鸝", "鸚鵡", "烏鴉", "喜鵲", "布谷鳥", "百靈鳥", };
System.out.println("我的花園里有很多鳥悍引,包括:");
for(int i = 0;i < aves.length;i++){
    System.out.println(aves[i]);
}
foreach循環(huán)
String[] aves = new String[]{"白鷺", "丹頂鶴", "黃鸝", "鸚鵡", "烏鴉", "喜鵲", "布谷鳥", "百靈鳥", };
System.out.println("我的花園里有很多鳥,包括:");
for(String ele:names){
   System.out.println(ele);
}

增強(qiáng)for循環(huán),其實是一個語法糖(編譯器級別的新特性),但是在字節(jié)碼中/底層依然是for循環(huán)趣斤。那到底,咱們是使用for循環(huán)還是使用增強(qiáng)for循環(huán)?

  • 若需要取出數(shù)組元素,則使用for-each更簡單。
  • 但是若需要操作數(shù)組索引,就只能使用普通的循環(huán)浓领。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市联贩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌泪幌,老刑警劉巖盲厌,帶你破解...
    沈念sama閱讀 211,348評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件祸泪,死亡現(xiàn)場離奇詭異,居然都是意外死亡没隘,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評論 2 385
  • 文/潘曉璐 我一進(jìn)店門右蒲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人品嚣,你說我怎么就攤上這事『渤牛” “怎么了?”我有些...
    開封第一講書人閱讀 156,936評論 0 347
  • 文/不壞的土叔 我叫張陵眶诈,是天一觀的道長。 經(jīng)常有香客問我逝撬,道長,這世上最難降的妖魔是什么宪潮? 我笑而不...
    開封第一講書人閱讀 56,427評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮狡相,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘尽棕。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,467評論 6 385
  • 文/花漫 我一把揭開白布单绑。 她就那樣靜靜地躺著,像睡著了一般曹宴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上浙炼,一...
    開封第一講書人閱讀 49,785評論 1 290
  • 那天,我揣著相機(jī)與錄音弯屈,去河邊找鬼恋拷。 笑死,一個胖子當(dāng)著我的面吹牛蔬顾,可吹牛的內(nèi)容都是我干的宴偿。 我是一名探鬼主播诀豁,決...
    沈念sama閱讀 38,931評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼舷胜!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起烹骨,我...
    開封第一講書人閱讀 37,696評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎沮焕,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體峦树,經(jīng)...
    沈念sama閱讀 44,141評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,483評論 2 327
  • 正文 我和宋清朗相戀三年魁巩,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片歪赢。...
    茶點故事閱讀 38,625評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出点楼,到底是詐尸還是另有隱情,我是刑警寧澤掠廓,帶...
    沈念sama閱讀 34,291評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站蟀瞧,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏悦污。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,892評論 3 312
  • 文/蒙蒙 一切端、第九天 我趴在偏房一處隱蔽的房頂上張望彻坛。 院中可真熱鬧踏枣,春花似錦、人聲如沸茵瀑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽竞帽。三九已至偏陪,卻和暖如春抢呆,著一層夾襖步出監(jiān)牢的瞬間笛谦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工饥脑, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人灶轰。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像笋颤,于是被迫代替她去往敵國和親乳附。 傳聞我的和親對象是個殘疾皇子内地,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,492評論 2 348