java學(xué)習(xí)筆記(四)數(shù)組

個(gè)人筆記薇搁,僅供參考

1、數(shù)組

1.2祟昭、定義

數(shù)組是可以存儲(chǔ)多個(gè)相同數(shù)據(jù)類型的數(shù)據(jù)結(jié)構(gòu)

1.3咧栗、數(shù)組的聲明

數(shù)據(jù)類型[] 數(shù)組的名稱 int[] ages;
數(shù)據(jù)類型 數(shù)組的名稱[] String names[];

1.4、數(shù)組的初始化

靜態(tài)初始化:

聲明同時(shí)賦值:

int[] ages = {18,19,20};

取出數(shù)組中的元素應(yīng)該通過下標(biāo)衣洁,下標(biāo)從0開始

第一個(gè)元素為ages[0]

數(shù)組長度數(shù)組名稱.length

動(dòng)態(tài)初始化

1墓捻、先聲明,再初始化坊夫,最后賦值

int[] ages;//數(shù)組的聲明
ages = new int[3];//數(shù)組的初始化砖第,必須指定數(shù)組元素的個(gè)數(shù),默認(rèn)值為0
ages[0] = 18;
ages[1] = 19;
ages[2] = 20

2撤卢、聲明同時(shí)初始化,最后賦值

int[] ages = new int[3];
age[0] = 18;

3梧兼、聲明同時(shí)初始化并賦值

int[] ages = new int[] {18,19,20};

1.5放吩、數(shù)組的求和

int[] ages = {23,12,56,78,34,22,11,45,34,56};
int sum = 0;//用來存儲(chǔ)數(shù)組元素的和值
for(int i=0;i<ages.length;++i)
{
    sum += ages[i];
}
System.out.println(sum/ages.length);

1.6、冒泡排序

以升序?yàn)槔?/p>

冒泡排序會(huì)將相鄰的兩個(gè)數(shù)進(jìn)行比較羽杰,將較大的放在后面渡紫,執(zhí)行一輪后會(huì)將最大的數(shù)放在最后面,然后進(jìn)行下一輪考赛,把第二大的數(shù)放在倒數(shù)第二位惕澎,以此類推,總共要執(zhí)行數(shù)組長度-1輪欲虚。

int[] ages = {19,16,15,17,10,5};
            /**
             * 對(duì)當(dāng)前數(shù)組進(jìn)行升序排列
             * 冒泡排序
             * 第一輪:將數(shù)組中的最大值放到了最后
             * 16 19 15 17 10 5 (1-2)
             * 16 15 19 17 10 5 (2-3)
             * 16 15 17 19 10 5 (3-4)
             * 16 15 17 10 19 5 (4-5)
             * 16 15 17 10 5 19 (5-6)
             * 
             */
for(int i=0;i<ages.length-1;++i)
            {//第一輪代碼實(shí)現(xiàn)
                if(ages[i]>ages[i+1])
                {
                    //交換位置
                    int num = 0;
                    num =ages[i];
                    ages[i] = ages[i+1];
                    ages[i+1] = num;
                }
            }

如果不使用嵌套集灌,整個(gè)過程的代碼量會(huì)非常多

以下是使用循環(huán)嵌套的

for(int j=1;j<ages.length;++j)
        { //j表示數(shù)組排序要比較的輪數(shù)
            for(int i=0;i<ages.length-j;++i){
                if(ages[i]>ages[i+1]){
                    //交換位置
                    int num = 0;
                    num = ages[i];
                    ages[i] = ages[i+1];
                    ages[i+1] = num;
                }
            }
        }

這是一段可以執(zhí)行整個(gè)冒泡排序過程的代碼

1.7、數(shù)組索引越界問題

在使用數(shù)組時(shí)索引處理不當(dāng)复哆,導(dǎo)致使用了不存在的索引欣喧,從而引發(fā)錯(cuò)誤,常見于循環(huán)中梯找,對(duì)循環(huán)的次數(shù)把握不好就會(huì)出現(xiàn)此問題唆阿。

1.8、空指針異常

使用了不存在的數(shù)組(未初始化锈锤,或復(fù)制為null)

1.9驯鳖、獲取數(shù)組的長度

使用數(shù)組名.length即可

注意:數(shù)組的長度初始化后不可改變

如果再次初始化會(huì)再創(chuàng)建一個(gè)同名的數(shù)組(地址不同)并覆蓋原來的數(shù)組

1.10、數(shù)組的反轉(zhuǎn)

例如:原數(shù)組{1,2,3,4} 反轉(zhuǎn)后{4,3,2,1}

有多種方法可以實(shí)現(xiàn)久免。

其實(shí)就是對(duì)稱位置的元素交換浅辙,需要同時(shí)使用兩個(gè)索引

需要?jiǎng)?chuàng)建一個(gè)空變量,然后交換對(duì)稱位置的元素即可阎姥。

int[] array = {10,20,30,40,50};
        //遍歷數(shù)組本來的樣子
        for (int i = 0; i < array.length; i++) {
            System.out.println(array[i]);
        }
        System.out.println("==========");
        /**
         * 初始化語句:int min = 0, max = array.length -1
         * 條件判斷: min<max
         * 步進(jìn)表達(dá)式:min++,max++
         * 循環(huán)體:三個(gè)變量倒手
         */
        for (int min = 0, max = array.length-1;min < max; min++, max--){
            int temp = array[min];
            array[min] = array[max];
            array[max] = temp;
        }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末记舆,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子呼巴,更是在濱河造成了極大的恐慌泽腮,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件衣赶,死亡現(xiàn)場(chǎng)離奇詭異诊赊,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)府瞄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門碧磅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事续崖∏媒郑” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵严望,是天一觀的道長。 經(jīng)常有香客問我逻恐,道長像吻,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任复隆,我火速辦了婚禮拨匆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘挽拂。我一直安慰自己惭每,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開白布亏栈。 她就那樣靜靜地躺著台腥,像睡著了一般。 火紅的嫁衣襯著肌膚如雪绒北。 梳的紋絲不亂的頭發(fā)上黎侈,一...
    開封第一講書人閱讀 51,287評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音闷游,去河邊找鬼峻汉。 笑死,一個(gè)胖子當(dāng)著我的面吹牛脐往,可吹牛的內(nèi)容都是我干的休吠。 我是一名探鬼主播,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼业簿,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼瘤礁!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起辖源,我...
    開封第一講書人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤蔚携,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后克饶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體酝蜒,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年矾湃,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了亡脑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖霉咨,靈堂內(nèi)的尸體忽然破棺而出蛙紫,到底是詐尸還是另有隱情,我是刑警寧澤途戒,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布坑傅,位于F島的核電站,受9級(jí)特大地震影響喷斋,放射性物質(zhì)發(fā)生泄漏唁毒。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一星爪、第九天 我趴在偏房一處隱蔽的房頂上張望浆西。 院中可真熱鬧,春花似錦顽腾、人聲如沸近零。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽久信。三九已至,卻和暖如春憎瘸,著一層夾襖步出監(jiān)牢的瞬間入篮,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來泰國打工幌甘, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留潮售,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓锅风,卻偏偏與公主長得像酥诽,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子皱埠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

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