使用java理解程序邏輯_第1頁(yè)
使用java理解程序邏輯_第2頁(yè)
使用java理解程序邏輯_第3頁(yè)
使用java理解程序邏輯_第4頁(yè)
使用java理解程序邏輯_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第十二章類的無(wú)參方法

預(yù)習(xí)檢查面向?qū)ο缶幊陶Z(yǔ)言中,類由哪幾部分組成?類的方法由哪幾部分組成?成員變量和局部變量的區(qū)別有哪些?如何調(diào)用不同類的方法?Java語(yǔ)言有哪幾種注釋符?請(qǐng)簡(jiǎn)述各自的作用集中測(cè)試2/40回顧與作業(yè)點(diǎn)評(píng)類和對(duì)象的關(guān)系是什么?publicclass&Student{Stringname;charsex;intage;publicvoidshow(){System.out.println(name+"\t"+sex+"\t"+age);}publicstaticvoidmain(String[]args){Studentstu=newStudent();name="神仙姐姐";sex='F';age=18;stu.show();}}Sstu.sexstu.age實(shí)現(xiàn)輸出學(xué)生信息,下面代碼有哪些錯(cuò)誤?提問(wèn)代碼閱讀3/40點(diǎn)評(píng)作業(yè)的提交情況和共性問(wèn)題作業(yè)點(diǎn)評(píng)本章任務(wù)實(shí)現(xiàn)計(jì)算平均分和課程總成績(jī)實(shí)現(xiàn)MyShopping系統(tǒng)菜單切換實(shí)現(xiàn)MyShopping系統(tǒng)入口程序4/40本章目標(biāo)會(huì)定義和使用類的方法理解變量作用域會(huì)添加JavaDoc注釋5/40類的方法寫出獅子對(duì)象的“跑”方法、“叫”方法、“搶球”方法電動(dòng)玩具獅子屬性:顏色:黃色行為:跑叫搶球按此按鈕,獅子開(kāi)始叫按此按鈕,獅子開(kāi)始跑問(wèn)題6/40類的方法示例AutoLion類代碼實(shí)現(xiàn)publicclassAutoLion{Stringcolor="黃色";

public

void

run(){System.out.println("正在以0.1米/秒的速度向前奔跑");}

public

voidcry(){Stringsound="大聲吼叫";}

publicStringrobBall(){

Stringball="球";returnball;}}方法體返回值類型方法名稱示例7/40如何定義類的方法類的方法定義類的某種行為(或功能)定義類的方法public

返回值類型方法名(){//方法的主體}步驟一:定義方法名以及返回值類型步驟二:編寫方法體語(yǔ)法方法的定義方法的名稱方法的主體方法返回值的數(shù)據(jù)類型8/40方法的返回值兩種情況如果方法具有返回值,方法中必須使用關(guān)鍵字return返回該值,返回值類型為該返回值的類型如果方法沒(méi)有返回值,返回值類型為voidpublicclassStudent{Stringname="張三";publicStringgetName(){

returnname;}//……}return表達(dá)式;作用:跳出方法、返回結(jié)果語(yǔ)法publicclassStudent{Stringname="張三";publicvoidgetName(){

}//……}9/40方法調(diào)用方法是個(gè)“黑匣子”,完成某個(gè)特定的應(yīng)用程序功能,并返回結(jié)果方法調(diào)用:執(zhí)行方法中包含的語(yǔ)句

對(duì)象名.方法名();小明過(guò)生日,爸爸送他一個(gè)電動(dòng)獅子玩具,編程測(cè)試這個(gè)獅子能否正常工作語(yǔ)法問(wèn)題10/40方法調(diào)用publicclassAutoLion{Stringcolor="黃色";//顏色

/*跑*/publicvoidrun(){System.out.println("正在以0.1米/秒的速度向前奔跑。");}/*搶球*/

publicStringrobBall(){Stringball="球";returnball;}/*獲得顏色*/publicStringgetColor(){returncolor;}/*顯示獅子特性*/publicStringshowLion(){return"這是一個(gè)"+getColor()+"的玩具獅子!";}}publicclassTestLion{publicstaticvoidmain(String[]args){AutoLionlion=newAutoLion();

Stringinfo=lion.showLion();

System.out.println(info);lion.run();System.out.println("搶到一個(gè)"+lion.robBall());}}在類的方法中調(diào)用該類另一個(gè)方法在main()方法中調(diào)用類的方法演示示例1:定義并調(diào)用獅子類的方法11/40方法調(diào)用小結(jié)方法之間允許相互調(diào)用,不需要知道方法的具體實(shí)現(xiàn),實(shí)現(xiàn)重用,提高效率情況舉例Student類的方法a()調(diào)用Student類的方法b(),直接調(diào)用publicvoida(){b();//調(diào)用b()}Student類的方法a()調(diào)用Teacher類的方法b(),先創(chuàng)建類對(duì)象,然后使用“.”調(diào)用publicvoida(){Teachert=newTeacher();

t.b();//調(diào)用Teacher類的b()}12/40publicclassStudent1{ publicvoidshowInfo(){ return"我是一名學(xué)生"; }}方法的返回值類型為void,方法中不能有return返回值!常見(jiàn)錯(cuò)誤4-1代碼閱讀注意!13/40publicclassStudent2{ publicdoublegetInfo(){ doubleweight=95.5; doubleheight=1.69; returnweight,height; }}方法不能返回多個(gè)值!常見(jiàn)錯(cuò)誤4-2代碼閱讀注意!14/40publicclassStudent3{ publicStringshowInfo(){ return"我是一名學(xué)生"; publicdoublegetInfo(){ doubleweight=95.5; doubleheight=1.69; returnweight; } }}多個(gè)方法不能相互嵌套定義!常見(jiàn)錯(cuò)誤4-3publicclassStudent3{ publicStringshowInfo(){ return"我是一名學(xué)生"; } publicdoublegetInfo(){ doubleweight=95.5;doubleheight=1.69; returnweight; }}代碼閱讀注意!15/40publicclassStudent4{ intage=20; if(age<20){ System.out.println("年齡不符合入學(xué)要求!"); } publicStringshowInfo(){ return"我是一名學(xué)生";}}不能在方法外部直接寫程序邏輯代碼!常見(jiàn)錯(cuò)誤4-4代碼閱讀注意!16/40小結(jié)編寫電池類(Cell):具有品牌屬性,可以續(xù)電編寫測(cè)試類(TestCell)現(xiàn)場(chǎng)編程電池類屬性:品牌方法:續(xù)電17/40學(xué)員操作—計(jì)算平均分和總成績(jī)2-1

訓(xùn)練要點(diǎn)方法的定義和調(diào)用需求說(shuō)明從鍵盤接收三門課分?jǐn)?shù),計(jì)算三門課的平均分和總成績(jī),編寫成績(jī)計(jì)算類實(shí)現(xiàn)功能指導(dǎo)講解需求說(shuō)明18/40學(xué)員操作—計(jì)算平均分和總成績(jī)2-2實(shí)現(xiàn)思路創(chuàng)建類ScoreCalc編寫方法實(shí)現(xiàn)各功能編寫測(cè)試類難點(diǎn)指導(dǎo)面向?qū)ο缶幊趟枷胫笇?dǎo)完成時(shí)間:25分鐘19/40共性問(wèn)題集中講解常見(jiàn)問(wèn)題及解決辦法代碼規(guī)范問(wèn)題調(diào)試技巧共性問(wèn)題集中講解20/40成員變量和局部變量2-1變量聲明的位置決定變量作用域變量作用域確定可在程序中按變量名訪問(wèn)該變量的區(qū)域//…for(inta=0;a<4;a++){System.out.println("hello");}System.out.println(a);//…代碼錯(cuò)誤a的作用域僅在for循環(huán)中21/40成員變量和局部變量2-2誰(shuí)能使用這些變量?變量1類型變量1;變量2類型變量2;變量3類型變量3;public返回類型方法1(){

變量4類型變量4;}public返回類型方法2(){

變量5類型變量5;}publicclassAutoLion{}AutoLion類的方法,其他類的方法方法1方法2成員變量局部變量局部變量問(wèn)題22/40成員變量和局部變量的區(qū)別作用域不同局部變量的作用域僅限于定義它的方法成員變量的作用域在整個(gè)類內(nèi)部都是可見(jiàn)的初始值不同Java會(huì)給成員變量一個(gè)初始值Java不會(huì)給局部變量賦予初始值在同一個(gè)類中,成員變量和局部變量同名時(shí),局部變量具有更高的優(yōu)先級(jí)在同一個(gè)方法中,不允許有同名局部變量在不同的方法中,可以有同名局部變量注意!!23/40publicclassTest{intscore1=88;intscore2=98;publicvoidcalcAvg(){intavg=(score1+score2)/2;}publicvoidshowAvg(){System.out.println("平均分是:"+avg);}}常見(jiàn)錯(cuò)誤局部變量avg的作用域僅限于calcAvg()方法代碼閱讀注意!24/40publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);System.out.print("請(qǐng)輸入Java成績(jī):");intjava=input.nextInt();//……/*計(jì)算并顯示輸出*/inttotal=java+c+db;doubleavg=total/3;System.out.print("總成績(jī):"+total);System.out.print("\n平均分:"+avg);}面向?qū)ο蟮木幊蹋∣OP)ScoreCalc類和Test類calcDiffTimecalcTotalScore()ScoreCalcshowTotalScore()calcAvg()showAvg()

main(){//程序入口

//計(jì)算并輸出總成績(jī)

//計(jì)算并輸出平均分

}Test調(diào)用調(diào)用類的方法實(shí)現(xiàn)某個(gè)特定的功能,其他類不需要知道它如何實(shí)現(xiàn),調(diào)用方法就可以了,不用重復(fù)寫代碼!面向?qū)ο螅∣O)思想如果還要再執(zhí)行這個(gè)功能,難道還要重復(fù)再寫一遍?25/40小結(jié)編寫手機(jī)類(Phone)可以下載音樂(lè),可以播放這些音樂(lè),可以進(jìn)行充電重用電池類方法(Cell)編寫測(cè)試類(TestPhone)現(xiàn)場(chǎng)編程手機(jī)類方法:播放下載的音樂(lè)下載充電電池類屬性:品牌方法:續(xù)電26/40學(xué)員操作—定義管理員類需求說(shuō)明編寫管理員類Manager,使用show()方法返回管理員信息編寫測(cè)試類ManagerTest輸出管理員信息練習(xí)完成時(shí)間:10分鐘27/40學(xué)員操作—實(shí)現(xiàn)菜單的級(jí)聯(lián)效果2-1訓(xùn)練要點(diǎn)方法的定義和調(diào)用循環(huán)結(jié)構(gòu)需求說(shuō)明實(shí)現(xiàn)MyShopping菜單,輸入菜單項(xiàng)編號(hào),可以自由切換各個(gè)菜單指導(dǎo)講解需求說(shuō)明28/40學(xué)員操作—實(shí)現(xiàn)菜單的級(jí)聯(lián)效果2-2實(shí)現(xiàn)思路創(chuàng)建菜單類Menu編寫方法實(shí)現(xiàn)各功能showLoginMenu()方法,實(shí)現(xiàn)顯示登錄菜單showMainMenu()方法,實(shí)現(xiàn)顯示主菜單showCustMenu()方法,實(shí)現(xiàn)顯示客戶信息管理菜單showSendGMenu()方法,實(shí)現(xiàn)顯示真情回饋菜單編寫測(cè)試類指導(dǎo)完成時(shí)間:25分鐘29/40學(xué)員操作—實(shí)現(xiàn)系統(tǒng)入口程序需求說(shuō)明編寫類StartSMS,實(shí)現(xiàn)輸入用戶名和密碼,符合條件的進(jìn)入系統(tǒng)練習(xí)完成時(shí)間:15分鐘30/40共性問(wèn)題集中講解常見(jiàn)問(wèn)題及解決辦法代碼規(guī)范問(wèn)題調(diào)試技巧共性問(wèn)題集中講解31/40JavaDoc注釋回顧學(xué)過(guò)的注釋方式單行注釋://這里是單行注釋多行注釋:/*這里是多行注釋,

可以多行*/JavaDoc注釋:使用“/**“開(kāi)始和“*/“結(jié)束,用來(lái)注釋類、屬性和方法等/**

*AccpSchool類

*@authorJadeBird

*@version1.02011/06/21

*/描述信息@author:描述作者信息@version:描述版本信息32/40添加JavaDoc注釋為ScoreCalc類添加JavaDoc注釋/***ScoreCalc類*@author北大青鳥(niǎo)*@version2.02013/06/01*/publicclassScoreCalc{ /**Java成績(jī)*/ intjava;

//... /** *計(jì)算總成績(jī) *@returntotal */ publicintcalcTotalScore(){ inttotal=java+c+db; returntotal; }

//...}方法的JavaDoc注釋屬性的JavaDoc注釋類的JavaDoc注釋問(wèn)題演示示例2:添加JavaDoc注釋33/40如何生成JavaDoc文檔JavaDoc能夠從源代碼中抽取類、屬性、方法等的注釋,形成一個(gè)配套的API幫助文檔生成JavaDoc文檔使用命令行方式生成使用MyEclipse工具生成演示:使用MyEclipse生成JavaDoc文檔34/40學(xué)員操作—添加并生成JavaDoc文檔需求說(shuō)明為我行我素購(gòu)物系統(tǒng)的Manager類、Menu類添加JavaDoc注釋使用MyEclipse工具,生成兩個(gè)類的JavaDoc文檔練習(xí)完成時(shí)間:10

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論