已閱讀5頁,還剩68頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
物件導(dǎo)向程式設(shè)計參考書目:1.洪維恩,C+教學(xué)手冊第三版,旗標(biāo)出版圖書公司。2.陳錦揮,Java初學(xué)指引,博碩文化3.施威銘研究室著,最新Java2程式語言第2版,旗標(biāo)出版社。6.Java語言進(jìn)階(III)函數(shù),Chih-HungWang,1,函式在物件導(dǎo)向中,由於隸屬於某一類別,故稱為成員函式(memberfunction),又稱為方法(method)。因此在本書中,我們可能以函式、成員函式、方法等名詞來解說,其實指的都是method。,認(rèn)識函式,什麼是函式Java提供的函式功能與數(shù)學(xué)的函數(shù)類似,在數(shù)學(xué)函數(shù)中,我們輸入函數(shù)的參數(shù)並經(jīng)過函數(shù)處理後,將可以得到函數(shù)的輸出結(jié)果。在Java的函式中,同樣地也是如此,我們必須輸入函式的引數(shù)(Argument),經(jīng)過函式的處理之後,可以獲得一個輸出結(jié)果(即函式回傳值)例如:valueOf()就是隸屬於String類別用來將數(shù)值轉(zhuǎn)換為字串的函式。兩者的比較如下圖示意。,認(rèn)識函式,什麼是函式,認(rèn)識函式,數(shù)學(xué)函數(shù)與Java函式比較圖,什麼是函式Java的函式與數(shù)學(xué)函數(shù)類似,在數(shù)學(xué)函數(shù)中,我們會規(guī)定該數(shù)學(xué)函數(shù)的定義域範(fàn)圍,例如:x,y為任意正數(shù)同樣地,我們也必須限制Java函式輸入引數(shù)的資料型態(tài),例如:i必須為整數(shù)。比較不一樣的地方是在Java函式回傳值的資料型態(tài)方面,我們必須在函式宣告時加以定義回傳值的資料型態(tài),同時,Java也允許函式?jīng)]有回傳值。,認(rèn)識函式,函式的優(yōu)點與特性程式語言的函式雖然與數(shù)學(xué)的函數(shù)有些類似,但設(shè)計的目的則略有不同程式語言的函式可以視為【一群敘述的集合】,因此我們常常會將某些經(jīng)常使用的敘述群,直接用一個函式加以包裝,然後在需要使用時,直接呼叫該函式,如此便可以有效重複利用程式碼。Java函式的特點整理如下:1.Java的函式隸屬於某一個類別,函式擁有屬於自己的名稱,除非透過多載(overload)技術(shù),否則不允許宣告兩個相同名稱的函式。,認(rèn)識函式,函式的優(yōu)點與特性2.函式內(nèi)宣告的變數(shù)為區(qū)域變數(shù),換句話說,在不同函式內(nèi)可以使用相同的變數(shù)名稱,因為該變數(shù)只會在該函式中生效。3.函式最好具有特定功能(並以該功能來命名函式),並且函式的程式碼應(yīng)該越簡單越好,如此才能夠提高程式的可讀性並有利於除錯與日後的維護(hù)。4.對於發(fā)展大型類別而言,將物件可能使用的功能製作為方法(即函式),可以交由許多的程式設(shè)計師分工撰寫各個方法,如此一來,可以加快類別的開發(fā)速度,不過在切割功能及實際撰寫方法之前,必須討論出一定的規(guī)格,以免發(fā)生不協(xié)調(diào)的狀況。5.類別內(nèi)撰寫的函式分為staticmethod與一般method,其中,staticmethod內(nèi)的敘述只能呼叫staticmethod。,認(rèn)識函式,呼叫函式的執(zhí)行流程我們可以直接使用別人已經(jīng)撰寫好的函式,只要知道該函式所屬之類別,透過import引入該類別即可。例如:我們只要先引入Java提供的java.lang.String類別,就可以直接使用valueOf()函式,而不必自行撰寫valueOf()函式。如果該函式被宣告為static,則不用產(chǎn)生物件即可使用。當(dāng)主程式呼叫函式時,程式的控制權(quán)將會轉(zhuǎn)移到相對應(yīng)的函式開頭處,然後執(zhí)行函式中的程式碼,函式的程式碼執(zhí)行完畢後,程式控制權(quán)將重新回到主程式碼(呼叫敘述)的下一個敘述,繼續(xù)往下執(zhí)行。,認(rèn)識函式,呼叫函式的執(zhí)行流程【觀念範(fàn)例6-1】:藉由範(fàn)例說明函式呼叫與返回的程式流程控制權(quán)之轉(zhuǎn)移。範(fàn)例6-1:ch6_01.java(隨書光碟myJavach06ch6_01.java),認(rèn)識函式,函式呼叫與返回示意圖(程式控制權(quán)的轉(zhuǎn)移),呼叫函式的執(zhí)行流程,認(rèn)識函式,呼叫函式的執(zhí)行流程執(zhí)行結(jié)果:範(fàn)例說明:(1)第7行:引入類別java.lang.Math,該類別中包含有pow()與log10()兩個staticmethod。這兩個staticmethod的宣告原型如下:,認(rèn)識函式,7.0的4.0次方=2401.02401.0取10的對數(shù)=3.3803921600570273,所屬類別:java.lang.Math語法:staticdoublepow(doublea,doubleb)功能:回傳a的b次方,所屬類別:java.lang.Math語法:publicstaticdoublelog10(doublea)功能:回傳a的對數(shù)(以10為底),呼叫函式的執(zhí)行流程範(fàn)例說明:(2)第16行:呼叫pow函式,幫我們計算i的j次方,回傳值由powNum接收。(3)第18行:呼叫l(wèi)og10函式,幫我們計算powNum的對數(shù)(以10為底),回傳值由logNum接收。(4)由於第6行已經(jīng)引入所有java.lang的所有類別,因此,第7行可以省略,不過由於要提醒這兩個函式的類別名稱,故我們?nèi)詫⒅A?。事實上,java.lang.Math並不會被引入兩次,因為編譯器會替我們檢查是否有重複引入的類別。(5)整個程式的流程如下圖所示。,認(rèn)識函式,呼叫函式的執(zhí)行流程範(fàn)例說明:,認(rèn)識函式,範(fàn)例6-1的程式流程,除了使用Java或其他廠商開發(fā)的類別函式,我們也可以自行發(fā)展類別與函式。由於目前我們只學(xué)習(xí)到主類別,因此本章內(nèi)容以發(fā)展主類別的函式為主。至於其他類別的函式則由下一章開始介紹。,自行定義函式,函式定義在使用函式之前,必須先定義函式內(nèi)容(也就是函式的定義)。函式的內(nèi)容決定了該函式究竟提供了什麼樣的服務(wù)。定義主類別其他函式的語法:,行定義函式,封裝等級static回傳值型態(tài)method名稱(資料型態(tài)引數(shù)1,資料型態(tài)引數(shù)2,)函式主體(程式碼)return;,函式定義【語法說明】:1.封裝等級我們將於下一章之後開始介紹,此處使用public即可。2.由於主函式被宣告為static,而staticmethod內(nèi)的程式碼只能呼叫staticmethod,因此為了要讓主函式main呼叫,故必須宣告為staticmethod。3.若函式?jīng)]有回傳值,此時可將回傳值型態(tài)宣告為void。4.method名稱小括號內(nèi)則是引數(shù)群,每宣告一個輸入引數(shù),都必須清楚地宣告該引數(shù)的資料型態(tài)及名稱。5.引數(shù)的命名規(guī)則與一般變數(shù)的命名規(guī)則相同。,行定義函式,函式定義【語法說明】:6.輸入引數(shù)在函式主體內(nèi)屬於合法的資料變數(shù),也就是說,我們不用在函式主體內(nèi)宣告這些引數(shù),就可以直接將這些輸入引數(shù)當(dāng)作已宣告的變數(shù)使用。7.若無引數(shù)需要傳遞,則引數(shù)列可以為空白,但()不可省略。8.具有回傳值的函式,在函式主體內(nèi)應(yīng)該包含一個以上的return敘述,以便傳回資料。不具回傳值的函式則可以沒有return敘述。9.具有回傳值的函式,其return後面應(yīng)該接上與回傳值相容資料型態(tài)的常數(shù)、變數(shù)或運(yùn)算式。,自行定義函式,函式定義10.【合法的函式定義範(fàn)例】,自行定義函式,函式定義10.【合法的函式定義範(fàn)例】(續(xù)),行定義函式,函式呼叫函式經(jīng)由定義後,必須透過函式呼叫才能實際應(yīng)用該函式。函式呼叫可以視為一種轉(zhuǎn)移控制權(quán)的敘述。當(dāng)程式執(zhí)行過程中,遇到函式呼叫時,控制權(quán)將被轉(zhuǎn)移到被呼叫函式的起始點,並執(zhí)行該函式的程式碼(即函式定義),當(dāng)這些程式碼被執(zhí)行完畢後(或遇到return敘述時),將會把控制權(quán)再交還給原來發(fā)生函式呼叫的程式執(zhí)行點,繼續(xù)執(zhí)行下一個敘述。,自行定義函式,函式呼叫在Java中,呼叫端與被呼叫端若隸屬同一類別,則呼叫函式的語法如下:語法1(函式無回傳值):語法2(函式有回傳值):,自行定義函式,method名稱(傳入引數(shù)串列);,變數(shù)=method名稱(傳入引數(shù)串列);,函式呼叫【語法說明】:1.呼叫敘述與被呼叫函式間若無資料需要傳遞,則只需要使用method名稱();來呼叫函式即可。否則,必須要一一對應(yīng)輸入所需要的引數(shù)。2.若函式有回傳值,則可以使用一個相容資料型態(tài)的變數(shù)來接收這個函式回傳值。,自行定義函式,函式呼叫【語法說明】:3.函式呼叫敘述必須與函式名稱相同,但兩者之引數(shù)名稱可以不同。若呼叫者(CallingProgram)有資料要傳遞給被呼叫者(CalledProgram),則必須藉由傳入引數(shù)串列將資料傳遞給函式,並且傳入引數(shù)串列(在程式語言中稱之為實引數(shù)串列)的傳入變數(shù)會由函式定義的引數(shù)串列(在程式語言中稱之為虛引數(shù)串列)的相對引數(shù)來接收,其順序、個數(shù)、資料型態(tài)必須相同(不會做自動轉(zhuǎn)型)但引數(shù)名稱可以不同。如下圖示意:(圖中3.14必須指定為float型態(tài)的3.14f,否則會被視為double,而由於不會自動轉(zhuǎn)型,故會發(fā)生錯誤),自行定義函式,函式呼叫【觀念範(fàn)例6-2】:不使用Math類別的pow函式,自行製作一個函式(power函式),功能為計算Xn。(X為double型態(tài)、n為int型態(tài))。範(fàn)例6-2:ch6_02.java(隨書光碟myJavach06ch6_02.java),自行定義函式,實引數(shù)與虛引數(shù)的對應(yīng),函式呼叫,自行定義函式,函式呼叫執(zhí)行結(jié)果:範(fàn)例說明:(1)第2431行:power函式的定義,用來計算Xn?;貍髦档馁Y料型態(tài)是double,接受兩個傳入引數(shù),資料型態(tài)分別是double,int,而第30行return後面的變數(shù)powerXn是回傳值。,自行定義函式,計算3.5的k次方?請輸入k=53.5的5次方=525.21875,函式呼叫範(fàn)例說明:(2)第19行:呼叫power函式,傳入的引數(shù)為3.5,k,與函式定義的引數(shù)名稱不相同,其實這並不重要,只要傳入符合資料型態(tài)的數(shù)值或變數(shù)即可(您也可以將兩個引數(shù)名稱設(shè)為相同,但即使如此,這兩個仍是不同的變數(shù),我們將在後面介紹傳值呼叫時詳加說明)。使用Ans變數(shù)來存放函式回傳值。(3)函式呼叫之引數(shù)傳遞與回傳值如下圖。,自行定義函式,函式呼叫範(fàn)例說明:,自行定義函式,範(fàn)例6-2的函式呼叫與回傳值,函式呼叫【實用及觀念範(fàn)例6-3】:製作三個函式(Odd、Even、TotalSum函式),功能分別為計算奇數(shù)和、偶數(shù)和、整數(shù)和。(其中的整數(shù)和請使用奇數(shù)和與偶數(shù)和之函式)。範(fàn)例6-3:ch6_03.java(隨書光碟myJavach06ch6_03.java),自行定義函式,函式呼叫,自行定義函式,函式呼叫,自行定義函式,函式呼叫執(zhí)行結(jié)果:範(fàn)例說明:(1)第3744行:odd函式的定義,用來計算1+3+U的奇數(shù)和。(total是回傳值)(2)第4653行:even函式的定義,用來計算2+4+U的偶數(shù)和。(total是回傳值),自行定義函式,1+2+.+n=?請輸入n=10請問要做奇數(shù)和(O),偶數(shù)和(E),還是整數(shù)和(I)?請選擇:I總和為55,函式呼叫範(fàn)例說明:(3)第5558行:totalSum函式的定義,用來計算1+2+U的整數(shù)和。其中則呼叫了odd及even函式,幫忙做奇數(shù)和與偶數(shù)和,合起來就是整數(shù)和(函式應(yīng)盡量重覆使用以減少程式碼)。(4)第2333行:依據(jù)不同的選擇,決定呼叫不同的函式,完成不同的功能。請?zhí)貏e注意,當(dāng)使用者輸入非O、E、I時,將會執(zhí)行default的程式,使用return結(jié)束main()的執(zhí)行,所以此時第34行不會被執(zhí)行。這說明了return不但具有回傳值的功用,也同時會將控制權(quán)交回給呼叫方(在本例中,會將控制權(quán)交還給JVM),中斷函式的執(zhí)行。,自行定義函式,函式呼叫範(fàn)例說明:(5)假設(shè)我們輸入的是10與O,則整個程式的執(zhí)行流程如下:,自行定義函式,1+2+.+n=?請輸入n=10請問要做奇數(shù)和(O),偶數(shù)和(E),還是整數(shù)和(I)?請選擇:A選擇錯誤,函式呼叫範(fàn)例說明:,自行定義函式,範(fàn)例6-3的程式執(zhí)行流程(輸入10與O),函式呼叫【實用範(fàn)例6-4】:製作階層函式(factorial函式),功能為計算某一正整數(shù)的階層k!。並利用該函式求出的值,m、n為任意正整數(shù),範(fàn)例6-4:ch6_04.java(隨書光碟myJavach06ch6_04.java),自行定義函式,函式呼叫,自行定義函式,函式呼叫,自行定義函式,函式呼叫執(zhí)行結(jié)果:範(fàn)例說明:在這個範(fàn)例中,factorial()函式一共被呼叫了3次(第24、25、26行),充分利用函式,提高程式碼的重複使用率。【觀念範(fàn)例6-5】:製作一個專門用來列印九九乘法表的函式(print99函式),該函式不接受任何傳入引數(shù),也不回傳任何資料。範(fàn)例6-5:ch6_05.java(隨書光碟myJavach06ch6_05.java),自行定義函式,求排列組合C(m,n)m=10n=8C(10,8)=45,自行定義函式,函式呼叫執(zhí)行結(jié)果:(同範(fàn)例4-14)範(fàn)例說明:(1)第15行,由於沒有傳入引數(shù),因此引數(shù)串列為空。由於函式不需要回傳值,所以必須將函式回傳值的資料型態(tài)設(shè)為void。(2)第12行為函式呼叫,雖然不必傳入引數(shù),但()仍不可省略。(3)print99()函式中,並無return敘述,所以函式會執(zhí)行到最後一行(第23行),然後才返回呼叫函式處。,自行定義函式,return敘述return敘述一共有2個功用:(1)回傳函式資料及(2)函式返回。其規(guī)定可歸納如下。return回傳資料使用return回傳資料的語法如下:,自行定義函式,return常數(shù)、變數(shù)、運(yùn)算式或其他具有結(jié)果值的敘述;,return敘述【語法說明】:(1)回傳函式資料的資料型態(tài)必須和函式定義的回傳值資料型態(tài)相容(需可進(jìn)行自動轉(zhuǎn)型)。範(fàn)例:(2)函式回傳值資料型態(tài)若被宣告為void,則不用return回傳值。(3)若回傳值為運(yùn)算式或其他具有結(jié)果值的敘述,則會先計算其運(yùn)算結(jié)果,然後才傳回該值。,自行定義函式,return敘述使用return返回使用return返回呼叫函式敘述如下:【語法說明】:(1)使用return將返回呼叫函式處,並由呼叫函式的下一個敘述開始執(zhí)行。(2)一個函式的return並不限定為一個,不過一旦執(zhí)行return敘述後,其餘函式內(nèi)未被執(zhí)行的敘述將不會被執(zhí)行。(3)無回傳值的函式,不需要用return敘述返回,此時函式將被執(zhí)行完畢後,才會返回呼叫函式處。而若使用return敘述返回,則在return之後的敘述不會被執(zhí)行。【觀念範(fàn)例6-6】:設(shè)計一個包含有多個return敘述的函式,觀察其執(zhí)行過程。範(fàn)例6-6:ch6_06.java(隨書光碟myJavach06ch6_06.java),自行定義函式,return;,return函式回傳值;,或,return敘述,自行定義函式,return敘述執(zhí)行結(jié)果:範(fàn)例說明:(1)程式執(zhí)行的行數(shù)順序為11、12、14(函式呼叫)、19、20、21、22(返回)、15、(16)。亦即程式的2326行將不會被執(zhí)行。(2)執(zhí)行第14行時,會先計算a+b的值(6+7=13),然後回傳13給呼叫函式的敘述,並返回函式呼叫處,因此k為13。,自行定義函式,k=13,return敘述範(fàn)例說明:(3)Java的編譯器頗為聰明,如果您刪除第22行與第24行的if(a0),僅留下returna+b;,則它會指出第23行執(zhí)行不到,提醒程式設(shè)計師,程式可能有某些邏輯上的錯誤。但若如本範(fàn)例,加上一些條件判斷後,它就不一定能夠找出程式邏輯上的錯誤。(4)同樣地,如果您將第26行改寫如第22行,則Java的編譯器會顯示出找不到return的錯誤(因為該函式的宣告處已經(jīng)註明要回傳一個int型態(tài)的回傳值),雖然這樣子的修改,程式實際上是會回傳一個值,但Java的編譯器並沒有那麼聰明。此時,可以在最後加入return0;之類的敘述以避開編譯錯誤,不過您必須先確定該行絕對不可能被執(zhí)行到。,自行定義函式,Practice1,寫一個函式StringcopyStr(intn,Stringstr),將傳入的str字串複製n次後回傳。使用main()函式呼叫它。呼叫敘述為myString=copyStr(3,“Java”);。並將myString印出。,48,Practice2,設(shè)計出一個函式voidprint_total_mul(inta,intb),列印ab乘法表,如a=5,b=8則印出5*5=255*6=305*7=355*8=406*5=306*6=366*7=426*8=487*5=357*6=427*7=497*8=568*5=408*6=488*7=568*8=64當(dāng)a=8,b=5時,輸出相同,若a=1,b=9恰為九九乘法表。,49,傳遞陣列傳遞陣列首先要將引數(shù)的資料型態(tài)設(shè)定為陣列,並且維度必須正確例如傳遞一維整數(shù)陣列應(yīng)該宣告為int,二維陣列應(yīng)該宣告為int,依此類推。當(dāng)傳遞的引數(shù)被宣告物件或陣列時,由於物件名稱與陣列名稱本身只是一個實體的參考(reference),故它只會將該參考傳遞給被呼叫端相對應(yīng)的引數(shù)。故被呼叫端函式可以透過這個參考修改原呼叫端的物件或陣列實體內(nèi)容。,引數(shù)串列與引數(shù)傳遞,傳遞陣列有些書籍將這種引數(shù)傳遞視為傳參考呼叫(passbyreference),而本書則將此視為傳參考值呼叫(passbyvalueofreference)。我們透過下面這個範(fàn)例,觀察傳遞陣列時的引數(shù)傳遞原理?!居^念範(fàn)例6-10】:利用傳參考值呼叫傳遞陣列。範(fàn)例6-10:ch6_10.java(隨書光碟myJavach06ch6_10.java),引數(shù)串列與引數(shù)傳遞,傳遞陣列,引數(shù)串列與引數(shù)傳遞,傳遞陣列執(zhí)行結(jié)果:,引數(shù)串列與引數(shù)傳遞,第1個隨機(jī)亂數(shù)為31第2個隨機(jī)亂數(shù)為15第3個隨機(jī)亂數(shù)為21第4個隨機(jī)亂數(shù)為32第5個隨機(jī)亂數(shù)為39第6個隨機(jī)亂數(shù)為16樂透號碼如下.311521323916,傳遞陣列範(fàn)例說明:(1)從執(zhí)行結(jié)果中,我們可以得知lotto陣列與arr陣列都參考到同一個陣列實體,所以在generate_lotto函式中對arr陣列元素的修改都將會影響main函式的lotto陣列元素值(共用同一塊記憶體空間)。(2)第20行的引數(shù)也可以修改為intarr,只要是正確的陣列變數(shù)宣告方式即可。(3)事實上,當(dāng)呼叫g(shù)enerate_lotto函式,記憶體的變化如下:,引數(shù)串列與引數(shù)傳遞,傳遞陣列,引數(shù)串列與引數(shù)傳遞,傳遞陣列示意圖(傳參考值呼叫),既然陣列或物件變數(shù)是一個參考,當(dāng)我們要回傳陣列或物件時,是否需要回傳整個陣列或物件實體,還是只要回傳變數(shù)(參考)即可。我們透過下面這個範(fàn)例來說明:【觀念範(fàn)例6-11】:改寫範(fàn)例6-10,將產(chǎn)生陣列實體敘述放置於被呼叫函式內(nèi),並回傳該陣列。範(fàn)例6-11:ch6_11.java(隨書光碟myJavach06ch6_11.java),回傳陣列,回傳陣列,執(zhí)行結(jié)果:(同範(fàn)例6-11,但因亂數(shù)緣故,值可能不同)範(fàn)例說明:(1)第20行的回傳值資料型態(tài)為int,代表要回傳一個整數(shù)一維陣列。(2)從執(zhí)行結(jié)果中,我們可以得知lotto陣列變數(shù)可以存放arr所回傳的陣列參考,使得將之指向同一個陣列實體,然而,我們在前面提過,在函式內(nèi)宣告的為區(qū)域變數(shù),而arr也是一個區(qū)域變數(shù),這意味著當(dāng)函式執(zhí)行完畢時,它將被釋放。但釋放的只是陣列的參考而非陣列實體,因此在函式內(nèi)產(chǎn)生的陣列實體仍可以保留,並由第16行取出其元素。,回傳陣列,範(fàn)例說明:(3)您或許會產(chǎn)生一個疑問,萬一該函式在宣告時並不回傳陣列變數(shù),那麼當(dāng)函式執(zhí)行完畢時,陣列參考被釋放了,而陣列實體並未被釋放,可是又沒有任何參考變數(shù)可以指向它,那麼陣列實體豈不成為記憶體中的垃圾而浪費(fèi)記憶體空間嗎?沒錯,但您不用煩惱,因為Java提供了GarbageCollection機(jī)制,對於沒有被任何變數(shù)參考的陣列或物件實體,JVM將會定期地自動清除。我們將於後面章節(jié)說明Java的GarbageCollection機(jī)制。(4)本範(fàn)例的記憶體的變化如下:,回傳陣列,回傳陣列,回傳陣列示意圖,函式可以接受呼叫者傳入的引數(shù)值,那麼main函式也可以嗎?答案是肯定的,不過main的引數(shù)串列已經(jīng)在Java中詳細(xì)定義,使用者不得更改。main函式的引數(shù)是用來接收J(rèn)VM的命令參數(shù)例如:我們在Dos命令列中,若輸入javatestThisisabook,則代表要求JVM執(zhí)行test類別,並將Thisisabook等四個字串傳入test類別的main函式中。,main函式的引數(shù)串列,main函式的引數(shù)被宣告字串陣列Stringargs或Stringargs。我們可以在main()函式中取用這些字串,做其他進(jìn)一步的應(yīng)用。【觀念範(fàn)例6-16】:接收由JVM傳送過來的參數(shù)。範(fàn)例6-16:ch6_16.java(隨書光碟myJavach06ch6_16.java),main函式的引數(shù)串列,執(zhí)行結(jié)果:,main函式的引數(shù)串列,C:javamyJava.ch06.ch6_16Thisisabook本程式共接受到4個輸入?yún)?shù)args0字串為Thisargs1字串為isargs2字串為aargs3字串為book,範(fàn)例說明:在執(zhí)行結(jié)果中,我們先要求JVM執(zhí)行myJava.ch06Package的ch6_16類別,並傳送This、is、a、book等四個額外參數(shù)給ch6_16類別的main()函式?!緦嵱眉坝^念範(fàn)例6-17】:由於範(fàn)例6-15可以修改為其他球數(shù)的樂透遊戲,因此我們將範(fàn)例6-17改寫為由使用者在輸入命令列參數(shù)時決定要開出的球數(shù)(球數(shù)當(dāng)然應(yīng)該不可超過48球,因為必須保留一個球作為特別號)。範(fàn)例6-17:ch6_17.java(隨書光碟myJavach06ch6_17.java),main函式的引數(shù)串列,main函式的引數(shù)串列,執(zhí)行結(jié)果:,main函式的引數(shù)串列,C:javamyJava.ch06.ch6_1748樂透號碼如下.363547412393343342510281937482016293294024211715301814421112273649462264531382313844527特別號:41,範(fàn)例說明:(1)我們修改了main()函式,讓使用者可以指定開出的球數(shù)(若使用者輸入超過48或其他文字,則會執(zhí)行return提前結(jié)束程式)。(2)第15行,由於輸入的參數(shù)會被存放到字串陣列,因此,必須將字串轉(zhuǎn)換為數(shù)值。,main函式的引數(shù)串列,在前面曾經(jīng)提及,若區(qū)域變數(shù)被宣告為final,則該區(qū)域變數(shù)在第一次被設(shè)定某個值之後,就不可以再被設(shè)定。由於函式引數(shù)列的引數(shù)可以被當(dāng)作區(qū)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 全新技師合同協(xié)議書下載
- 國際貿(mào)易實務(wù)3-合同條款
- 聘請飛行員勞動合同
- 聯(lián)合國國際貨物銷售合同公約
- 招標(biāo)投標(biāo)買賣合同范本
- 有關(guān)加工合同模板
- 食材供應(yīng)合同范本
- 茶葉買賣合同
- 會議室場地租賃合同范本
- 部門承包合同
- 鋼結(jié)構(gòu)工程施工(第五版) 課件 2項目四 高強(qiáng)度螺栓
- 大學(xué)生就業(yè)指導(dǎo)(高等院校學(xué)生學(xué)習(xí)就業(yè)指導(dǎo)課程)全套教學(xué)課件
- 《實驗診斷學(xué)》課件
- 小學(xué)網(wǎng)管的工作總結(jié)
- 診所校驗現(xiàn)場審核表
- 派出所上戶口委托書
- 醫(yī)院6s管理成果匯報護(hù)理課件
- SYT 0447-2014《 埋地鋼制管道環(huán)氧煤瀝青防腐層技術(shù)標(biāo)準(zhǔn)》
- 第19章 一次函數(shù) 單元整體教學(xué)設(shè)計 【 學(xué)情分析指導(dǎo) 】 人教版八年級數(shù)學(xué)下冊
- 電梯結(jié)構(gòu)與原理-第2版-全套課件
- IEC-62368-1-差異分享解讀
評論
0/150
提交評論