




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第五章第五章回顧與作業點評無參方法有哪幾個組成部分?無參方法有哪幾個組成部分?調用無參方法的兩種形式是什么?調用無參方法的兩種形式是什么?方法的返回值使用什么關鍵字?方法的返回值使用什么關鍵字?提問提問2/40預習檢查調用帶參方法時,有哪些注意事項?調用帶參方法時,有哪些注意事項?包的作用是什么?包的作用是什么?提問提問3/40本章任務實現客戶信息的添加和顯示實現客戶信息的添加和顯示修改客戶姓名修改客戶姓名對客戶姓名排序對客戶姓名排序實現模擬賬戶存取款功能實現模擬賬戶存取款功能4/40本章目標會定義帶參方法會定義帶參方法會使用帶參方法會使用帶參方法會創建包組織會創建包組織Java工程工程5/4
2、0為什么要用帶參數的方法工作原理工作原理新鮮桃汁新鮮桃汁新鮮蘋果汁新鮮蘋果汁新鮮梨汁新鮮梨汁輸輸出出三三種種果果汁汁6/40如何使用帶參數的方法3-1定義帶參數的方法定義帶參數的方法調用帶參數的方法調用帶參數的方法public class ZhazhiJi public String zhazhi ( String fruit ) String juice = fruit + 汁汁; return juice; /*調用調用zhazhi方法方法*/ZhazhiJi myZhazhiji = new ZhazhiJi();String myFruit = 蘋果蘋果;String myJuice
3、= myZhazhi.zhazhi(myFruit);System.out.println(myJuice);參數列表:參數列表:(數據類型數據類型 參數參數1,數據類型,數據類型 參數參數2)調用方法,傳遞的參數調用方法,傳遞的參數要與參數列表一一對應要與參數列表一一對應7/40如何使用帶參數的方法3-2 返回類型返回類型 () /方法的主體方法的主體該方法允許被訪問調用的權限范圍該方法允許被訪問調用的權限范圍方法返回值的類型方法返回值的類型public class StudentsBiz String names = new String30; public void addName(St
4、ring name) /增加學生姓名增加學生姓名public void showNames() /顯示全部學生姓名顯示全部學生姓名傳送給方法的形參列表傳送給方法的形參列表一個形式參數一個形式參數沒有返回值沒有返回值語法語法示例示例定義帶參數的方法定義帶參數的方法8/40如何使用帶參數的方法3-3public static void main(String args) StudentsBiz st = new StudentsBiz(); Scanner input = new Scanner(System.in); for(int i=0;i5;i+) System.out.print(請輸入
5、學生姓名:請輸入學生姓名:); String newName = input.next(); st.addName(newName); st.showNames(); 實參的類型、數量、順序實參的類型、數量、順序都要與形參一一對應都要與形參一一對應先實例化對象,先實例化對象,再使用方法再使用方法調用帶參數的方法調用帶參數的方法對象名對象名.方法名(參數方法名(參數1, 參數參數2,,參數,參數n)實參列表實參列表語法語法示例示例9/40帶多個參數的方法2-1設計方法,通過傳遞三個參數(開始位置、設計方法,通過傳遞三個參數(開始位置、結束位置、查找的姓名)來實現結束位置、查找的姓名)來實現在保存
6、了多個學生姓名的數組中,指定查找區在保存了多個學生姓名的數組中,指定查找區間,查找某個學生姓名并顯示是否查找成功間,查找某個學生姓名并顯示是否查找成功 問題問題分析分析10/40 public boolean searchName (int start,int end,String name) boolean find = false; / 是否找到標識是否找到標識/ 指定區間數組中,查找姓名指定區間數組中,查找姓名for(int i=start-1;iend;i+) if(namesi.equals(name) find=true; break; return find;返回值類型返回值類型
7、帶有三個形參帶有三個形參返回結果:返回結果:boolean類型類型帶多個參數的方法2-2if(st.searchName(s,e,name) System.out.println(找到了!找到了!);elseSystem.out.println(沒找到該學生!沒找到該學生!);傳遞三個實參傳遞三個實參示例示例11/40/方法定義方法定義public void addName(String name) /方法體方法體/方法調用方法調用對象名對象名.addName(String 張三張三);調用方法時不能指定實參類型!調用方法時不能指定實參類型!常見錯誤4-1對象名對象名.addName(張三張三
8、);代碼閱讀代碼閱讀注意注意12/40/方法定義方法定義public boolean searchName(int start ,int end ,String name)/方法體方法體/方法調用方法調用String s=開始開始;int e=3;String name=張三張三;boolean flag=對象名對象名. searchName(s ,e ,name);形參和實參數據類型不一致形參和實參數據類型不一致!常見錯誤4-2代碼閱讀代碼閱讀注意注意13/40/方法定義方法定義public boolean searchName(int start,int end,String name)/
9、方法體方法體/方法調用方法調用int s=1;int e=3;boolean flag= 對象名對象名.searchName(s,e);形參和實參數量不一致形參和實參數量不一致!常見錯誤4-3代碼閱讀代碼閱讀注意注意14/40/方法定義方法定義public boolean searchName(int start,int end,String name)/方法體方法體/方法調用方法調用int s=1;int e=3;String name=張三張三;對象名對象名.searchName(s,e,name);調用方法后沒有對返回值作任何處理調用方法后沒有對返回值作任何處理!常見錯誤4-4代碼閱讀代
10、碼閱讀注意注意15/40客戶姓名添加和顯示2-1訓練要點訓練要點帶參方法的定義帶參方法的定義帶參方法的調用帶參方法的調用 需求說明需求說明創建客戶業務類,實現客戶姓名的添加和顯示創建客戶業務類,實現客戶姓名的添加和顯示 指導指導16/40客戶姓名添加和顯示2-2實現思路實現思路1. 創建創建CustomerBiz類類2. 創建帶參方法創建帶參方法addName(String name)3. 創建方法創建方法showNames()4. 創建測試類創建測試類難點指導難點指導創建無返回值的帶參方法創建無返回值的帶參方法指導指導17/40修改客戶姓名需求說明需求說明修改學生姓名,輸入新、舊姓名,進行修
11、改并顯修改學生姓名,輸入新、舊姓名,進行修改并顯示是否修改成功示是否修改成功練習練習提示提示定義方法定義方法public boolean editName ( String oldName, String newName)18/40共性問題集中講解常見問題及解決辦法常見問題及解決辦法代碼規范問題代碼規范問題調試技巧調試技巧19/40數組作為參數的方法2-1將將5位學員的決賽成績保存在數組中位學員的決賽成績保存在數組中設計求平均成績、最高成績的方法,并把數設計求平均成績、最高成績的方法,并把數組作為參數組作為參數有有5位學員參加了位學員參加了Java知識競賽的決賽,輸知識競賽的決賽,輸出決賽的平
12、均成績和最高成績出決賽的平均成績和最高成績問題問題分析分析20/40public double calAvg( int scores ) int sum=0; double avg=0.0; for(int i =0;iscores.length;i+) sum+=scoresi; avg=(double)sum/scores.length; return avg;返回值類型返回值類型數組作為參數的方法2-2示例示例public int calMax( int scores ) int max=scores0; for(int i =1;iscores.length;i+) if(maxsco
13、resi) max=scoresi; return max; int scores=new int5;/保存比賽成績保存比賽成績 /double avgScore=st.calAvg(scores);int maxScore=st.calMax(scores);數組參數數組參數調用方法調用方法21/40對象作為參數的方法2-1方式一:設計帶四個參數(學號、姓名、年齡、成績方式一:設計帶四個參數(學號、姓名、年齡、成績)的方法)的方法方式二:將學生學號、姓名、年齡、成績封裝在學生方式二:將學生學號、姓名、年齡、成績封裝在學生對象中,設計方法,以學生對象作為參數對象中,設計方法,以學生對象作為參數
14、在實現了增加一個學生姓名的基礎上,增加在實現了增加一個學生姓名的基礎上,增加學生的學號、年齡和成績,并顯示這些信息,學生的學號、年齡和成績,并顯示這些信息,如何實現?如何實現?問題問題分析分析可以將多個相關的信息封裝成對象,作為參數傳遞,可以將多個相關的信息封裝成對象,作為參數傳遞,避免方法有太多的參數!避免方法有太多的參數!經驗經驗22/40class Student public int id; public String name; public int age; public int score; public void showInfo() System.out.println(id
15、+t+name+t+age+t+score); 學生類學生類對象作為參數的方法2-2示例示例public void addStudent( Student stu ) for(int i =0;istudents.length;i+) if(studentsi=null) studentsi=stu; break; /studentsBiz.addStudent(student1);studentsBiz.addStudent(student2);對象參數對象參數調用方法調用方法23/40對客戶姓名排序2-1訓練要點訓練要點帶參方法的調用帶參方法的調用數組作為方法的參數數組作為方法的參數需求說
16、明需求說明編寫方法,實現對客戶姓名的排序編寫方法,實現對客戶姓名的排序指導指導24/40對客戶姓名排序2-2實現思路實現思路1. 利用數組存儲學生姓名利用數組存儲學生姓名2. 定義排序方法:定義排序方法:sortNames(String names)3. 創建測試類創建測試類難點指導難點指導創建數組作為參數的方法創建數組作為參數的方法調用數組作為參數的方法調用數組作為參數的方法指導指導25/40改進客戶信息的添加和顯示需求說明需求說明實現添加客戶信息實現添加客戶信息客戶信息包括:姓名、年齡、是否有會員卡客戶信息包括:姓名、年齡、是否有會員卡練習練習提示提示定義定義Customer類類在在Cus
17、tomerBiz類中聲明客戶對象數組類中聲明客戶對象數組定義添加客戶的方法:定義添加客戶的方法:addCustomer (Customer cust)定義顯示信息的方法:定義顯示信息的方法:showCustomers() 26/40共性問題集中講解常見問題及解決辦法常見問題及解決辦法代碼規范問題代碼規范問題調試技巧調試技巧27/40為什么需要包為什么需要包生活案例生活案例 文檔分門別類,易于查找文檔分門別類,易于查找 不同內容的文檔可以放在不同的不同內容的文檔可以放在不同的 袋子中,擁有相同的名字,避免沖突袋子中,擁有相同的名字,避免沖突 易于管理易于管理 為什么需要包Windows樹形文件系
18、統樹形文件系統 文檔分門別類,易于查找和管理文檔分門別類,易于查找和管理 使用目錄解決文件同名沖突問題使用目錄解決文件同名沖突問題如何存放兩個同名的類而不沖突?如何存放兩個同名的類而不沖突?Sort.java插入排序插入排序Sort.java冒泡排序冒泡排序問題問題29/40包解決類的同名問題解決類的同名問題允許類組成較小的單元(類似允許類組成較小的單元(類似文件夾),易于找到和使用相文件夾),易于找到和使用相應的文件應的文件防止命名沖突防止命名沖突更好的保護類、屬更好的保護類、屬性和方法性和方法30/40如何創建包package cn.jbit.classandobject; /聲明包聲明包
19、public class AccpSchool / public String toString() / 包名包名 用用package聲明包,聲明包,以分號結尾以分號結尾作為作為Java源代碼源代碼第一條語句第一條語句 示例示例31/40包命名規范包名由小寫字母組成,不能以圓點開頭或結尾包名由小寫字母組成,不能以圓點開頭或結尾包名之前最好加上唯一的前綴,通常使用組織倒包名之前最好加上唯一的前綴,通常使用組織倒置的網絡域名置的網絡域名 包名后續部分依不同機構內部的規范不同而不同包名后續部分依不同機構內部的規范不同而不同 package mypackage;package net.javagrou
20、p.mypackage;package net.javagroup.research.powerproject;部門名部門名 項目名項目名package .mypackage; 32/40用MyEclipse 創建包使用使用MyEclipse創建包的兩種方法創建包的兩種方法分別創建包和類分別創建包和類創建類的過程中創建類所在的包創建類的過程中創建類所在的包33/40包與目錄的關系創建好的包和創建好的包和Java源文件是如何存儲的?源文件是如何存儲的?創建包創建包cn.jbit.classandobject , 即創建了目錄結構:即創建了目錄結構:cnjbitclassandobject cnj
21、bitclassandobjectAccpSchool.javaHelloAccp.java問題問題34/40如何導入包為了使用不在同一包中的類,需要在為了使用不在同一包中的類,需要在Java程程序中使用序中使用import關鍵字導入這個類關鍵字導入這個類import java.util.*; /導入導入java.util包中所有類包中所有類import cn.jbit.classandobject.AccpSchool; /導入指定包中指定類導入指定包中指定類關鍵字關鍵字import并不陌生并不陌生import 包名包名. 類名;類名;1. 系統包:系統包:java.util2. 自定義包:自定義包:cn.jbit.classandobject*: 指包中的所有類指包中的所有類AccpSchool :指包中的:指包中的AccpSchool類類語法語法35/40小結AccpSchool.java位于位于cn.jbit.classandobject包中,包中,HelloAccp.java位于位于demo包中,下面程包中,下面程序空缺部分需要填入代碼嗎?如果需要,是什么序空缺部分需要填入代碼嗎?如果需要,是什么? /添加代碼添加代碼2/添加代碼添加代碼3public class HelloAccp public static void main(String args) Acc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業廢水處理技術與環境治理研究
- 工業安全生產管理與預防策略
- 工業廢水處理技術的研究與應用
- 工業自動化中新材料技術的趨勢分析
- 工業污染防治與環保設備應用
- 工業物聯網的遠程監控與維護系統設計
- 工業機械自動化系統的可靠性保障
- 工業設計中的智能產品解決方案
- 工作與休息的平衡對殘疾人群的特別意義
- 工業管道安裝與維護技術
- 2025年中國分布式光伏行業市場動態分析、發展方向及投資前景分析
- 2025年蘇州保安員證試題及答案
- 比亞迪秦EV新能源汽車電機驅動系統
- 美國麻醉醫師協會ASA困難氣道管理xuli
- 落戶服務協議上海上海落戶承諾書
- 高中信息技術《數據處理與應用》練習題(附答案解析)
- 糖尿病前期癥狀
- 十五五我國汽車產業發展趨勢簡析
- 基于線性二次型的單神經元PID最優控制器設計及仿真
- 臨床胸壁神經纖維瘤影像診斷與鑒別
- 安裝操作手冊CPC-II電流-壓力轉換器
評論
0/150
提交評論