版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)組第八章回顧與作業(yè)點(diǎn)評(píng)回顧與作業(yè)點(diǎn)評(píng)int i = 0, j = 0;for(;i4) System.out.println(*); continue; System.out.println(*); j+;*輸出輸出 代碼閱讀代碼閱讀寫(xiě)出運(yùn)行結(jié)果寫(xiě)出運(yùn)行結(jié)果? 2/38預(yù)習(xí)檢查預(yù)習(xí)檢查通常什么通常什么情況下使用數(shù)組?情況下使用數(shù)組?如何定義一個(gè)如何定義一個(gè)int數(shù)組?數(shù)組?怎樣引用一個(gè)數(shù)組中的元素?怎樣引用一個(gè)數(shù)組中的元素?提問(wèn)提問(wèn)3/38本章任務(wù)本章任務(wù)統(tǒng)計(jì)本次考試平均統(tǒng)計(jì)本次考試平均分、最高分分、最高分顯示商品名稱、求商品最低價(jià)格顯示商品名稱、求商品最低價(jià)格購(gòu)物金額結(jié)算購(gòu)物金額結(jié)算實(shí)現(xiàn)數(shù)
2、組排序?qū)崿F(xiàn)數(shù)組排序字符逆序輸出字符逆序輸出向有序字符序列中插入字符向有序字符序列中插入字符4/38本章目標(biāo)本章目標(biāo)掌握數(shù)組的基本用法掌握數(shù)組的基本用法 掌握數(shù)組的幾種掌握數(shù)組的幾種典型應(yīng)用典型應(yīng)用5/38int stu1 = 95;int stu2 = 89;int stu3 = 79;int stu4 = 64;int stu5 = 76;int stu6 = 88;avg = (stu1+stu2+stu3+stu4+stu5+stu30)/30;30個(gè)變量個(gè)變量30個(gè)變量太繁瑣個(gè)變量太繁瑣Java考試結(jié)束后,老師給張浩分配了一項(xiàng)考試結(jié)束后,老師給張浩分配了一項(xiàng)任務(wù),讓他計(jì)算全班(任務(wù),讓
3、他計(jì)算全班(30人)的平均分人)的平均分問(wèn)題問(wèn)題為什么需要數(shù)組為什么需要數(shù)組不利于數(shù)據(jù)處理不利于數(shù)據(jù)處理6/38什么是什么是數(shù)組數(shù)組2-1數(shù)組是一個(gè)變量,存儲(chǔ)相同數(shù)據(jù)類型的一組數(shù)組是一個(gè)變量,存儲(chǔ)相同數(shù)據(jù)類型的一組數(shù)據(jù)數(shù)據(jù)聲明一個(gè)變量就是在內(nèi)存空間劃出一塊合適的空間聲明一個(gè)變量就是在內(nèi)存空間劃出一塊合適的空間聲明一個(gè)數(shù)組就是在內(nèi)存空間劃出一串連續(xù)的空間聲明一個(gè)數(shù)組就是在內(nèi)存空間劃出一串連續(xù)的空間7/38什么是什么是數(shù)組數(shù)組2-2數(shù)組基本數(shù)組基本要素要素標(biāo)識(shí)符:數(shù)組的名稱,用于區(qū)分不同的數(shù)組標(biāo)識(shí)符:數(shù)組的名稱,用于區(qū)分不同的數(shù)組數(shù)組元素:向數(shù)組中存放的數(shù)據(jù)數(shù)組元素:向數(shù)組中存放的數(shù)據(jù)元素下標(biāo):對(duì)
4、數(shù)組元素進(jìn)行元素下標(biāo):對(duì)數(shù)組元素進(jìn)行編號(hào),從編號(hào),從0開(kāi)始,數(shù)組開(kāi)始,數(shù)組中的每個(gè)元素都可以通過(guò)下標(biāo)來(lái)訪問(wèn)中的每個(gè)元素都可以通過(guò)下標(biāo)來(lái)訪問(wèn)元素類型:數(shù)組元素的數(shù)據(jù)類型元素類型:數(shù)組元素的數(shù)據(jù)類型 數(shù)組長(zhǎng)度固定不變,避免數(shù)組越界數(shù)組長(zhǎng)度固定不變,避免數(shù)組越界8/38小結(jié)小結(jié)1、使用數(shù)組的好處是什么?、使用數(shù)組的好處是什么?2、下列哪組數(shù)據(jù)能存儲(chǔ)在數(shù)組中?數(shù)組的類型、下列哪組數(shù)據(jù)能存儲(chǔ)在數(shù)組中?數(shù)組的類型是什么?是什么? a) “劉星劉星”,“夏雨夏雨”,“夏雪夏雪”b) 8,98,“c”,23c) 98.1,341.2,34.3數(shù)組數(shù)組中的所有元素必須屬于相同的數(shù)據(jù)類型中的所有元素必須屬于相同的
5、數(shù)據(jù)類型 String型型 double型型 提問(wèn)提問(wèn)9/38使用數(shù)組四步走:使用數(shù)組四步走:1、聲明數(shù)組、聲明數(shù)組2、分配空間、分配空間3、賦值、賦值4、處理數(shù)據(jù)、處理數(shù)據(jù)int a; a = new int5; a 0 = 8; a 0 = a0 * 10; a8 80a0如何使用數(shù)組如何使用數(shù)組10/38int score1; /Java成績(jī)成績(jī)int score2 ; /C#成績(jī)成績(jī)String name; /學(xué)生姓名學(xué)生姓名聲明數(shù)組聲明數(shù)組: : 告訴計(jì)算機(jī)數(shù)據(jù)類型是什么告訴計(jì)算機(jī)數(shù)據(jù)類型是什么1數(shù)據(jù)類型數(shù)據(jù)類型 數(shù)組名數(shù)組名 ; 數(shù)據(jù)類型數(shù)據(jù)類型 數(shù)組名數(shù)組名 ; 聲明數(shù)組時(shí)不規(guī)定
6、數(shù)組長(zhǎng)度聲明數(shù)組時(shí)不規(guī)定數(shù)組長(zhǎng)度 語(yǔ)法語(yǔ)法聲明數(shù)組聲明數(shù)組11/38score = new int30; avgAge = new int6; name = new String30;30分配空間分配空間: : 告訴計(jì)算機(jī)分配幾個(gè)連續(xù)的空間告訴計(jì)算機(jī)分配幾個(gè)連續(xù)的空間2數(shù)據(jù)類型數(shù)據(jù)類型 數(shù)組名數(shù)組名 = new 數(shù)據(jù)類型數(shù)據(jù)類型大小大小 ; 聲明數(shù)組并分配空間聲明數(shù)組并分配空間語(yǔ)法語(yǔ)法分配空間分配空間12/38score0 = 89;score1 = 79;score2 = 76;賦值賦值:向分配的格子里放數(shù)據(jù):向分配的格子里放數(shù)據(jù)30score0score1score2 89 79 76太麻
7、煩!能不能一起賦值?太麻煩!能不能一起賦值?3數(shù)組賦值數(shù)組賦值13/38方法方法1: 邊聲明邊賦值邊聲明邊賦值方法方法2:動(dòng)態(tài)地從鍵盤(pán)錄入信息并賦值:動(dòng)態(tài)地從鍵盤(pán)錄入信息并賦值int score = 89, 79, 76;Scanner input = new Scanner(System.in);for(int i = 0; i 30; i +) scorei = input.nextInt();int score = new int 89, 79, 76;數(shù)組賦值數(shù)組賦值不能指定數(shù)組長(zhǎng)度不能指定數(shù)組長(zhǎng)度 14/386080907085int score = 60, 80, 90, 70,
8、85;double avg;avg = (score0 + score1 + score2 + score3 + score4)/5; int score = 60, 80, 90, 70, 85;int sum = 0;double avg;for(int i = 0; i score.length; i+) sum = sum + scorei;avg = sum / score.length; 成成績(jī)績(jī)單單訪問(wèn)數(shù)組成員:使用訪問(wèn)數(shù)組成員:使用“標(biāo)識(shí)符標(biāo)識(shí)符下標(biāo)下標(biāo)”訪問(wèn)成員訪問(wèn)成員數(shù)組的數(shù)組的length屬性屬性對(duì)數(shù)據(jù)進(jìn)行處理:對(duì)數(shù)據(jù)進(jìn)行處理:計(jì)算計(jì)算5 5位學(xué)生的平均分位學(xué)生的平均分4
9、處理數(shù)據(jù)處理數(shù)據(jù)15/38public static void main(String args) int scores = new int5;/成績(jī)數(shù)組成績(jī)數(shù)組int sum = 0;/成績(jī)總和成績(jī)總和Scanner input = new Scanner(System.in);System.out.println(請(qǐng)輸入請(qǐng)輸入5位學(xué)員的成績(jī):位學(xué)員的成績(jī):);for(int i = 0; i scores.length; i+)scoresi = input.nextInt();sum = sum + scoresi; /成績(jī)累加成績(jī)累加System.out.println(平均分是:平均
10、分是: + (double)sum/scores.length); 使用數(shù)組求平均分使用數(shù)組求平均分計(jì)算計(jì)算全班學(xué)員的平均分全班學(xué)員的平均分演示示例演示示例1:計(jì)算:計(jì)算5位學(xué)員平均分位學(xué)員平均分問(wèn)題問(wèn)題16/38public class ErrorDemo1 public static void main(String args) int score = new int ; score0 = 89; score1 = 63; System.out.println(score0); 編譯出錯(cuò),沒(méi)有寫(xiě)明數(shù)組的大小編譯出錯(cuò),沒(méi)有寫(xiě)明數(shù)組的大小代碼閱讀代碼閱讀常見(jiàn)錯(cuò)誤常見(jiàn)錯(cuò)誤3-117/38publ
11、ic class ErrorDemo2 public static void main(String args) int scores = new int2;scores0 = 90;scores1 = 85;scores2 = 65;System.out.println(scores2);編譯出錯(cuò),數(shù)組越界編譯出錯(cuò),數(shù)組越界代碼閱讀代碼閱讀常見(jiàn)錯(cuò)誤常見(jiàn)錯(cuò)誤3-218/38public static void main(String args) int score = new int5; score = 60, 80, 90, 70, 85; int score2; score2 = 60,
12、80, 90, 70, 85; 常見(jiàn)錯(cuò)誤常見(jiàn)錯(cuò)誤3-3編譯出錯(cuò),創(chuàng)建數(shù)組并賦值的編譯出錯(cuò),創(chuàng)建數(shù)組并賦值的方式方式必須必須在一條語(yǔ)句中完成在一條語(yǔ)句中完成代碼閱讀代碼閱讀19/38小結(jié)小結(jié) 使用數(shù)組的步驟是什么?使用數(shù)組的步驟是什么?有一個(gè)數(shù)列:有一個(gè)數(shù)列:8,4,2,1,23,344,12循環(huán)輸出數(shù)列的值循環(huán)輸出數(shù)列的值求數(shù)列中所有數(shù)值的和求數(shù)列中所有數(shù)值的和猜數(shù)游戲:從鍵盤(pán)中任意輸入一個(gè)數(shù)據(jù),判斷數(shù)猜數(shù)游戲:從鍵盤(pán)中任意輸入一個(gè)數(shù)據(jù),判斷數(shù)列中是否包含此數(shù)列中是否包含此數(shù) 提問(wèn)提問(wèn)現(xiàn)場(chǎng)編程現(xiàn)場(chǎng)編程20/38學(xué)員操作學(xué)員操作顯示商品顯示商品名稱名稱2-1訓(xùn)練要點(diǎn):訓(xùn)練要點(diǎn):數(shù)組的使用數(shù)組的使
13、用需求說(shuō)明:需求說(shuō)明:在控制臺(tái)顯示在控制臺(tái)顯示5件特價(jià)商品名稱件特價(jià)商品名稱指導(dǎo)指導(dǎo)講解需求說(shuō)明講解需求說(shuō)明21/38學(xué)員操作學(xué)員操作顯示商品名稱顯示商品名稱2-2實(shí)現(xiàn)思路:實(shí)現(xiàn)思路:1. 創(chuàng)建一個(gè)長(zhǎng)度為創(chuàng)建一個(gè)長(zhǎng)度為5的的String數(shù)組,存儲(chǔ)商品名稱。數(shù)組,存儲(chǔ)商品名稱。2. 使用循環(huán)輸出商品名稱使用循環(huán)輸出商品名稱指導(dǎo)指導(dǎo)完成時(shí)間:完成時(shí)間:10分鐘分鐘22/38學(xué)員操作學(xué)員操作購(gòu)物金額結(jié)算購(gòu)物金額結(jié)算 需求說(shuō)明:需求說(shuō)明:以表格的形式輸出以表格的形式輸出5筆購(gòu)物金額及總金額筆購(gòu)物金額及總金額 練習(xí)練習(xí)完成時(shí)間完成時(shí)間:25分鐘分鐘提示提示步驟:步驟:1.創(chuàng)建一個(gè)長(zhǎng)度為創(chuàng)建一個(gè)長(zhǎng)度為5的
14、的double類型數(shù)組,類型數(shù)組,存儲(chǔ)購(gòu)物金額。存儲(chǔ)購(gòu)物金額。2.循環(huán)輸入五筆購(gòu)物金額,循環(huán)輸入五筆購(gòu)物金額,并累加總金額。并累加總金額。3.利用循環(huán)輸出五筆利用循環(huán)輸出五筆購(gòu)物金額,最后輸出總金額購(gòu)物金額,最后輸出總金額。23/38共性問(wèn)題集中講解共性問(wèn)題集中講解常見(jiàn)問(wèn)題及解決辦法常見(jiàn)問(wèn)題及解決辦法代碼規(guī)范問(wèn)題代碼規(guī)范問(wèn)題調(diào)試技巧調(diào)試技巧24/38數(shù)組排序數(shù)組排序2-1使用使用java.util.Arrays類類java.util包提供了許多工具類包提供了許多工具類Arrays類提供操作數(shù)組的方法,例排序、查詢類提供操作數(shù)組的方法,例排序、查詢Arrays類的類的sort()方法方法: 對(duì)數(shù)
15、組進(jìn)行升序排列對(duì)數(shù)組進(jìn)行升序排列Arrays.sort(數(shù)組名數(shù)組名);循環(huán)循環(huán)錄入錄入5位學(xué)員成績(jī),進(jìn)行升序排列后輸位學(xué)員成績(jī),進(jìn)行升序排列后輸出結(jié)果出結(jié)果問(wèn)題問(wèn)題分析分析25/38 import java.util.*; /導(dǎo)入包導(dǎo)入包 int scores = new int5;/成績(jī)數(shù)組成績(jī)數(shù)組Scanner input = new Scanner(System.in);System.out.println(請(qǐng)輸入請(qǐng)輸入5位學(xué)員的成績(jī):位學(xué)員的成績(jī):);for(int i = 0; i scores.length; i+)scoresi = input.nextInt();Arrays
16、.sort(scores);System.out.print(學(xué)員成績(jī)按升序排列:學(xué)員成績(jī)按升序排列:);for(int i = 0; i max ) max=a1 ;if (a2max ) max=a2 ;if (a3max ) max=a3 ;使用使用循環(huán)來(lái)循環(huán)來(lái)解決解決分析分析求最大值求最大值3-2根據(jù)打擂臺(tái)的規(guī)則根據(jù)打擂臺(tái)的規(guī)則28/38 /計(jì)算成績(jī)最大計(jì)算成績(jī)最大max = scores0;for(int i = 1; i max)max = scoresi;System.out.println(考試成績(jī)最高分為:考試成績(jī)最高分為: + max);循環(huán)打擂循環(huán)打擂使用使用max存儲(chǔ)擂
17、主初始值:第一個(gè)元素為擂主存儲(chǔ)擂主初始值:第一個(gè)元素為擂主求最大值求最大值3-3示例示例 演示示例演示示例3:計(jì)算最大值:計(jì)算最大值29/38插入算法插入算法有一組學(xué)員的成績(jī)有一組學(xué)員的成績(jī)99,85,82,63, 60,將它們按升序排列。要增加一個(gè)學(xué)員的成績(jī),將它們按升序排列。要增加一個(gè)學(xué)員的成績(jī),將它插入成績(jī)序列,并保持升序。將它插入成績(jī)序列,并保持升序。將成績(jī)序列保存在長(zhǎng)度為將成績(jī)序列保存在長(zhǎng)度為6的數(shù)組中的數(shù)組中通過(guò)通過(guò)比較找到插入位置比較找到插入位置將該位置后的元素后移一個(gè)位置將該位置后的元素后移一個(gè)位置將增加的學(xué)員成績(jī)插入將增加的學(xué)員成績(jī)插入到該位置到該位置 問(wèn)題問(wèn)題分析分析30/
18、38int list = new int6; / 長(zhǎng)度為為長(zhǎng)度為為6的數(shù)組的數(shù)組int index = list.length;/保存新增成績(jī)插入位置保存新增成績(jī)插入位置 /省略為數(shù)組和變量賦值省略為數(shù)組和變量賦值 for(int i = 0; i listi) index = i; break; for(int j = list.length-1; j index; j-) listj = listj-1; listindex = num;/插入數(shù)據(jù)插入數(shù)據(jù)插入算法插入算法元素后移元素后移找到新元素的插入位置找到新元素的插入位置新元素放在新元素放在index的位置的位置示例示例演示示例演示示
19、例 4:向數(shù)組中插入一個(gè)元素:向數(shù)組中插入一個(gè)元素31/38學(xué)員操作學(xué)員操作字符逆序輸出字符逆序輸出需求說(shuō)明:需求說(shuō)明:將將 一組亂序的字符進(jìn)行排序一組亂序的字符進(jìn)行排序進(jìn)行升序和逆序輸出進(jìn)行升序和逆序輸出 練習(xí)練習(xí)完成時(shí)間:完成時(shí)間:15分鐘分鐘提示提示步驟:步驟:1.創(chuàng)建數(shù)組存儲(chǔ)原字符序列。創(chuàng)建數(shù)組存儲(chǔ)原字符序列。2.利用利用Array類的類的sort( )方法對(duì)數(shù)組進(jìn)行排序,并循環(huán)輸出。方法對(duì)數(shù)組進(jìn)行排序,并循環(huán)輸出。3. 從最后一個(gè)元素開(kāi)始,將數(shù)組中的元素逆序輸出。從最后一個(gè)元素開(kāi)始,將數(shù)組中的元素逆序輸出。32/38學(xué)員操作學(xué)員操作向有序序列中插入字符向有序序列中插入字符需求說(shuō)明:需求說(shuō)明:在上一個(gè)練習(xí)的基礎(chǔ)上改進(jìn):在上一個(gè)練習(xí)的基礎(chǔ)上改進(jìn):向上一個(gè)練習(xí)中得到的升序字符序列中插入一個(gè)向上一個(gè)練習(xí)中得到的升序字符序列中插入一個(gè)新的字符,要
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 助力大橋施工方案(3篇)
- 如何培訓(xùn)施工方案(3篇)
- 碾壓地基施工方案(3篇)
- 吳忠地坪施工方案(3篇)
- 鄉(xiāng)村篝火活動(dòng)策劃方案(3篇)
- 體驗(yàn)方案項(xiàng)目流程
- 2025年大學(xué)(林學(xué))森林生態(tài)學(xué)階段試題及答案
- DB64-T 992.4-2014 電梯運(yùn)行安全監(jiān)測(cè)信息管理系統(tǒng)技術(shù)規(guī)范 第4部分:數(shù)據(jù)格式、編碼規(guī)則與通訊協(xié)議
- 2025年大學(xué)(會(huì)計(jì)學(xué))審計(jì)學(xué)綜合測(cè)試卷及解析
- JJF(蒙) 115-2025 全自動(dòng)比表面積分析儀校準(zhǔn)規(guī)范
- 豆制品購(gòu)銷(xiāo)合同范本
- 腰椎術(shù)后腦脊液漏護(hù)理課件
- 廣東省佛山市南海區(qū)2023-2024學(xué)年七年級(jí)上學(xué)期期末數(shù)學(xué)試卷+
- 基于區(qū)塊鏈的供應(yīng)鏈金融平臺(tái)實(shí)施方案
- 汽車(chē)修理廠維修結(jié)算清單
- 牛津版小學(xué)英語(yǔ)教材梳理
- 風(fēng)機(jī)安裝工程施工強(qiáng)制性條文執(zhí)行記錄表
- GB/T 1355-2021小麥粉
- GB 5135.11-2006自動(dòng)噴水滅火系統(tǒng)第11部分:溝槽式管接件
- (完整版)歐姆龍E3X-HD光纖放大器調(diào)試SOP
- 強(qiáng)夯地基工程技術(shù)標(biāo)
評(píng)論
0/150
提交評(píng)論