java課程新版本面向?qū)ο蟛糠謕pt課件_第1頁
java課程新版本面向?qū)ο蟛糠謕pt課件_第2頁
java課程新版本面向?qū)ο蟛糠謕pt課件_第3頁
java課程新版本面向?qū)ο蟛糠謕pt課件_第4頁
java課程新版本面向?qū)ο蟛糠謕pt課件_第5頁
已閱讀5頁,還剩127頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Java程序設(shè)計(jì)第十章第十章回顧與作業(yè)點(diǎn)評(píng)回顧與作業(yè)點(diǎn)評(píng)關(guān)于多重循環(huán)語句,下列說法正確的是( )A多重循環(huán)指一個(gè)循環(huán)體內(nèi)包含另一個(gè)完整的循環(huán)結(jié)構(gòu) B多重循環(huán)語句可以嵌套任意層次Cwhile、do-while和for循環(huán)不可以相互嵌套D在內(nèi)層循環(huán)中執(zhí)行break語句,將跳出外層循環(huán)寫出運(yùn)行結(jié)果 int i = 0; for (i = 0; i =18 & age=60)/判斷年齡判斷年齡System.out.println(name+“年齡為年齡為+age+“,價(jià)格為價(jià)格為20元元 );elseSystem.out.println(name + 的年齡為:的年齡為:+age+,免費(fèi),免費(fèi)

2、);創(chuàng)建和使用對(duì)象示例創(chuàng)建和使用對(duì)象示例5-5成員方法成員方法成員變量成員變量import java.util.Scanner;public class InitialVistor public static void main(String args) Scanner input = new Scanner(System.in);Visitor v = new Visitor();System.out.print(請(qǐng)輸入姓名:請(qǐng)輸入姓名:); = input.next();System.out.print(請(qǐng)輸入年齡:請(qǐng)輸入年齡:);v.age = input.nextInt()

3、;v.show(); 創(chuàng)建對(duì)象創(chuàng)建對(duì)象給每個(gè)屬性賦值給每個(gè)屬性賦值調(diào)用方法調(diào)用方法演示示例演示示例4:創(chuàng)建和使用對(duì)象:創(chuàng)建和使用對(duì)象3小結(jié)小結(jié)2類和對(duì)象的關(guān)系?如何創(chuàng)建和使用對(duì)象?指導(dǎo)指導(dǎo)定義管理員類定義管理員類 訓(xùn)練要點(diǎn):定義類的屬性定義類的方法需求說明:編寫管理員類實(shí)現(xiàn)思路:1、定義管理員類Administrator2、定義其屬性和方法講解需求說明講解需求說明完成時(shí)間:完成時(shí)間:20分鐘分鐘練習(xí)練習(xí)定義客戶類定義客戶類需求說明:編寫客戶類屬性:積分、卡類型方法:show(),顯示客戶信息提示:定義客戶類Customer定義屬性和方法 完成時(shí)間:完成時(shí)間:15分鐘分鐘指導(dǎo)指導(dǎo)創(chuàng)建管理員對(duì)象創(chuàng)

4、建管理員對(duì)象 訓(xùn)練要點(diǎn):使用類創(chuàng)建對(duì)象引用對(duì)象的屬性和方法需求說明:創(chuàng)建兩個(gè)管理員類對(duì)象,輸出他們的相關(guān)信息 實(shí)現(xiàn)思路:1、創(chuàng)建兩個(gè)管理員類的對(duì)象2、給兩個(gè)對(duì)象賦值并調(diào)用顯示方法講解需求說明講解需求說明完成時(shí)間:完成時(shí)間:20分鐘分鐘指導(dǎo)指導(dǎo)更改管理員密碼更改管理員密碼 訓(xùn)練要點(diǎn):使用類創(chuàng)建對(duì)象while循環(huán)需求說明:輸入舊的用戶名和密碼,如果正確,方有權(quán)限更新從鍵盤獲取新的密碼,進(jìn)行更新實(shí)現(xiàn)思路:1、創(chuàng)建管理員類的對(duì)象2、利用while實(shí)現(xiàn)循環(huán)執(zhí)行 難點(diǎn)指導(dǎo):循環(huán)執(zhí)行講解需求說明講解需求說明完成時(shí)間:完成時(shí)間:25分鐘分鐘練習(xí)練習(xí)客戶積分回饋客戶積分回饋需求說明:實(shí)現(xiàn)積分回饋功能,金卡客戶積

5、分大于1000分或普卡客戶積分大于5000,獲得回饋積分500分創(chuàng)建客戶對(duì)象輸出他得到的回饋積分完成時(shí)間:完成時(shí)間:20分鐘分鐘面向?qū)ο竺嫦驅(qū)ο驩O的優(yōu)點(diǎn)的優(yōu)點(diǎn)與人類的思維習(xí)慣一致把人類解決問題的思維過程轉(zhuǎn)變?yōu)槌绦蚰軌蚶斫獾倪^程 信息隱藏,提高了程序的可維護(hù)性和安全性 封裝實(shí)現(xiàn)了模塊化和信息隱藏 封裝使得在對(duì)象外部不能隨意訪問對(duì)象的屬性和方法提高了程序的可重用性一個(gè)類可以創(chuàng)建多個(gè)對(duì)象實(shí)例,增加了重用性 數(shù)據(jù)類型總結(jié)數(shù)據(jù)類型總結(jié)intdoublecharboolean String數(shù)組數(shù)組使用使用class定義的類型定義的類型基本數(shù)據(jù)類型基本數(shù)據(jù)類型引用數(shù)據(jù)類型引用數(shù)據(jù)類型數(shù)據(jù)類型使用區(qū)別數(shù)據(jù)類

6、型使用區(qū)別數(shù)據(jù)類型數(shù)據(jù)類型特特 征征聲聲 明明使使 用用基本數(shù)據(jù)類型基本數(shù)據(jù)類型沒有方法沒有方法int i= 8;int i= 8;i+i+;引用數(shù)據(jù)類型引用數(shù)據(jù)類型具有方法具有方法Student stu = Student stu = new Student(); new Student();stu.age=20;stu.age=20;總結(jié)總結(jié)什么是類?什么是對(duì)象?類和對(duì)象的區(qū)別是什么?如何定義一個(gè)類、類的屬性和方法?如何創(chuàng)建類的對(duì)象?數(shù)據(jù)類型有哪兩種?區(qū)別是什么?作業(yè)作業(yè)課后作業(yè)必做149頁選做上機(jī)操作題提交時(shí)間:xxx提交形式:xxx預(yù)習(xí)作業(yè)查閱相關(guān)英語單詞邏輯程序基礎(chǔ)知識(shí)復(fù)習(xí)Java程

7、序設(shè)計(jì)第十一章第十一章類和對(duì)象的區(qū)別是什么?數(shù)據(jù)類型有哪兩類?如何使用?public class &Student String name; char sex; int age; public String tostring ( ) return name + t + sex + t + age; public static void main(String args) Student stu = new Student(); name = 神仙姐姐神仙姐姐; sex = F; age = 18; System.out.println(stu); Student toStringstu

8、.namestu.sexstu.age實(shí)現(xiàn)輸出學(xué)生信息,下面代碼有哪些錯(cuò)誤?實(shí)現(xiàn)輸出學(xué)生信息,下面代碼有哪些錯(cuò)誤?回顧與作業(yè)點(diǎn)評(píng)回顧與作業(yè)點(diǎn)評(píng)預(yù)習(xí)檢查預(yù)習(xí)檢查類的方法由哪幾部分組成?成員變量和局部變量的區(qū)別有哪些?JavaDoc怎樣寫注釋?本章任務(wù)本章任務(wù)實(shí)現(xiàn)計(jì)算平均分和課程總成績(jī)實(shí)現(xiàn)MyShopping系統(tǒng)菜單切換實(shí)現(xiàn)MyShopping系統(tǒng)入口程序 會(huì)定義和使用類的方法理解變量作用域會(huì)添加JavaDoc注釋本章目標(biāo)本章目標(biāo)類的方法類的方法1、寫出獅子對(duì)象的“跑方法、 “叫方法電動(dòng)玩具獅子電動(dòng)玩具獅子屬性:屬性:顏色:黃色顏色:黃色行為:行為:跑跑叫叫按此按鈕,按此按鈕,獅子開始叫獅子開始叫

9、按此按鈕,按此按鈕,獅子開始跑獅子開始跑類的方法示例類的方法示例public class AutoLion String color = 黃色黃色; public void run() System.out.println(正在以正在以0.1米米/秒的速度向前奔跑秒的速度向前奔跑); public String bark() String sound = 大聲吼叫大聲吼叫 ; return sound; AutoLion類代碼實(shí)現(xiàn)方法體方法體返回類型返回類型演示示例演示示例1:定義類的方法:定義類的方法方法名稱方法名稱如何定義類的方法如何定義類的方法類的方法定義類的某種行為或功能) 方法的定義

10、方法的定義 方法的名稱方法的名稱 方法的主體方法的主體 方法返回的數(shù)據(jù)類型方法返回的數(shù)據(jù)類型 定義類的方法定義類的方法public 返回值類型返回值類型 方法名方法名() /這里編寫方法的主體這里編寫方法的主體步驟一:定義方步驟一:定義方法名以及返回值法名以及返回值步驟二:編寫方步驟二:編寫方法體法體方法的返回值方法的返回值兩種情況如果方法具有返回值,方法中必須使用關(guān)鍵字return返回該值,返回類型為該返回值的類型如果方法沒有返回值,返回類型為voidpublic class Student String name = 張三張三; public void getName() return n

11、ame; 返回類型要匹配返回類型要匹配return 表達(dá)式;表達(dá)式;編譯錯(cuò)誤編譯錯(cuò)誤作用:作用: 跳出方法跳出方法給出結(jié)果給出結(jié)果方法調(diào)用方法調(diào)用方法是個(gè)“黑匣子”,完成某個(gè)特定的應(yīng)用程序功能,并返回結(jié)果方法調(diào)用:執(zhí)行方法中包含的語句 對(duì)象名對(duì)象名.方法名方法名();2、小明過生日,爸爸送他一個(gè)電動(dòng)獅子玩具,、小明過生日,爸爸送他一個(gè)電動(dòng)獅子玩具,編程測(cè)試這個(gè)獅子能否正常工作編程測(cè)試這個(gè)獅子能否正常工作 方法調(diào)用方法調(diào)用public class AutoLion String color = 黃色黃色; /顏色顏色 /*跑跑*/ public void run() System.out.pri

12、ntln(正在以正在以0.1米米/秒的速度向前奔跑。秒的速度向前奔跑。); /*叫叫*/ public String bark() String sound = 大聲吼叫大聲吼叫 ; return sound; /*獲得顏色獲得顏色*/ public String getColor() return color; /*顯示獅子特性顯示獅子特性*/ public String showLion() return 這是一個(gè)這是一個(gè) + getColor() + 的玩具獅子的玩具獅子!; public class TestLion public static void main(String arg

13、s) AutoLion lion = new AutoLion(); System.out.println(lion.showLion(); lion.run(); System.out.println(lion.bark(); 在類的方法中調(diào)用在類的方法中調(diào)用該類另一個(gè)方法該類另一個(gè)方法演示示例演示示例2:方法調(diào)用:方法調(diào)用在在main()方法中方法中調(diào)用類的方法調(diào)用類的方法 方法調(diào)用小結(jié)方法調(diào)用小結(jié)方法之間允許相互調(diào)用,不需要知道方法的具體實(shí)現(xiàn),提高了效率 情情 況況 舉舉 例例Student類的方法類的方法a( )調(diào)用調(diào)用Student類的方法類的方法b( ),直接,直接調(diào)用調(diào)用publ

14、ic voidpublic void a( ) a( ) b( ); / b( ); /調(diào)用調(diào)用b( )b( ) Student類的方法類的方法a( )調(diào)用調(diào)用Teacher類的方法類的方法b( ),先,先創(chuàng)建類對(duì)象,然后使用創(chuàng)建類對(duì)象,然后使用“.”調(diào)用調(diào)用public voidpublic void a( ) a( ) Teacher t = Teacher t = newnew Teacher( ); Teacher( ); t.b( ); / t.b( ); /調(diào)用調(diào)用TeacherTeacher類的類的b()b() public class Studentpublic void sh

15、owInfo() return 我是一名學(xué)生我是一名學(xué)生; 方法的返回類型為方法的返回類型為void,方法中不能有,方法中不能有return返回值!返回值!常見錯(cuò)誤常見錯(cuò)誤4-1public class Studentpublic double getInfo() double weight = 95.5; double height = 1.69; return weight, height; 方法不能返回多個(gè)值!方法不能返回多個(gè)值!常見錯(cuò)誤常見錯(cuò)誤4-2public class Studentpublic String showInfo()return 我是一名學(xué)生我是一名學(xué)生;publi

16、c double getInfo() double weight = 95.5; double height = 1.69; return weight; 多個(gè)方法不能相互嵌套定義!多個(gè)方法不能相互嵌套定義!常見錯(cuò)誤常見錯(cuò)誤4-3public class Studentpublic String showInfo()return 我是一名學(xué)生我是一名學(xué)生;public double getInfo()double weight = 95.5; double height = 1.69; return weight;public class Studentint age=20;if(age20)

17、 System.out.println(年齡不符合入學(xué)要求!年齡不符合入學(xué)要求!); public void showInfo()return 我是一名學(xué)生我是一名學(xué)生;不能在方法外部直接寫程序邏輯代碼!不能在方法外部直接寫程序邏輯代碼!常見錯(cuò)誤常見錯(cuò)誤4-4小結(jié)小結(jié)1編寫電池類Cell):具有品牌屬性,可以續(xù)電編寫測(cè)試類TestCell)電池類電池類屬性:屬性:品牌品牌行為:行為:續(xù)電續(xù)電參考代碼參考代碼1參考代碼參考代碼2成員變量和局部變量成員變量和局部變量2-1變量聲明的位置決定變量作用域變量作用域確定可在程序中按變量名訪問該變量的區(qū)域for(int i = 0, a = 0; i 4;

18、 i+) a+;System.out.println ( a );代碼錯(cuò)誤代碼錯(cuò)誤a的作用域僅在的作用域僅在for循環(huán)中循環(huán)中 成員變量和局部變量成員變量和局部變量2-2變量變量1類型類型 變量變量1; 變量變量2類型類型 變量變量2;變量變量3類型類型 變量變量3;public 返回類型返回類型 方法方法1() 變量變量4類型類型 變量變量4;public 返回類型返回類型 方法方法2() 變量變量5類型類型 變量變量5; public class AutoLion AutoLion類的方法,類的方法,其他類的方法其他類的方法 誰能使用這些變量?誰能使用這些變量? 方法方法1 方法方法2 成

19、員變量成員變量 局部變量局部變量 局部變量局部變量 作用域不同局部變量的作用域僅限于定義它的方法成員變量的作用域在整個(gè)類內(nèi)部都是可見的初始值不同Java會(huì)給成員變量一個(gè)初始值Java不會(huì)給局部變量賦予初始值在同一個(gè)方法中,不允許有同名局部變量;在不同的方法中,可以有同名局部變量?jī)深愖兞客麜r(shí),局部變量具有更高的優(yōu)先級(jí)成員變量和局部變量的區(qū)別成員變量和局部變量的區(qū)別public class Test int score1 = 88; int score2 = 98; public void calcAvg() int avg = (score1 + score2)/2; public void

20、showAvg() System.out.println(平均分是:平均分是: + avg); 常見錯(cuò)誤常見錯(cuò)誤局部變量局部變量avg的作用域僅限于的作用域僅限于calcAvg()方法方法指導(dǎo)指導(dǎo)計(jì)算平均分和總成績(jī)計(jì)算平均分和總成績(jī) 訓(xùn)練要點(diǎn):方法的定義和調(diào)用需求說明:從鍵盤接收三門課分?jǐn)?shù),計(jì)算三門課的平均分和總成績(jī),編寫成績(jī)計(jì)算類實(shí)現(xiàn)功能 實(shí)現(xiàn)思路:1、創(chuàng)建類 ScoreCalc2、編寫方法實(shí)現(xiàn)各功能3、編寫測(cè)試類難點(diǎn)指導(dǎo):面向?qū)ο缶幊趟季S講解需求說明講解需求說明完成時(shí)間:完成時(shí)間:25分鐘分鐘面向?qū)ο蟮木幊趟季S面向?qū)ο蟮木幊趟季SScoreCalc類 和 Test類public static

21、 void main(String args) Scanner input = new Scanner(System.in); System.out.print(請(qǐng)輸入請(qǐng)輸入Java成績(jī):成績(jī):); int java = input.nextInt(); /*計(jì)算并顯示輸出計(jì)算并顯示輸出*/ int total = java + c + db; double avg = total / 3; System.out.print(總成績(jī):總成績(jī): + total); System.out.print(n平均分平均分: + avg);一次還可以接受,假如一次還可以接受,假如還要再執(zhí)行這個(gè)功能,還要再

22、執(zhí)行這個(gè)功能,難道還要重復(fù)再寫?難道還要重復(fù)再寫?calcDiffTimecalcTotalScore()ScoreCalcshowTotalScore()calcAvg()showAvg() main() /程序入口程序入口 /計(jì)算并輸出總成績(jī)計(jì)算并輸出總成績(jī) /計(jì)算并輸出平均分計(jì)算并輸出平均分 Test調(diào)用調(diào)用調(diào)用調(diào)用類的方法實(shí)現(xiàn)某個(gè)特定的功能,類的方法實(shí)現(xiàn)某個(gè)特定的功能,其他類不需要知道它如何實(shí)現(xiàn)!其他類不需要知道它如何實(shí)現(xiàn)!知道了實(shí)現(xiàn)此功能的類和它的方法名,知道了實(shí)現(xiàn)此功能的類和它的方法名, 就可以直接調(diào)用了,不用重復(fù)寫代碼!就可以直接調(diào)用了,不用重復(fù)寫代碼! 面向?qū)ο竺嫦驅(qū)ο驩OOO

23、思想思想小結(jié)小結(jié)2編寫手機(jī)類Phone):可以下載音樂,可以播放這些音樂,可以進(jìn)行充電重用電池類方法Cell)編寫測(cè)試類TestPhone)手機(jī)類手機(jī)類行為:行為:播放下載的音樂播放下載的音樂下載下載充電充電電池類電池類屬性:屬性:品牌品牌行為:行為:續(xù)電續(xù)電參考代碼參考代碼1參考代碼參考代碼2練習(xí)練習(xí)定義管理員類定義管理員類 需求說明:根據(jù)下圖所示信息,編寫管理員類Manager,使用show()方法返回管理員信息 編寫測(cè)試類ManagerTest輸出管理員信息完成時(shí)間:完成時(shí)間:10分鐘分鐘指導(dǎo)指導(dǎo)實(shí)現(xiàn)菜單的級(jí)聯(lián)效果實(shí)現(xiàn)菜單的級(jí)聯(lián)效果訓(xùn)練要點(diǎn):方法的定義和調(diào)用循環(huán)結(jié)構(gòu)需求說明:實(shí)現(xiàn)MySh

24、opping菜單,輸入菜單項(xiàng)編號(hào),可以自由切換各個(gè)菜單 實(shí)現(xiàn)思路:1、創(chuàng)建菜單類Menu 2、編寫方法實(shí)現(xiàn)各功能3、編寫測(cè)試類難點(diǎn)指導(dǎo):面向?qū)ο缶幊趟季S講解需求說明講解需求說明完成時(shí)間:完成時(shí)間:30分鐘分鐘練習(xí)練習(xí)實(shí)現(xiàn)系統(tǒng)入口程序?qū)崿F(xiàn)系統(tǒng)入口程序需求說明:編寫類StartSMS,實(shí)現(xiàn)輸入用戶名和密碼,符合條件的進(jìn)入系統(tǒng) 完成時(shí)間:完成時(shí)間:20分鐘分鐘JavaDoc注釋注釋回顧學(xué)過的注釋方式單行注釋:/這里是單行注釋多行注釋:/*這里是多行注釋, 可以多行*/JavaDoc注釋:使用“/*”開始和“*/”完畢,用來注釋類、屬性和方法等/* *CalcScore類類 *author Chris

25、 *version 1.0 2019/06/21 */描述信息描述信息 author :描述作者信息:描述作者信息 version :描述版本信息:描述版本信息 3、為ScoreCalc類添加JavaDoc注釋 添加添加JavaDoc注釋注釋/* * ScoreCalc類類 * author 北大青鳥北大青鳥 * version 2.0 2019/06/01 */public class ScoreCalc /* Java成績(jī)成績(jī) */int java;./* * 計(jì)算總成績(jī)計(jì)算總成績(jī) * return total */public int calcTotalScore() int total

26、 = java + c + db;return total;.演示示例演示示例3:添加:添加JavaDoc注釋注釋 方法的方法的JavaDoc注釋注釋屬性的屬性的JavaDoc注釋注釋類的類的JavaDoc注釋注釋如何生成如何生成JavaDoc文檔文檔 JavaDoc能夠從源代碼中抽取類、屬性、方法等的注釋,形成一個(gè)和配套的API幫助文檔 生成JavaDoc文檔使用命令行方式生成使用Eclipse工具生成演示示例演示示例4:使用:使用Eclipse生成生成JavaDoc文檔文檔練習(xí)練習(xí)添加并生成添加并生成JavaDoc文文檔檔 需求說明:為我行我素購物系統(tǒng)的Manager類、Menu類添加Ja

27、vaDoc注釋使用Eclipse工具,生成兩個(gè)類的JavaDoc文檔完成時(shí)間:完成時(shí)間:15分鐘分鐘總結(jié)總結(jié)定義類的方法的步驟是什么?類的一個(gè)方法如何調(diào)用本類的另一個(gè)方法?類中的一個(gè)方法如何調(diào)用另一個(gè)類的方法?成員變量和局部變量的區(qū)別有哪些?如何給類的方法添加JavaDoc注釋? Java程序設(shè)計(jì)創(chuàng)建類Welcome添加一個(gè)方法sayHello(),提示輸入姓名,然后輸出“ ,歡迎你!”添加JavaDoc注釋/* * 歡迎類歡迎類 * author name */public class Welcome /* * 向用戶問好向用戶問好 */public void sayHello()Scann

28、er input = new Scanner(System.in);System.out.print(你叫什么?你叫什么?);String name = input.next();System.out.println(name + , 你好!你好!);課程內(nèi)容回顧課程內(nèi)容回顧參考代碼參考代碼難點(diǎn)突破難點(diǎn)突破二重循環(huán)結(jié)構(gòu)類和對(duì)象之間的差異方法定義方法的返回值作業(yè)講評(píng)作業(yè)講評(píng)教員備課時(shí)完善知識(shí)梳理:二重循環(huán)結(jié)構(gòu)知識(shí)梳理:二重循環(huán)結(jié)構(gòu)二重循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu):while、do-while、for、foreach可以任意層次嵌套各種循環(huán)結(jié)構(gòu)可以相互嵌套二重循環(huán)結(jié)構(gòu)中使用跳轉(zhuǎn)語句continue:繼續(xù)本層下

29、一輪循環(huán)break:跳出本層循環(huán)知識(shí)梳理:類和對(duì)象入門知識(shí)梳理:類和對(duì)象入門2-1類和對(duì)象類和對(duì)象及其關(guān)系類的封裝定義類創(chuàng)建和使用對(duì)象OO的優(yōu)點(diǎn)無參方法定義方法調(diào)用方法成員變量和局部變量面向?qū)ο缶幊趟季S知識(shí)梳理:類和對(duì)象入門知識(shí)梳理:類和對(duì)象入門2-2帶參方法定義方法指定形參調(diào)用方法指定實(shí)參基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的參數(shù)區(qū)別字符串類String類StringBuffer類綜合練習(xí):人機(jī)猜拳綜合練習(xí):人機(jī)猜拳 任務(wù)完成人機(jī)猜拳互動(dòng)游戲的開發(fā) 主要功能 選取對(duì)戰(zhàn)角色猜拳記錄分?jǐn)?shù)階段1:練習(xí)分析業(yè)務(wù),創(chuàng)建用戶類 完成時(shí)間:完成時(shí)間:15分鐘分鐘綜合練習(xí):人機(jī)猜拳綜合練習(xí):人機(jī)猜拳 需求說明需求說明

30、分析業(yè)務(wù)分析業(yè)務(wù)抽象出類、類的特征和行為抽象出類、類的特征和行為階段1:練習(xí)分析業(yè)務(wù),創(chuàng)建用戶類 完成時(shí)間:完成時(shí)間:15分鐘分鐘綜合練習(xí):人機(jī)猜拳綜合練習(xí):人機(jī)猜拳 需求說明需求說明創(chuàng)建用戶類創(chuàng)建用戶類編寫程序入口類編寫程序入口類階段2:練習(xí)創(chuàng)建計(jì)算機(jī)類 完成時(shí)間:完成時(shí)間:15分鐘分鐘綜合練習(xí):人機(jī)猜拳綜合練習(xí):人機(jī)猜拳 需求說明需求說明創(chuàng)建計(jì)算機(jī)類創(chuàng)建計(jì)算機(jī)類Computer。實(shí)現(xiàn)計(jì)算機(jī)出拳。實(shí)現(xiàn)計(jì)算機(jī)出拳階段3:練習(xí)創(chuàng)建游戲類,選擇對(duì)戰(zhàn)對(duì)手 完成時(shí)間:完成時(shí)間:20分鐘分鐘綜合練習(xí):人機(jī)猜拳綜合練習(xí):人機(jī)猜拳 需求說明需求說明創(chuàng)建游戲類創(chuàng)建游戲類Game編寫游戲類的初始化方法編寫游戲類

31、的初始化方法initial()編寫游戲類的開始游戲方法編寫游戲類的開始游戲方法startGame()階段4:練習(xí)實(shí)現(xiàn)一局對(duì)戰(zhàn) 完成時(shí)間:完成時(shí)間:25分鐘分鐘綜合練習(xí):人機(jī)猜拳綜合練習(xí):人機(jī)猜拳 需求說明需求說明分別調(diào)用用戶類和計(jì)算機(jī)類的出拳方法分別調(diào)用用戶類和計(jì)算機(jī)類的出拳方法showFist(),接受返回值并比較,給出勝負(fù)結(jié)果接受返回值并比較,給出勝負(fù)結(jié)果階段5:練習(xí)實(shí)現(xiàn)循環(huán)對(duì)戰(zhàn),并累計(jì)得分 完成時(shí)間:完成時(shí)間:20分鐘分鐘綜合練習(xí):人機(jī)猜拳綜合練習(xí):人機(jī)猜拳 需求說明需求說明實(shí)現(xiàn)循環(huán)對(duì)戰(zhàn),并且累加贏家的得分實(shí)現(xiàn)循環(huán)對(duì)戰(zhàn),并且累加贏家的得分階段6:練習(xí)顯示對(duì)戰(zhàn)結(jié)果 完成時(shí)間:完成時(shí)間:25

32、分鐘分鐘綜合練習(xí):人機(jī)猜拳綜合練習(xí):人機(jī)猜拳 需求說明需求說明游戲結(jié)束后,顯示對(duì)戰(zhàn)結(jié)果游戲結(jié)束后,顯示對(duì)戰(zhàn)結(jié)果階段7:練習(xí)完善游戲類的startGame() 完成時(shí)間:完成時(shí)間:20分鐘分鐘綜合練習(xí):人機(jī)猜拳綜合練習(xí):人機(jī)猜拳 需求說明需求說明輸入并保存用戶姓名,游戲輸入并保存用戶姓名,游戲結(jié)束后顯示雙方的各自得分結(jié)束后顯示雙方的各自得分總結(jié)總結(jié)Java提供了哪四種循環(huán)結(jié)構(gòu)?提供了哪四種循環(huán)結(jié)構(gòu)?break和和continue在二重循環(huán)的中跳轉(zhuǎn)規(guī)則在二重循環(huán)的中跳轉(zhuǎn)規(guī)則是什么?是什么?類與對(duì)象的關(guān)系是什么?類與對(duì)象的關(guān)系是什么?成員變量和局部變量的區(qū)別有哪些?成員變量和局部變量的區(qū)別有哪些?J

33、ava程序設(shè)計(jì)寫出如下代碼的運(yùn)行結(jié)果public static void main(String args) for (int i = 0; i 6; i+) System.out.print(i + ,);while (+i 5) continue;System.out.print(i); 0,5 預(yù)習(xí)檢查預(yù)習(xí)檢查調(diào)用帶參方法時(shí),有哪些注意事項(xiàng)?為什么需要包?本章任務(wù)本章任務(wù)實(shí)現(xiàn)客戶信息的添加和查詢實(shí)現(xiàn)圖形生成器實(shí)現(xiàn)模擬賬戶存取款功能本章目標(biāo)本章目標(biāo)會(huì)定義帶參方法會(huì)使用帶參方法會(huì)創(chuàng)建包組織Java工程為什么要用帶參數(shù)的方法為什么要用帶參數(shù)的方法工作原理新鮮桃汁新鮮桃汁新鮮蘋果汁新鮮蘋果汁新鮮

34、梨汁新鮮梨汁輸輸出出三三種種果果汁汁如何使用帶參數(shù)的方法如何使用帶參數(shù)的方法3-1定義帶參數(shù)的方法調(diào)用帶參數(shù)的方法public class Zhazhi public String zhazhi ( String fruit ) String juice = fruit + 汁汁; return juice; /*調(diào)用調(diào)用zhazhi方法方法*/Zhazhi myZhazhi = new Zhazhi();String myFruit = 蘋果蘋果;String myJuice = myZhazhi.zhazhi(myFruit);System.out.println(myJuice);參數(shù)列

35、表:參數(shù)列表:(數(shù)據(jù)類型數(shù)據(jù)類型 參數(shù)參數(shù)1,數(shù)據(jù)類型數(shù)據(jù)類型 參數(shù)參數(shù)2)調(diào)用方法,傳遞的參數(shù)要調(diào)用方法,傳遞的參數(shù)要與參數(shù)列表一一對(duì)應(yīng)與參數(shù)列表一一對(duì)應(yīng)如何使用帶參數(shù)的方法如何使用帶參數(shù)的方法3-2 返回類型返回類型 () /方法的主體方法的主體該方法允許被訪問調(diào)用該方法允許被訪問調(diào)用的權(quán)限范圍的權(quán)限范圍方法返回值的方法返回值的類型類型public class StudentsBiz String names = new String30; public void addName(String name)/增加學(xué)生姓名增加學(xué)生姓名public void showNames ()/顯示全部學(xué)

36、生姓名顯示全部學(xué)生姓名傳送給方法的形參列表傳送給方法的形參列表一個(gè)形式參數(shù)一個(gè)形式參數(shù)沒有返回值沒有返回值如何使用帶參數(shù)的方法如何使用帶參數(shù)的方法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(請(qǐng)輸入學(xué)生姓名:請(qǐng)輸入學(xué)生姓名:); String newName = input.next(); st.addName(newName); st.s

37、howNames(); 實(shí)參的類型、數(shù)量、順序?qū)崊⒌念愋?、?shù)量、順序都要與形參一一對(duì)應(yīng)都要與形參一一對(duì)應(yīng)先實(shí)例化對(duì)象,先實(shí)例化對(duì)象,再使用方法再使用方法演示示例演示示例1:帶一個(gè)參數(shù)的方法:帶一個(gè)參數(shù)的方法調(diào)用帶參數(shù)的方法調(diào)用帶參數(shù)的方法對(duì)象名對(duì)象名.方法名實(shí)參方法名實(shí)參1, 實(shí)參實(shí)參2,,實(shí)參,實(shí)參n)實(shí)參列表實(shí)參列表指導(dǎo)指導(dǎo)實(shí)現(xiàn)客戶姓名添加和顯示實(shí)現(xiàn)客戶姓名添加和顯示訓(xùn)練要點(diǎn):帶參方法的定義帶參方法的調(diào)用 需求說明:創(chuàng)建客戶業(yè)務(wù)類,實(shí)現(xiàn)客戶姓名的添加和顯示 實(shí)現(xiàn)思路:1、創(chuàng)建CustomerBiz類2、創(chuàng)建帶參方法addName()3、創(chuàng)建方法showNames()4、創(chuàng)建測(cè)試類難點(diǎn)指導(dǎo):

38、創(chuàng)建無返回值的帶參方法講解需求說明講解需求說明完成時(shí)間:完成時(shí)間:25分鐘分鐘練習(xí)練習(xí)查找客戶姓名查找客戶姓名需求說明:根據(jù)需要,查找客戶姓名,給出查找結(jié)果 完成時(shí)間:完成時(shí)間:20分鐘分鐘提示:定義帶參帶返回值的方法提示:定義帶參帶返回值的方法public boolean search(String name) 可以設(shè)計(jì)一個(gè)方法來實(shí)現(xiàn),通過傳遞兩個(gè)參數(shù)需要修改的姓名、新姓名來實(shí)現(xiàn) 帶兩個(gè)參數(shù)的方法帶兩個(gè)參數(shù)的方法2-11、修改學(xué)生姓名,輸入新、舊姓名,進(jìn)行、修改學(xué)生姓名,輸入新、舊姓名,進(jìn)行修改并顯示是否修改成功修改并顯示是否修改成功 public class StudentsBiz Str

39、ing names = new String30; public boolean editName (String oldName,String newName) boolean find = false; / 是否找到并修改成功標(biāo)識(shí)是否找到并修改成功標(biāo)識(shí) / 循環(huán)數(shù)組,找到姓名為循環(huán)數(shù)組,找到姓名為oldName的元素,修改為的元素,修改為newName for(int i=0;inames.length;i+) if(namesi.equals(oldName) namesi = newName; find=true; break; return find; 返回值類型返回值類型帶有兩個(gè)形

40、參帶有兩個(gè)形參返回結(jié)果:返回結(jié)果:boolean類型類型帶兩個(gè)參數(shù)的方法帶兩個(gè)參數(shù)的方法2-2 public class TestModify public static void main(String args) System.out.print(n請(qǐng)輸入要修改的學(xué)生姓名:請(qǐng)輸入要修改的學(xué)生姓名:); String oldname = input.next(); System.out.print(n請(qǐng)輸入新的學(xué)生姓名:請(qǐng)輸入新的學(xué)生姓名:); String newname = input.next(); System.out.println(n*修改結(jié)果修改結(jié)果*); if( st.edi

41、tName(oldname, newname) ) System.out.println(找到并修改成功!找到并修改成功!); else System.out.println(沒找到該學(xué)生!沒找到該學(xué)生!); st.showNames(); 根據(jù)返回值進(jìn)行根據(jù)返回值進(jìn)行處理處理傳遞兩個(gè)實(shí)參傳遞兩個(gè)實(shí)參演示示例演示示例2:帶兩個(gè)參數(shù)的方法:帶兩個(gè)參數(shù)的方法設(shè)計(jì)方法,通過傳遞三個(gè)參數(shù)開始位置、結(jié)束位置,查找的姓名來實(shí)現(xiàn) 帶多個(gè)參數(shù)的方法帶多個(gè)參數(shù)的方法2-12、指定查找區(qū)間,查找學(xué)生姓名并顯示是、指定查找區(qū)間,查找學(xué)生姓名并顯示是否修改成功否修改成功 public boolean searchNa

42、me (int start,int end,String name)boolean find = false; / 是否找到標(biāo)識(shí)是否找到標(biāo)識(shí)/ 指定區(qū)間數(shù)組中,查找姓名指定區(qū)間數(shù)組中,查找姓名for(int i=start-1;iend;i+) if(namesi.equals(name) find=true; break; return find;返回值類型返回值類型帶有三個(gè)形參帶有三個(gè)形參返回結(jié)果:返回結(jié)果:boolean類型類型帶多個(gè)參數(shù)的方法帶多個(gè)參數(shù)的方法2-2演示示例演示示例3:帶多個(gè)參數(shù)的方法:帶多個(gè)參數(shù)的方法if(st.searchName(s,e,name)System.ou

43、t.println(找到了!找到了!);elseSystem.out.println(沒找到該學(xué)生!沒找到該學(xué)生!);傳遞三個(gè)實(shí)參傳遞三個(gè)實(shí)參/方法定義方法定義public void addName(String name) /方法體方法體/方法調(diào)用方法調(diào)用對(duì)象名對(duì)象名.addName(String 張三張三);調(diào)用方法時(shí)不能指定實(shí)參類型!調(diào)用方法時(shí)不能指定實(shí)參類型!常見錯(cuò)誤常見錯(cuò)誤4-1對(duì)象名對(duì)象名.addName(張三張三);/方法定義方法定義public boolean searchName(int start ,int end ,String name)/方法體方法體/方法調(diào)用方法調(diào)用

44、String s=開場(chǎng)開場(chǎng);int e=3;String name=張三張三;boolean flag=對(duì)象名對(duì)象名. searchName(s ,e ,name);形參和實(shí)參數(shù)據(jù)類型不一致!形參和實(shí)參數(shù)據(jù)類型不一致!常見錯(cuò)誤常見錯(cuò)誤4-2/方法定義方法定義public boolean searchName(int start,int end,String name)/方法體方法體/方法調(diào)用方法調(diào)用int s=1;int e=3;boolean flag= 對(duì)象名對(duì)象名.searchName(s,e);形參和實(shí)參數(shù)量不一致!形參和實(shí)參數(shù)量不一致!常見錯(cuò)誤常見錯(cuò)誤4-3/方法定義方法定義publ

45、ic boolean searchName(int start,int end,String name)/方法體方法體/方法調(diào)用方法調(diào)用int s=1;int e=3;String name=張三張三;對(duì)象名對(duì)象名.searchName(s,e,name);調(diào)用方法后沒有對(duì)返回值作任何處理!調(diào)用方法后沒有對(duì)返回值作任何處理!常見錯(cuò)誤常見錯(cuò)誤4-4練習(xí)練習(xí)實(shí)現(xiàn)圖形生成器實(shí)現(xiàn)圖形生成器需求說明:根據(jù)指定不同的行以及字符,生成不同的三角形完成時(shí)間:完成時(shí)間:20分鐘分鐘為什么需要包為什么需要包生活案例 文檔分門別類,易于查找文檔分門別類,易于查找 不同內(nèi)容的文檔可以放在不同的不同內(nèi)容的文檔可以放在不

46、同的 袋子中,擁有相同的名字,避免沖突袋子中,擁有相同的名字,避免沖突 易于管理易于管理 為什么需要包為什么需要包樹形文件系統(tǒng)樹形文件系統(tǒng)使用目錄解決文件同名沖突問題使用目錄解決文件同名沖突問題如何存放兩個(gè)同名的類而不沖突?如何存放兩個(gè)同名的類而不沖突?Sort.java 插入排序插入排序 Sort.java 冒泡排序冒泡排序 包包包解決類的同名問題允許類組成較小的單元類似允許類組成較小的單元類似文件夾),易于找到和使用相文件夾),易于找到和使用相應(yīng)的文件應(yīng)的文件 防止命名沖突防止命名沖突 更好的保護(hù)類、屬更好的保護(hù)類、屬性和方法性和方法 A.java包包如何創(chuàng)建包如何創(chuàng)建包package c

47、n.jbit.classandobject; /聲明包public class AccpSchool / public String toString() / 包名包名 使用使用package聲明包,聲明包,以分號(hào)結(jié)尾以分號(hào)結(jié)尾如果有包的聲明,一定如果有包的聲明,一定作為作為Java源代碼的第一條源代碼的第一條語句語句 包命名規(guī)范包命名規(guī)范包名由小寫字母組成,不能以圓點(diǎn)開頭或結(jié)尾包名之前最好加上唯一的前綴,通常使用組織倒置的網(wǎng)絡(luò)域名。如:域名javagroup 包名后續(xù)部分依不同機(jī)構(gòu)內(nèi)部的規(guī)范不同而不同 package mypackage;package net.javagroup.mypac

48、kage;package net.javagroup.research.powerproject; 部門名部門名 項(xiàng)目名項(xiàng)目名 package .mypackage; 用用Eclipse 創(chuàng)建包創(chuàng)建包使用Eclipse創(chuàng)建包的兩種方法:分別創(chuàng)建包和類:創(chuàng)建項(xiàng)目創(chuàng)建包創(chuàng)建類創(chuàng)建類的過程中創(chuàng)建類所在的包創(chuàng)建項(xiàng)目創(chuàng)建包和類演示示例演示示例4:使用:使用Eclipse創(chuàng)建包和類創(chuàng)建包和類 包與目錄的關(guān)系包與目錄的關(guān)系創(chuàng)建好的包和Java源文件是如何存儲(chǔ)的?創(chuàng)建包c(diǎn)n.jbit.classandobject ,即創(chuàng)建了目錄結(jié)構(gòu):cnjbitclassandobject cnjbitclassandobj

49、ectAccpSchool.javaHelloAccp.java如何導(dǎo)入包如何導(dǎo)入包為了使用不在同一包中的類,需要在Java程序中使用import關(guān)鍵字導(dǎo)入這個(gè)類import java.util.*; /導(dǎo)入導(dǎo)入java.util包中所有類包中所有類import cn.jbit.classandobject.AccpSchool; /導(dǎo)入指定包中指定類導(dǎo)入指定包中指定類 關(guān)鍵字關(guān)鍵字import并不陌生并不陌生 import 包名包名. 類名;類名;1、系統(tǒng)包:、系統(tǒng)包:java.util2、自定義包:、自定義包:cn.jbit.classandobject*: 指包中的所有類指包中的所有類A

50、ccpSchool :指包中的:指包中的AccpSchool類類小結(jié)小結(jié) AccpSchool.java位于cn.jbit.classandobject包中,HelloAccp.java位于demo包中,下面程序空缺部分需要填入代碼嗎?如果需要,是什么? /添加代碼添加代碼2/添加代碼添加代碼3public class HelloAccp public static void main(String args)AccpSchool center = new AccpSchool(); center.showMessage(); /添加代碼添加代碼1public class AccpSchool

51、 public void showMessage() System.out.println(“這是上這是上海海Accp中心。中心。); package cn.jbit.classandobject;package demo; import cn.jbit.classandobject.*;聲明包的含義:聲明包的含義:聲明當(dāng)前類所處的位置聲明當(dāng)前類所處的位置導(dǎo)入包的含義:導(dǎo)入包的含義:聲明在當(dāng)前類中要使用到的聲明在當(dāng)前類中要使用到的別的類所處的位置別的類所處的位置練習(xí)練習(xí)模擬賬戶查詢,實(shí)現(xiàn)存模擬賬戶查詢,實(shí)現(xiàn)存取款取款需求說明:模擬銀行賬戶業(yè)務(wù),進(jìn)行余額查詢,實(shí)現(xiàn)存款和取款完成時(shí)間:完成時(shí)間:2

52、0分鐘分鐘總結(jié)總結(jié)形式參數(shù)和實(shí)際參數(shù)有什么區(qū)別?調(diào)用帶參方法是有哪些注意事項(xiàng)?如何聲明包?如何導(dǎo)入包?包與存儲(chǔ)Java源文件的目錄結(jié)構(gòu)關(guān)系是什么?Java程序設(shè)計(jì)/方法定義方法定義public void addName(name) /方法體方法體/方法調(diào)用方法調(diào)用int n = 對(duì)象名對(duì)象名.addName(張三張三);糾正代碼中的錯(cuò)誤,輸出“早上好!”包package的作用有哪些?必須指定形參類型必須指定形參類型回顧與作業(yè)點(diǎn)評(píng)回顧與作業(yè)點(diǎn)評(píng)方法沒有返回值方法沒有返回值預(yù)習(xí)檢查預(yù)習(xí)檢查基本數(shù)據(jù)類型和引用數(shù)據(jù)類型作為方法參數(shù),在傳遞時(shí)有什么不同之處?本章任務(wù)本章任務(wù)實(shí)現(xiàn)MyShopping系統(tǒng)增

53、加會(huì)員功能實(shí)現(xiàn)MyShopping系統(tǒng)會(huì)員積分功能本章目標(biāo)本章目標(biāo)會(huì)使用數(shù)組作為方法的參數(shù)和返回值會(huì)使用對(duì)象作為方法的參數(shù)使用Arrays類提供的sort()方法實(shí)現(xiàn)定義一個(gè)獨(dú)立的方法來實(shí)現(xiàn)姓名排序,該方法的返回值為數(shù)組類型數(shù)組類型的方法返回值數(shù)組類型的方法返回值2-11、編寫方法,實(shí)現(xiàn)學(xué)生的姓名排序、編寫方法,實(shí)現(xiàn)學(xué)生的姓名排序 public class StudentsBiz String names = new String5; / 學(xué)生姓名數(shù)組學(xué)生姓名數(shù)組public void inputNames()/接收用戶輸入的接收用戶輸入的5個(gè)學(xué)生姓名,存放于個(gè)學(xué)生姓名,存放于names中中/

54、字符串?dāng)?shù)組作為返回值字符串?dāng)?shù)組作為返回值public String getNames()Arrays.sort(names);return names;返回字符串?dāng)?shù)組返回字符串?dāng)?shù)組public class TestSort public static void main(String args) StudentsBiz st = new StudentsBiz();st.inputNames();String namesbysort =st.getNames();System.out.println(*排序后排序后*);for(int i =0;i namesbysort.length;i+)

55、if(namesbysort i!=null) System.out.print(namesbysort i+t);數(shù)組類型的方法返回值數(shù)組類型的方法返回值2-2演示示例演示示例1:數(shù)組類型的方法返回值:數(shù)組類型的方法返回值調(diào)用方法,返回結(jié)果調(diào)用方法,返回結(jié)果處理返回結(jié)果處理返回結(jié)果定義學(xué)生類,添加屬性:三門課的成績(jī) 定義學(xué)生成績(jī)計(jì)算類,添加方法,傳遞對(duì)象參數(shù) 定義測(cè)試類對(duì)象類型的參數(shù)對(duì)象類型的參數(shù)3-12、編寫學(xué)生成績(jī)計(jì)算類,計(jì)算學(xué)生平均分、編寫學(xué)生成績(jī)計(jì)算類,計(jì)算學(xué)生平均分 public class Students /定義三門課成績(jī)屬性定義三門課成績(jī)屬性float java=0;floa

56、t database=0;float html=0;三門課成績(jī)?nèi)T課成績(jī)public class Score /計(jì)算平均分,對(duì)象作為參數(shù)計(jì)算平均分,對(duì)象作為參數(shù)public float getAvg(Students stu)float avg=0;avg=(stu.java +stu.database +stu.html )/3;return avg;對(duì)象類型的參數(shù)對(duì)象類型的參數(shù)3-2返回結(jié)果返回結(jié)果對(duì)象類型的參數(shù)對(duì)象類型的參數(shù)public class TestScore public static void main(String args) Students stu=new Students();Score sc=new Score();float avg=0;stu.java=80;stu.database=95;stu.html=77;avg=sc.getAvg(stu);System.out.println(該學(xué)生的平均分為:該學(xué)生的平均分為:+avg);調(diào)用方法,傳遞參調(diào)用方法,傳遞參數(shù),返回結(jié)果數(shù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論