數組定義·迴圈操作__java

來源:互聯網
上載者:User
什麼是數組

問:編寫代碼儲存 4 名學生的考試成績。

答:簡單啊,定義 4 個變數唄

問:那“計算全年級 400 名學生的考試成績”,腫麼辦

答: 。。。。。。。

數組,就可以協助你妥妥的解決問題啦。。

數組可以理解為是一個巨大的“盒子”,裡面可以按順序存放多個類型相同的資料,比如可以定義 int 型的數組 scores 儲存 4 名學生的成績

數組中的元素都可以通過下標來訪問,下標從 0 開始。例如,可以通過 scores[0] 擷取數組中的第一個元素 76 ,scores[2] 就可以取到第三個元素 92 啦。 任務

快樂的練習時間又到啦。。

在編輯器中定義了一個數組 scores ,用於儲存五名學生的考試成績,請在第 8 行中將代碼填寫完整,輸出數組中的第二個成績

運行結果為: 數組中的第2個成績為:93

public class HelloWorld {    public static void main(String[] args) {// 定義一個數組,儲存五名學生的成績int[] scores = { 78, 93, 97, 84, 63 };// 輸出數組中的第二個成績System.out.println("數組中的第2個成績為:" +scores[1]);}}



如何使用 Java 中的數組

Java 中運算元組只需要四個步驟:

1、 聲明數組

文法:  資料類型[ ] 數組名;

或者   資料類型 數組名[ ];

其中,數組名可以是任意合法的變數名,如:

2、 分配空間

簡單地說,就是指定數組中最多可儲存多少個元素

文法:  數組名 = new  資料類型 [ 數組長度 ];

其中,數組長度就是數組中能存放元素的個數,如:

話說,我們也可以將上面的兩個步驟合并,在聲明數組的同時為它分配空間,如:

3、 賦值

分配空間後就可以向數組中放資料了,數組中元素都是通過下標來訪問的,例如向 scores 數組中存放學產生績

4、 處理數組中資料

我們可以對賦值後的數組進行操作和處理,如擷取並輸出數組中元素的值

在 Java 中還提供了另外一種直接建立數組的方式,它將聲明數組、分配空間和賦值合并完成,如

它等價於:

任務

小夥伴們,數組的使用步驟你掌握了麼,讓我們來檢驗下吧。

在編輯器中定義了一個數組 subjects ,用於儲存考試科目資訊,請在第 5、14 行中將代碼填寫完整,輸出數組中的第四個科目資訊。

運行結果為: 數組中第4個科目為:Java

public class HelloWorld {    public static void main(String[] args) {        // 定義一個長度為5的字串數組,儲存考試科目資訊String[] subjects = new String[5]                   ;        // 分別為數組中的元素賦值subjects[0] = "Oracle";subjects[1] = "PHP";subjects[2] = "Linux";subjects[3] = "Java";subjects[4] = "HTML";        System.out.println("數組中第4個科目為:" + subjects[3]          );}}
<span style="font-family: "Microsoft YaHei"; font-size: 16px; line-height: 30px; background-color: rgb(236, 238, 240);">單選練習題</span>
下列數組的初始化正確的是() Aint[ ] score = new int[ ]; Bint score[ ] = new int[ ] { 34, 90, 87, 54, 24 }; Cint[ ] score = new int[ 4 ] { 90, 12, 34, 77 }; Dint score = { 78, 23, 44, 78 };
解析 選項 A 需要指定數組的長度;選項 C 在聲明數組的同時賦值時不能指定數組長度;選項 D 聲明數組的語法錯誤,應為int[ ] score={ 78, 23, 44, 78 };因此選擇 B

使用迴圈操作 Java 中的數組

實際開發中我們經常使用迴圈控制數群組成員的操作。如:

 

運行結果:

 

其中,  數組名.length  用於擷取數組的長度

需要注意的“小毛病”:

1、 數組下標從 0 開始。因此 scores[3] ,表示數組中的第 4 個元素,而並非第 3 個元素

2、 數組下標的範圍是 0 至 數組長度-1 ,如果越界訪問,就會報錯。如:

運行時會報如下錯誤: 

上面錯誤資訊的意思是數組下標超過範圍,即數組訪問越界。在上面的代碼中建立一個長度為 2 的數組,因此數組下標範圍是 0 到 1 ,而程式中下標出現了 2 ,即 scores[2] ,超過了範圍,造成數組訪問越界。 任務

請在編輯器中第 9 行後空白處將代碼補充完整,實現數組元素輸出的功能

運行結果:

public class HelloWorld {    public static void main(String[] args) {// 定義一個長度為 3 的字串數組,並賦值初始值String[] hobbys = { "sports", "game", "movie" };System.out.println("迴圈輸出數組中元素的值:");// 使用迴圈遍曆數組中的元素for(int i=0;i<hobbys.length;i++){       System.out.println(hobbys[i]); }}}
編程練習

小夥伴們,請根據所學知識,參考注釋,在代碼編輯器中補充代碼,完成 JAVA 程式,實現輸出數組中的最大值、最小值和平均值

運行效果:

  任務

任務要求:

1、 定義一個整型數組,並賦初值 61, 23, 4, 74, 13, 148, 20

2、 定義變數分別儲存最大值、最小值、累加值和平均值,並假設數組中的第一個元素既為最大值又為最小值

3、 使用 for 迴圈遍曆數組中的元素,分別與假定的最大值和最小值比較。如果比假定的最大值要大,則替換當前的最大值;如果比假定的最小值要小,則替換當前的最小值

4、 迴圈執行過程中對數組中的元素進行累加求和

5

public class HelloWorld {        public static void main(String[] args) {        // 定義一個整型數組,並賦初值int[] nums = new int[] { 61, 23, 4, 74, 13, 148, 20 };        int max = nums[0]; // 假定最大值為數組中的第一個元素int min = nums[0]; // 假定最小值為數組中的第一個元素double sum = 0;// 累加值double avg = 0;// 平均值        for (int i = 0; i < nums.length; i++) { // 迴圈遍曆數組中的元素        // 如果當前值大於max,則替換max的值if(nums[i]>max)            max=nums[i];                        // 如果當前值小於min,則替換min的值        if(nums[i]<min)            min=nums[i];                                // 累加求和        sum+=nums[i];        }                // 求平均值               avg=sum/nums.length;System.out.println("數組中的最大值:" + max);System.out.println("數組中的最小值:" + min);System.out.println("數組中的平均值:" + avg);}}

、 迴圈結束根據累加值計算平均值,並列印輸出相關內容


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.