數(shù)組(array)

一、

  1. 數(shù)組的作用就是存儲(chǔ)一組數(shù)據(jù)
  2. 數(shù)組中存放的每個(gè)元素類型必須相同雏逾,所以每個(gè)元素所占用的內(nèi)存大小也一致。
  3. 在java中郑临,初始化數(shù)組時(shí)必須指定數(shù)組的長(zhǎng)度栖博,且一旦指定,長(zhǎng)度就不能改變厢洞,除非在重新初始化該數(shù)組仇让。
    4.數(shù)組中的值通過(guò)數(shù)組名和下標(biāo)組合起來(lái)進(jìn)行訪問

二、一維數(shù)組

1. 聲明

元素類型[] 數(shù)組名; //int[] a;

元素類型 數(shù)組名[]; //int a[];

  • 注意:與C/C++不同躺翻,java不允許在聲明數(shù)組的方括號(hào)中指定元素的個(gè)數(shù)丧叽。如, int a[5];(x) 或 int[5] a;(x)
2. 一維數(shù)組的創(chuàng)建和使用

(1)說(shuō)明
① 要想真正使用數(shù)組還要為其分配內(nèi)存空間公你,即創(chuàng)建數(shù)組踊淳。
②為數(shù)組分配的內(nèi)存單元被稱為數(shù)組元素
③創(chuàng)建數(shù)組時(shí)必須指明數(shù)組的長(zhǎng)度

(2)格式

變量類型 數(shù)組變量;
數(shù)組變量 = new 數(shù)組元素類型[數(shù)組長(zhǎng)度];

等同于

數(shù)組變量類型 變量 = new 數(shù)組元素類型[數(shù)組長(zhǎng)度];

例如

        int[] a = new int[5];
        
        int[] b;
        b = new int[5];
        
        String[] c = new String[5];
        
        double[] d = new double[5];

說(shuō)明:
創(chuàng)建一個(gè)長(zhǎng)度為5一維數(shù)組array[],系統(tǒng)將為每個(gè)元素分配空間并將數(shù)組元素默認(rèn)初始化為0陕靠,然后將數(shù)組對(duì)象的地址賦值給引用變量arr迂尝;

3. 數(shù)組對(duì)象的 length 屬性

數(shù)組一經(jīng)創(chuàng)建,其長(zhǎng)度就不可改變剪芥,數(shù)組元素的有效下標(biāo)范圍為0~n-1垄开,如果訪問數(shù)組元素時(shí)出現(xiàn)下標(biāo)越界的情況,程序?qū)⒊霈F(xiàn)運(yùn)行錯(cuò)誤税肪。

4. 數(shù)組的初始化

(1)靜態(tài)初始化
如:int[] a = {1,2,,3,4};
(2)動(dòng)態(tài)初始化
如:

int[] a = new int[3];
a[0] = 1;
a[1] = 2;
a[2] = 3;
a[3] = 4;
  • 兩者完全等價(jià)
5. foreach語(yǔ)句

(1)作用:自動(dòng)迭代訪問每一個(gè)元素

(2)格式

for(循環(huán)變量數(shù)據(jù)類型 聲明循環(huán)變量 : 數(shù)組名){

}
  • 聲明循環(huán)變量只是一個(gè)臨時(shí)變量溉躲,不能使用已經(jīng)聲明過(guò)的變量,也不用對(duì)其賦值寸认;這個(gè)臨時(shí)變量并不是數(shù)組元素签财,它只是保存了數(shù)組元素的值,因此偏塞,如果希望改變數(shù)組元素的值唱蒸,則就不能使用foreach循環(huán)。
    如:
for(int i : arr) {
        
    }

三灸叼、二維數(shù)組

1. 聲明

元素類型[][] 數(shù)組名; //int[][] a;

元素類型 數(shù)組名[][]; //int a[][];

  • 上述語(yǔ)句只聲明了數(shù)組類型變量神汹,運(yùn)行時(shí)系統(tǒng)將只為這些引用變量分配引用空間,并沒有創(chuàng)建對(duì)象古今,也不會(huì)為數(shù)組元素分配空間屁魏,因此尚不能使用·任何數(shù)組元素。
2. 初始化

(1)靜態(tài)初始化
數(shù)組元素類型 數(shù)組名[][] ={ {第0行初值},{第1行初值}....}
如:int[][] arr = {{1,2,3},{5,6,7}}

(2)動(dòng)態(tài)初始化
① 直接為每一維分配空間
格式:數(shù)組元素類型 數(shù)組名[][] = new 數(shù)組元素類型[行數(shù)][列數(shù)]

如:

int int[][] arr = new int[2][3];
arr[0][0] =1;
arr[0][1] =2;
arr[0][2] =3;
arr[1][0] =5;
arr[1][1] =6;
arr[1][2] =7;


②從最高維開始(必須從最高維開始)捉腥,分別為每一維分配空間氓拼。
如:

int int[][] arr = new int[2][];
arr[0] = new int[3];
arr[1] = new int[3];
arr[0][0] =1;
arr[0][1] =2;
arr[0][2] =3;
arr[1][0] =5;
arr[1][1] =6;
arr[1][2] =7;
3. 二維數(shù)組的訪問
        for(int i=0 ; i<arr.length ; i++) {
            for(int j=0 ; j<arr[i].length ; j++) {
                System.out.println(arr[i][j]);
            }
        }

四、Arrays 類

java.util.Arrays 類能方便地操作數(shù)組,它提供的所有方法都是靜態(tài)的桃漾。

具有以下功能:
(1)給數(shù)組賦值:通過(guò) fill 方法坏匪。
(2)對(duì)數(shù)組排序:通過(guò) sort 方法,按升序,如果是String類型元素則是按照單詞(字母)字典順序進(jìn)行升序排列的撬统。
(3)比較數(shù)組:通過(guò) equals 方法比較數(shù)組中元素值是否相等适滓。
(4)查找數(shù)組元素:通過(guò) binarySearch 方法能對(duì)排序好的數(shù)組進(jìn)行二分查找法操作。

Arrays類基本
  • 一維數(shù)組排序
package excise;

import java.util.Arrays;

public class TestArraySort {
    public static void main(String args[]) {
        int[] a = {1,6,4,3,2,5};
        System.out.println("排序前: ");
        displayIntArr(a);
        System.out.println();
        Arrays.sort(a); 
        System.out.println("排序后: ");
        displayIntArr(a);
        
        System.out.println();
        System.out.println();
        
        String[] name = {"Tom","Kitty","葫蘆娃","Jerry","Eve"};
        System.out.println("排序前: ");
        displayIntArr(name);
        System.out.println();
        Arrays.sort(name);
        System.out.println("排序后: ");
        displayIntArr(name);
        
    }

    private static void displayIntArr(int[] a) {
        // TODO Auto-generated method stub
        for(int i: a) {
            System.out.print(i+"\t");
        }
    }

    public static void displayIntArr(String[] name) {
        for(String i: name) {
            System.out.print(i+"\t");
        }
        
        

    }
}


運(yùn)行結(jié)果
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末恋追,一起剝皮案震驚了整個(gè)濱河市凭迹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌苦囱,老刑警劉巖嗅绸,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異撕彤,居然都是意外死亡朽砰,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門喉刘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人漆弄,你說(shuō)我怎么就攤上這事睦裳。” “怎么了撼唾?”我有些...
    開封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵廉邑,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我倒谷,道長(zhǎng)蛛蒙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任渤愁,我火速辦了婚禮牵祟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘抖格。我一直安慰自己诺苹,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開白布雹拄。 她就那樣靜靜地躺著收奔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪滓玖。 梳的紋絲不亂的頭發(fā)上坪哄,一...
    開封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼翩肌。 笑死模暗,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的摧阅。 我是一名探鬼主播汰蓉,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼棒卷!你這毒婦竟也來(lái)了顾孽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤比规,失蹤者是張志新(化名)和其女友劉穎若厚,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蜒什,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡测秸,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了灾常。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片霎冯。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖钞瀑,靈堂內(nèi)的尸體忽然破棺而出沈撞,到底是詐尸還是另有隱情,我是刑警寧澤雕什,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布缠俺,位于F島的核電站,受9級(jí)特大地震影響贷岸,放射性物質(zhì)發(fā)生泄漏壹士。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一偿警、第九天 我趴在偏房一處隱蔽的房頂上張望躏救。 院中可真熱鬧,春花似錦螟蒸、人聲如沸落剪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)忠怖。三九已至,卻和暖如春抄瑟,著一層夾襖步出監(jiān)牢的瞬間凡泣,已是汗流浹背枉疼。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鞋拟,地道東北人骂维。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像贺纲,于是被迫代替她去往敵國(guó)和親航闺。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

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

  • 數(shù)組的基本概念 1猴誊、數(shù)組是由多個(gè)數(shù)據(jù)類型相同的元素組成的有順序的數(shù)據(jù)集合潦刃。2、數(shù)組是屬于引用數(shù)據(jù)類型(復(fù)雜數(shù)據(jù)類型...
    浪跡一生閱讀 388評(píng)論 0 0
  • 數(shù)組是一個(gè)存儲(chǔ)相同元素的固定大小的順序集合.數(shù)組是用來(lái)存儲(chǔ)數(shù)據(jù)的集合.通常認(rèn)為數(shù)組是一個(gè)同一類型變量的集合. 聲明...
    IT白鴿閱讀 438評(píng)論 0 0
  • 在計(jì)算機(jī)語(yǔ)言中數(shù)組是非常重要的集合類型懈叹,大部分計(jì)算機(jī)語(yǔ)言中數(shù)組具有如下三個(gè)基本特性: 一致性:數(shù)組只能保存相同數(shù)據(jù)...
    acc8226閱讀 276評(píng)論 0 0
  • 清晨起來(lái)呼吸著清新的空氣乖杠,我不知不覺來(lái)到了趙河公園,滿眼是郁郁蔥蔥的綠澄成,撲鼻而來(lái)的是沁人心扉的芳香胧洒,心里別提有多愜...
    上善若水sunny閱讀 355評(píng)論 0 0
  • 你知道什么是愛嗎?墨状,那么卫漫,最好的愛你知道又是什么嗎? 或許每一個(gè)人都有自己不同的理解和認(rèn)識(shí) 那么肾砂,最好的愛是什么呢...
    上海清悟閱讀 596評(píng)論 0 1