Java基礎(chǔ)知識(shí)點(diǎn)(四)

一苛秕、數(shù)組

數(shù)組(array)是一種最簡單的復(fù)合數(shù)據(jù)類型,它是有序數(shù)據(jù)的集合女气,數(shù)組中的每個(gè)元素具有相同的數(shù)據(jù)類型拇涤,可以用一個(gè)統(tǒng)一的數(shù)組名和不同的下標(biāo)來確定數(shù)組中唯一的元素捣作。根據(jù)數(shù)組的維度,可以將其分為一維數(shù)組鹅士、二維數(shù)組和多維數(shù)組等券躁。

數(shù)組可以理解為是一個(gè)巨大的“盒子”,里面可以按順序存放多個(gè)類型相同的數(shù)據(jù)掉盅,比如可以定義 int 型的數(shù)組 scores 存儲(chǔ) 4 名學(xué)生的成績

數(shù)組中的元素都可以通過下標(biāo)來訪問也拜,下標(biāo)從 0 開始。例如趾痘,可以通過 scores[0] 獲取數(shù)組中的第一個(gè)元素 76 慢哈,scores[2] 就可以取到第三個(gè)元素 92

Java 中操作數(shù)組只需要四個(gè)步驟:

1、 聲明數(shù)組

語法: 數(shù)據(jù)類型[ ] 數(shù)組名永票;
或者 數(shù)據(jù)類型 數(shù)組名[ ]卵贱;
其中,數(shù)組名可以是任意合法的變量名侣集,如:

int[] scores;
double height[];
String[] names;

2键俱、 分配空間

簡單地說,就是指定數(shù)組中最多可存儲(chǔ)多少個(gè)元素
語法: 數(shù)組名 = new 數(shù)據(jù)類型 [ 數(shù)組長度 ];
其中世分,數(shù)組長度就是數(shù)組中能存放元素的個(gè)數(shù)编振,如:

scores = new int[5] ;
height = new double[5];
names = new String[5] ;

話說,我們也可以將上面的兩個(gè)步驟合并臭埋,在聲明數(shù)組的同時(shí)為它分配空間党觅,如:

int[] scores = new int[5];

3、 賦值

分配空間后就可以向數(shù)組中放數(shù)據(jù)了斋泄,數(shù)組中元素都是通過下標(biāo)來訪問的杯瞻,例如向 scores 數(shù)組中存放學(xué)生成績

scores[0] = 89;
scores[1] = 79;

4、 處理數(shù)組中數(shù)據(jù)

我們可以對(duì)賦值后的數(shù)組進(jìn)行操作和處理炫掐,如獲取并輸出數(shù)組中元素的值

System.out.println("scores數(shù)組中第一個(gè)元素的值:"+scores[0]);

在 Java 中還提供了另外一種直接創(chuàng)建數(shù)組的方式魁莉,它將聲明數(shù)組、分配空間和賦值合并完成募胃,如

int[] scores={78,91,84,68};

它等價(jià)于:

int[] scores=new int[]{78,91,84,68};

定義了一個(gè)數(shù)組 subjects 旗唁,用于保存考試科目信息

public class HelloWorld {
    public static void main(String[] args) {
        
        // 定義一個(gè)長度為5的字符串?dāng)?shù)組,保存考試科目信息
        String[] subjects =  new   String[5]                ;
        
        // 分別為數(shù)組中的元素賦值
        subjects[0] = "Oracle";
        subjects[1] = "PHP";
        subjects[2] = "Linux";
        subjects[3] = "Java";
        subjects[4] = "HTML";
        
        System.out.println("數(shù)組中第4個(gè)科目為:" +     subjects[3]      );
    }
}

二痹束、使用循環(huán)操作 Java 中的數(shù)組

實(shí)際開發(fā)中我們經(jīng)常使用循環(huán)控制數(shù)組成員的操作检疫。如:

運(yùn)行結(jié)果:

其中, **數(shù)組名.length ** 用于獲取數(shù)組的長度

需要注意的“小毛病”:

1祷嘶、 數(shù)組下標(biāo)從 0 開始屎媳。因此 scores[3] 夺溢,表示數(shù)組中的第 4 個(gè)元素,而并非第 3 個(gè)元素

2烛谊、 數(shù)組**下標(biāo)的范圍是 0 至 數(shù)組長度-1 **风响,如果越界訪問,就會(huì)報(bào)錯(cuò)丹禀。如:

運(yùn)行時(shí)會(huì)報(bào)如下錯(cuò)誤:

上面錯(cuò)誤信息的意思是數(shù)組下標(biāo)超過范圍状勤,即數(shù)組訪問越界。在上面的代碼中創(chuàng)建一個(gè)長度為 2 的數(shù)組双泪,因此數(shù)組下標(biāo)范圍是 0 到 1 持搜,而程序中下標(biāo)出現(xiàn)了 2 ,即 scores[2] 焙矛,超過了范圍葫盼,造成數(shù)組訪問越界。

練習(xí)

public class HelloWorld {
    public static void main(String[] args) {
        
        // 定義一個(gè)長度為 3 的字符串?dāng)?shù)組薄扁,并賦值初始值
        String[] hobbys = { "sports", "game", "movie" };
        System.out.println("循環(huán)輸出數(shù)組中元素的值:");
        
        // 使用循環(huán)遍歷數(shù)組中的元素
        
        for (int i =0 ;i<=2;i++){
            System.out.println(hobbys[i]);
        }
        
        
    }
}

任務(wù)要求:

  • 1剪返、 定義一個(gè)整型數(shù)組废累,并賦初值 61, 23, 4, 74, 13, 148, 20

  • 2邓梅、 定義變量分別保存最大值、最小值邑滨、累加值和平均值日缨,并假設(shè)數(shù)組中的第一個(gè)元素既為最大值又為最小值

  • 3、 使用 for 循環(huán)遍歷數(shù)組中的元素掖看,分別與假定的最大值和最小值比較匣距。如果比假定的最大值要大,則替換當(dāng)前的最大值哎壳;如果比假定的最小值要小毅待,則替換當(dāng)前的最小值

  • 4、 循環(huán)執(zhí)行過程中對(duì)數(shù)組中的元素進(jìn)行累加求和

  • 5归榕、 循環(huán)結(jié)束根據(jù)累加值計(jì)算平均值尸红,并打印輸出相關(guān)內(nèi)容

public class HelloWorld {
    
    public static void main(String[] args) {
        
        // 定義一個(gè)整型數(shù)組,并賦初值
        int[] nums = new int[] { 61, 23, 4, 74, 13, 148, 20 };
        
        int max = nums[0]; // 假定最大值為數(shù)組中的第一個(gè)元素
        int min = nums[0]; // 假定最小值為數(shù)組中的第一個(gè)元素
        double sum = 0;// 累加值
        double avg = 0;// 平均值
        
        for (int i = 0; i < nums.length; i++) { // 循環(huán)遍歷數(shù)組中的元素
        // 如果當(dāng)前值大于max刹泄,則替換max的值
        if (nums[i]>max){
            max = nums[i];
        }
        
        
        // 如果當(dāng)前值小于min外里,則替換min的值
        
        if (nums[i]<min){
            min = nums[i];
        }
        
        // 累加求和
        
        sum += nums[i];
        }
        
        // 求平均值
       avg = sum/nums.length;
        
        System.out.println("數(shù)組中的最大值:" + max);
        System.out.println("數(shù)組中的最小值:" + min);
        System.out.println("數(shù)組中的平均值:" + avg);
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市特石,隨后出現(xiàn)的幾起案子盅蝗,更是在濱河造成了極大的恐慌,老刑警劉巖姆蘸,帶你破解...
    沈念sama閱讀 218,284評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件墩莫,死亡現(xiàn)場(chǎng)離奇詭異芙委,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)贼穆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門题山,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人故痊,你說我怎么就攤上這事顶瞳。” “怎么了愕秫?”我有些...
    開封第一講書人閱讀 164,614評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵慨菱,是天一觀的道長。 經(jīng)常有香客問我戴甩,道長符喝,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,671評(píng)論 1 293
  • 正文 為了忘掉前任甜孤,我火速辦了婚禮协饲,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘缴川。我一直安慰自己茉稠,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評(píng)論 6 392
  • 文/花漫 我一把揭開白布把夸。 她就那樣靜靜地躺著而线,像睡著了一般。 火紅的嫁衣襯著肌膚如雪恋日。 梳的紋絲不亂的頭發(fā)上膀篮,一...
    開封第一講書人閱讀 51,562評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音岂膳,去河邊找鬼誓竿。 笑死,一個(gè)胖子當(dāng)著我的面吹牛谈截,可吹牛的內(nèi)容都是我干的筷屡。 我是一名探鬼主播,決...
    沈念sama閱讀 40,309評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼傻盟,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼速蕊!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起娘赴,我...
    開封第一講書人閱讀 39,223評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤规哲,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后诽表,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體唉锌,經(jīng)...
    沈念sama閱讀 45,668評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡隅肥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了袄简。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腥放。...
    茶點(diǎn)故事閱讀 39,981評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖绿语,靈堂內(nèi)的尸體忽然破棺而出秃症,到底是詐尸還是另有隱情,我是刑警寧澤吕粹,帶...
    沈念sama閱讀 35,705評(píng)論 5 347
  • 正文 年R本政府宣布种柑,位于F島的核電站,受9級(jí)特大地震影響匹耕,放射性物質(zhì)發(fā)生泄漏聚请。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評(píng)論 3 330
  • 文/蒙蒙 一稳其、第九天 我趴在偏房一處隱蔽的房頂上張望驶赏。 院中可真熱鬧,春花似錦既鞠、人聲如沸煤傍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽患久。三九已至椅寺,卻和暖如春浑槽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背返帕。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評(píng)論 1 270
  • 我被黑心中介騙來泰國打工桐玻, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人荆萤。 一個(gè)月前我還...
    沈念sama閱讀 48,146評(píng)論 3 370
  • 正文 我出身青樓镊靴,卻偏偏與公主長得像,于是被迫代替她去往敵國和親链韭。 傳聞我的和親對(duì)象是個(gè)殘疾皇子偏竟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評(píng)論 2 355

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