Java學(xué)習(xí) (自動(dòng)保存的).docx_第1頁(yè)
Java學(xué)習(xí) (自動(dòng)保存的).docx_第2頁(yè)
Java學(xué)習(xí) (自動(dòng)保存的).docx_第3頁(yè)
Java學(xué)習(xí) (自動(dòng)保存的).docx_第4頁(yè)
Java學(xué)習(xí) (自動(dòng)保存的).docx_第5頁(yè)
已閱讀5頁(yè),還剩38頁(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)介

Java中的關(guān)鍵字Java 語(yǔ)言中有一些具有特殊用途的詞被稱為關(guān)鍵字。關(guān)鍵字對(duì) Java 的編譯器有著特殊的意義,在程序中應(yīng)用時(shí)一定要慎重哦!Java 中常用關(guān)鍵字:?jiǎn)枺哼@么多,記不住啊。-_-|答:現(xiàn)在不需要你記住所有,混個(gè)眼熟即可,在學(xué)習(xí)的過程中,你會(huì)逐步找到感覺并記住他們對(duì)了,差點(diǎn)忘了大事,Java 關(guān)鍵字是區(qū)分大小寫的哦!所以 void 是關(guān)鍵字,但 Void 就不是了認(rèn)識(shí)Java標(biāo)識(shí)符 問:標(biāo)識(shí)符是神馬? 答:標(biāo)識(shí)符就是用于給 Java 程序中變量、類、方法等命名的符號(hào)。使用標(biāo)識(shí)符時(shí),需要遵守幾條規(guī)則:1. 標(biāo)識(shí)符可以由字母、數(shù)字、下劃線(_)、美元符($)組成,但不能包含 、%、空格等其它特殊字符,不能以數(shù)字開頭。譬如:123name就是不合法滴2. 標(biāo)識(shí)符不能是 Java 關(guān)鍵字和保留字( Java 預(yù)留的關(guān)鍵字,以后的升級(jí)版本中有可能作為關(guān)鍵字),但可以包含關(guān)鍵字和保留字。如:不可以使用void作為標(biāo)識(shí)符,但是Myvoid可以3. 標(biāo)識(shí)符是嚴(yán)格區(qū)分大小寫的。 所以涅,一定要分清楚imooc和IMooc是兩個(gè)不同的標(biāo)識(shí)符哦!4. 標(biāo)識(shí)符的命名最好能反映出其作用,做到見名知意。變量是什么簡(jiǎn)單的說(shuō),我們可以把變量看作是個(gè)盒子,可以將鑰匙、手機(jī)、飲料等物品存放在這個(gè)盒子中,也可以在需要的時(shí)候換成我們想存放的新物品。在 Java 中,我們通過三個(gè)元素描述變量:變量類型、變量名以及變量值。如果我們把變量比作是酒店的房間,要存儲(chǔ)的數(shù)據(jù)就好比要住宿的客人,我們可以根據(jù)客人的要求安排其入住“標(biāo)準(zhǔn)間”或者是“總統(tǒng)套房”,并且可以根據(jù)房間名字快速查找到入住客人的信息。同理,在 Java 程序中,我們也可以根據(jù)所需要保存的數(shù)據(jù)的格式,將其保存在指定類型的變量空間中,并且通過變量名快速定位!例如,我們定義了一個(gè)變量love,用來(lái)保存一個(gè)字符串“imooc”, 在程序中只要找到了 love 這個(gè)變量,就能找到存儲(chǔ)在里面的 ”imooc”!當(dāng)然,我們也可以把love里面的值更換成新的字符串“i love imooc”!運(yùn)行結(jié)果:各位小伙伴們一定要注意哦:Java 中的標(biāo)點(diǎn)符號(hào)是英文的。譬如語(yǔ)句結(jié)束的分號(hào),是英文符號(hào)的分號(hào),千萬(wàn)表寫成中文滴哦如何命名Java變量如同酒店會(huì)給每個(gè)房間起個(gè)性化的名字一樣,程序中的變量也需要用合理的名字進(jìn)行管理-變量名!需要注意,給酒店房間起名字時(shí)可以是數(shù)字,如“802”,也可以是有趣的名字,如“牡丹”、“美國(guó)總統(tǒng)”、“水簾洞”等,但在給變量起名字時(shí),必須符合一定的規(guī)則,如下所示:以下變量的命名都是符合規(guī)范的:但請(qǐng)看下面的代碼,你懂得哈:優(yōu)秀攻城師的習(xí)慣:1、變量名由多單詞組成時(shí),第一個(gè)單詞的首字母小寫,其后單詞的首字母大寫,俗稱駱駝式命名法(也稱駝峰命名法),如 myAge2、變量命名時(shí),盡量簡(jiǎn)短且能清楚的表達(dá)變量的作用,做到見名知意。如:定義變量名 stuName保存“學(xué)生姓名”信息PS: Java 變量名的長(zhǎng)度沒有限制,但 Java 語(yǔ)言是區(qū)分大小寫的,所以price和Price是兩個(gè)完全不同的變量哦!Java中的數(shù)據(jù)類型通常情況下,為了方便物品的存儲(chǔ),我們會(huì)規(guī)定每個(gè)盒子可以存放的物品種類,就好比在“放臭襪子的盒子”里我們是不會(huì)放“面包”的!同理,變量的存儲(chǔ)也講究“分門別類”!Java 語(yǔ)言是一種強(qiáng)類型語(yǔ)言。通俗點(diǎn)說(shuō)就是,在 Java 中存儲(chǔ)的數(shù)據(jù)都是有類型的,而且必須在編譯時(shí)就確定其類型。 Java 中有兩類數(shù)據(jù)類型:在 Java 的領(lǐng)域里,基本數(shù)據(jù)類型變量存的是數(shù)據(jù)本身,而引用類型變量存的是保存數(shù)據(jù)的空間地址。說(shuō)白了,基本數(shù)據(jù)類型變量里存儲(chǔ)的是直接放在抽屜里的東西,而引用數(shù)據(jù)類型變量里存儲(chǔ)的是這個(gè)抽屜的鑰匙,鑰匙和抽屜一一對(duì)應(yīng)。常用的基本數(shù)據(jù)類型有:你可能已經(jīng)注意到了:注:關(guān)于 float 型和 double 型的區(qū)別,以及 char 型和 String 型的不同,在 wiki 中有相關(guān)的總結(jié),小伙伴們可以去查看哦String是一種常見的引用數(shù)據(jù)類型,用來(lái)表示字符串。在程序開發(fā)中,很多操作都要使用字符串來(lái)完成,例如系統(tǒng)中的用戶名、密碼、電子郵箱等。PS:關(guān)于引用類型的其他小伙伴們,在后面課程中會(huì)詳細(xì)講到滴。Java中變量的使用規(guī)則不得不接受的變量小脾氣:1、Java 中的變量需要先聲明后使用2、變量使用時(shí),可以聲明變量的同時(shí)進(jìn)行初始化,也可以先聲明后賦值3、變量中每次只能賦一個(gè)值,但可以修改多次4、main 方法中定義的變量必須先賦值,然后才能輸出5、雖然語(yǔ)法中沒有提示錯(cuò)誤,但在實(shí)際開發(fā)中,變量名不建議使用中文,容易產(chǎn)生安全隱患,譬如后期跨平臺(tái)操作時(shí)出現(xiàn)亂碼等等關(guān)于 String:表示變量中存儲(chǔ)的數(shù)據(jù)的類型為字符串,后面小節(jié)中會(huì)詳細(xì)講到,小小期待吧Java中的自動(dòng)類型轉(zhuǎn)換在 Java 程序中,不同的基本數(shù)據(jù)類型的數(shù)據(jù)之間經(jīng)常需要進(jìn)行相互轉(zhuǎn)換。例如:,代碼中 int型變量 score1可以直接為 double 型變量 score2 完成賦值操作,運(yùn)行結(jié)果為:82.0這種轉(zhuǎn)換稱為自動(dòng)類型轉(zhuǎn)換。當(dāng)然自動(dòng)類型轉(zhuǎn)換是需要滿足特定的條件的:1. 目標(biāo)類型能與源類型兼容,如 double 型兼容 int 型,但是 char 型不能兼容 int 型2. 目標(biāo)類型大于源類型,如 double 類型長(zhǎng)度為 8 字節(jié), int 類型為 4 字節(jié),因此 double 類型的變量里直接可以存放 int 類型的數(shù)據(jù),但反過來(lái)就不可以了Java中的強(qiáng)制類型轉(zhuǎn)換相信小伙伴們也發(fā)現(xiàn)了,盡管自動(dòng)類型轉(zhuǎn)換是很方便的,但并不能滿足所有的編程需要。 例如,當(dāng)程序中需要將 double 型變量的值賦給一個(gè) int 型變量,該如何實(shí)現(xiàn)呢?顯然,這種轉(zhuǎn)換是不會(huì)自動(dòng)進(jìn)行的!因?yàn)?int 型的存儲(chǔ)范圍比 double 型的小。此時(shí)就需要通過強(qiáng)制類型轉(zhuǎn)換來(lái)實(shí)現(xiàn)了。語(yǔ)法:( 數(shù)據(jù)類型 ) 數(shù)值運(yùn)行結(jié)果:可以看到,通過強(qiáng)制類型轉(zhuǎn)換將 75.8 賦值給int 型變量后,結(jié)果為 75,數(shù)值上并未進(jìn)行四舍五入,而是直接將小數(shù)位截?cái)?。明白了吧,?qiáng)制類型轉(zhuǎn)換可能會(huì)造成數(shù)據(jù)的丟失哦,小伙伴們?cè)趹?yīng)用時(shí)一定要慎重哦!Java常量的應(yīng)用所謂常量,我們可以理解為是一種特殊的變量,它的值被設(shè)定后,在程序運(yùn)行過程中不允許改變。語(yǔ)法:final 常量名 = 值;程序中使用常量可以提高代碼的可維護(hù)性。例如,在項(xiàng)目開發(fā)時(shí),我們需要指定用戶的性別,此時(shí)可以定義一個(gè)常量 SEX,賦值為 男,在需要指定用戶性別的地方直接調(diào)用此常量即可,避免了由于用戶的不規(guī)范賦值導(dǎo)致程序出錯(cuò)的情況?;镉?jì)們注意啦:常量名一般使用大寫字符Java中的算術(shù)運(yùn)算符算術(shù)運(yùn)算符主要用于進(jìn)行基本的算術(shù)運(yùn)算,如加法、減法、乘法、除法等。Java 中常用的算術(shù)運(yùn)算符:其中,+和-既可以出現(xiàn)在操作數(shù)的左邊,也可以出現(xiàn)在右邊,但結(jié)果是不同滴例1:運(yùn)行結(jié)果:例2:運(yùn)行結(jié)果:一定要注意哦!自增和自減運(yùn)算符只能用于操作變量,不能直接用于操作數(shù)值或常量!例如 5+ 、 8- 等寫法都是錯(cuò)誤滴!PS:% 用來(lái)求余數(shù),也稱為”取模運(yùn)算符“Java中的賦值運(yùn)算符賦值運(yùn)算符是指為變量或常量指定數(shù)值的符號(hào)。如可以使用“=” 將右邊的表達(dá)式結(jié)果賦給左邊的操作數(shù)。Java 支持的常用賦值運(yùn)算符,如下表所示:Java中的比較運(yùn)算符比較運(yùn)算符用于判斷兩個(gè)數(shù)據(jù)的大小,例如:大于、等于、不等于。比較的結(jié)果是一個(gè)布爾值( true 或 false )。Java 中常用的比較運(yùn)算符如下表所示:注意哦:1、 、 = 、 two) & ( one two運(yùn)行結(jié)果為 false , 則系統(tǒng)就認(rèn)為已經(jīng)沒有必要執(zhí)行右側(cè)的 one two) | ( one three )中,如果能確定左邊表達(dá)式的運(yùn)行結(jié)果為 true, 則系統(tǒng)也同樣會(huì)認(rèn)為已經(jīng)沒有必要再進(jìn)行右側(cè)的 one 5 的值為 true ,所以,返回:8大于5Java中運(yùn)算符的優(yōu)先級(jí)所謂優(yōu)先級(jí),就是在表達(dá)式中的運(yùn)算順序。Java 中常用的運(yùn)算符的優(yōu)先級(jí)如下表所示:級(jí)別為 1 的優(yōu)先級(jí)最高,級(jí)別11 的優(yōu)先級(jí)最低。譬如,x = 7 + 3 * 2 得到的結(jié)果是13 “先乘后加”嘛!PS:大家沒必要去死記運(yùn)算符的優(yōu)先級(jí)順序,實(shí)際開發(fā)中,一般會(huì)使用小括號(hào)輔助進(jìn)行優(yōu)先級(jí)管理。例如:分析:小括號(hào)優(yōu)先級(jí)最高,因此1、 執(zhí)行 a + 18 ,結(jié)果為 302、 執(zhí)行( a + 18 ) % 4 取模,結(jié)果為 23、 執(zhí)行 a*( ( a+18 )%4 ),結(jié)果為 24Java循環(huán)語(yǔ)句之 forJava 的循環(huán)結(jié)構(gòu)中除了 while 和 do.while外,還有for 循環(huán),三種循環(huán)可以相互替換。語(yǔ)法:執(zhí)行過程:、 執(zhí)行循環(huán)變量初始化部分,設(shè)置循環(huán)的初始狀態(tài),此部分在整個(gè)循環(huán)中只執(zhí)行一次、 進(jìn)行循環(huán)條件的判斷,如果條件為 true ,則執(zhí)行循環(huán)體內(nèi)代碼;如果為 false ,則直接退出循環(huán)、 執(zhí)行循環(huán)變量變化部分,改變循環(huán)變量的值,以便進(jìn)行下一次條件判斷、 依次重新執(zhí)行、,直到退出循環(huán)特點(diǎn):相比 while 和 do.while 語(yǔ)句結(jié)構(gòu)更加簡(jiǎn)潔易讀例如,輸出 1000 遍“我愛慕課網(wǎng)”,使用 for 的實(shí)現(xiàn)代碼為:需要留心的幾個(gè)小細(xì)節(jié):1、 for 關(guān)鍵字后面括號(hào)中的三個(gè)表達(dá)式必須用 “;” 隔開,三個(gè)表達(dá)式都可以省略,但 “;” 不能省略。 a. 省略“循環(huán)變量初始化”,可以在 for 語(yǔ)句之前由賦值語(yǔ)句進(jìn)行變量初始化操作,如: b. 省略“循環(huán)條件”,可能會(huì)造成循環(huán)將一直執(zhí)行下去,也就是我們常說(shuō)的“死循環(huán)”現(xiàn)象,如:在編程過程中要避免“死循環(huán)”的出現(xiàn),因此,對(duì)于上面的代碼可以在循環(huán)體中使用 break 強(qiáng)制跳出循環(huán)(關(guān)于 break 的用法會(huì)在后面介紹)。 c. 省略“循環(huán)變量變化”,可以在循環(huán)體中進(jìn)行循環(huán)變量的變化,如:2、 for 循環(huán)變量初始化和循環(huán)變量變化部分,可以是使用 “,” 同時(shí)初始化或改變多個(gè)循環(huán)變量的值,如:代碼中,初始化變量部分同時(shí)對(duì)兩個(gè)變量 i 和 j 賦初值,循環(huán)變量變化部分也同時(shí)對(duì)兩個(gè)變量進(jìn)行變化,運(yùn)行結(jié)果:3、循環(huán)條件部分可以使用邏輯運(yùn)算符組合的表達(dá)式,表示復(fù)雜判斷條件,但一定注意運(yùn)算的優(yōu)先級(jí),如:代碼中,必須同時(shí)滿足變量 i 小于 10 ,并且 i 不等于 5 時(shí)才會(huì)進(jìn)行循環(huán),輸出變量 i 的值。Java循環(huán)跳轉(zhuǎn)語(yǔ)句之 break生活中,我們經(jīng)常會(huì)因?yàn)槟承┰蛑袛嗉榷ǖ娜蝿?wù)安排。如在參加 10000 米長(zhǎng)跑時(shí),才跑了 500 米就由于體力不支,需要退出比賽。在 Java 中,我們可以使用 break 語(yǔ)句退出指定的循環(huán),直接執(zhí)行循環(huán)后面的代碼。例如,使用循環(huán)輸出 1-10的數(shù)值,其中,如果數(shù)值大于 2 ,并且為 3 的倍數(shù)則停止輸出。實(shí)現(xiàn)代碼:運(yùn)行結(jié)果:Java循環(huán)跳轉(zhuǎn)語(yǔ)句之 continuecontinue的作用是跳過循環(huán)體中剩余的語(yǔ)句執(zhí)行下一次循環(huán)。例如,打印1-10 之間所有的偶數(shù),使用 continue 語(yǔ)句實(shí)現(xiàn)代碼為:運(yùn)行結(jié)果:Java 循環(huán)語(yǔ)句之多重循環(huán)循環(huán)體中包含循環(huán)語(yǔ)句的結(jié)構(gòu)稱為多重循環(huán)。三種循環(huán)語(yǔ)句可以自身嵌套,也可以相互嵌套,最常見的就是二重循環(huán)。在二重循環(huán)中,外層循環(huán)每執(zhí)行一次,內(nèi)層循環(huán)要執(zhí)行一圈。如下所示:例如:使用 * 打印長(zhǎng)方形:實(shí)現(xiàn)代碼為:執(zhí)行流程:當(dāng) i = 1 時(shí),外層循環(huán)條件成立,進(jìn)入內(nèi)層循環(huán),開始打印第一行內(nèi)容。此時(shí), j 從 1 開始,循環(huán) 8 次,內(nèi)層循環(huán)結(jié)束后換行,實(shí)現(xiàn)第一行 8 個(gè) * 的輸出。接下來(lái)返回外層循環(huán) i 變?yōu)?2 ,準(zhǔn)備打印下一行,依此類推,直到完成長(zhǎng)方形的打印。Java scanner 類的使用任務(wù)要求:輸入三個(gè)班級(jí),每班級(jí)四名學(xué)生的總成績(jī),并求出每個(gè)班級(jí)學(xué)生成績(jī)的平均分什么是數(shù)組問:編寫代碼保存 4 名學(xué)生的考試成績(jī)。答:簡(jiǎn)單啊,定義 4 個(gè)變量唄問:那“計(jì)算全年級(jí) 400 名學(xué)生的考試成績(jī)”,腫么辦答: 。數(shù)組,就可以幫助你妥妥的解決問題啦!數(shù)組可以理解為是一個(gè)巨大的“盒子”,里面可以按順序存放多個(gè)類型相同的數(shù)據(jù),比如可以定義 int 型的數(shù)組 scores 存儲(chǔ) 4 名學(xué)生的成績(jī)數(shù)組中的元素都可以通過下標(biāo)來(lái)訪問,下標(biāo)從 0 開始。例如,可以通過scores0 獲取數(shù)組中的第一個(gè)元素 76 ,scores2 就可以取到第三個(gè)元素 92 啦!如何使用 Java 中的數(shù)組Java 中操作數(shù)組只需要四個(gè)步驟:1、 聲明數(shù)組語(yǔ)法:數(shù)據(jù)類型 數(shù)組名;或者 數(shù)據(jù)類型 數(shù)組名;其中,數(shù)組名可以是任意合法的變量名,如:2、 分配空間簡(jiǎn)單地說(shuō),就是指定數(shù)組中最多可存儲(chǔ)多少個(gè)元素語(yǔ)法:數(shù)組名 = new 數(shù)據(jù)類型 數(shù)組長(zhǎng)度 ;其中,數(shù)組長(zhǎng)度就是數(shù)組中能存放元素的個(gè)數(shù),如:話說(shuō),我們也可以將上面的兩個(gè)步驟合并,在聲明數(shù)組的同時(shí)為它分配空間,如:3、 賦值分配空間后就可以向數(shù)組中放數(shù)據(jù)了,數(shù)組中元素都是通過下標(biāo)來(lái)訪問的,例如向 scores 數(shù)組中存放學(xué)生成績(jī)4、 處理數(shù)組中數(shù)據(jù)我們可以對(duì)賦值后的數(shù)組進(jìn)行操作和處理,如獲取并輸出數(shù)組中元素的值在 Java 中還提供了另外一種直接創(chuàng)建數(shù)組的方式,它將聲明數(shù)組、分配空間和賦值合并完成,如它等價(jià)于:使用循環(huán)操作 Java 中的數(shù)組實(shí)際開發(fā)中我們經(jīng)常使用循環(huán)控制數(shù)組成員的操作。如:運(yùn)行結(jié)果:其中,數(shù)組名.length用于獲取數(shù)組的長(zhǎng)度需要注意的“小毛病”:1、數(shù)組下標(biāo)從 0 開始。因此 scores3 ,表示數(shù)組中的第 4 個(gè)元素,而并非第 3 個(gè)元素2、 數(shù)組下標(biāo)的范圍是 0 至 數(shù)組長(zhǎng)度-1,如果越界訪問,就會(huì)報(bào)錯(cuò)。如:運(yùn)行時(shí)會(huì)報(bào)如下錯(cuò)誤:上面錯(cuò)誤信息的意思是數(shù)組下標(biāo)超過范圍,即數(shù)組訪問越界。在上面的代碼中創(chuàng)建一個(gè)長(zhǎng)度為 2 的數(shù)組,因此數(shù)組下標(biāo)范圍是 0 到 1 ,而程序中下標(biāo)出現(xiàn)了 2 ,即 scores2 ,超過了范圍,造成數(shù)組訪問越界。使用 Arrays 類操作 Java 中的數(shù)組Arrays 類是 Java 中提供的一個(gè)工具類,在 java.util 包中。該類中包含了一些方法用來(lái)直接操作數(shù)組,比如可直接實(shí)現(xiàn)數(shù)組的排序、搜索等(關(guān)于類和方法的相關(guān)內(nèi)容在后面的章節(jié)中會(huì)詳細(xì)講解滴)。Arrays 中常用的方法:1、 排序語(yǔ)法:Arrays.sort(數(shù)組名);可以使用 sort( ) 方法實(shí)現(xiàn)對(duì)數(shù)組的排序,只要將數(shù)組名放在 sort( ) 方法的括號(hào)中,就可以完成對(duì)該數(shù)組的排序(按升序排列),如:運(yùn)行結(jié)果:2、 將數(shù)組轉(zhuǎn)換為字符串語(yǔ)法:Arrays.toString(數(shù)組名);可以使用 toString( ) 方法將一個(gè)數(shù)組轉(zhuǎn)換成字符串,該方法按順序把多個(gè)數(shù)組元素連接在一起,多個(gè)元素之間使用逗號(hào)和空格隔開,如:運(yùn)行結(jié)果為:輸出數(shù)組nums中的元素:25,7,126,53,14,86Arrays 類還提供了許多其他方法來(lái)操作數(shù)組此處就不一一列舉啦,各位小伙伴們可以在 wiki 查閱更多信息使用 foreach 操作數(shù)組foreach 并不是 Java 中的關(guān)鍵字,是 for 語(yǔ)句的特殊簡(jiǎn)化版本,在遍歷數(shù)組、集合時(shí), foreach 更簡(jiǎn)單便捷。從英文字面意思理解 foreach 也就是“ for每一個(gè)”的意思,那么到底怎么使用 foreach 語(yǔ)句呢?語(yǔ)法:我們分別使用 for 和foreach 語(yǔ)句來(lái)遍歷數(shù)組運(yùn)行結(jié)果:看到 foreach 的方便了吧!留個(gè)思考問題給大家:如果想在 foreach 語(yǔ)句中獲取數(shù)組元素的下標(biāo),該如何做呢?Java 中的二維數(shù)組所謂二維數(shù)組,可以簡(jiǎn)單的理解為是一種“特殊”的一維數(shù)組,它的每個(gè)數(shù)組空間中保存的是一個(gè)一維數(shù)組。那么如何使用二維數(shù)組呢,步驟如下:1、 聲明數(shù)組并分配空間或者如:2、 賦值二維數(shù)組的賦值,和一維數(shù)組類似,可以通過下標(biāo)來(lái)逐個(gè)賦值,注意索引從 0 開始也可以在聲明數(shù)組的同時(shí)為其賦值如:3、 處理數(shù)組二維數(shù)組的訪問和輸出同一維數(shù)組一樣,只是多了一個(gè)下標(biāo)而已。在循環(huán)輸出時(shí),需要里面再內(nèi)嵌一個(gè)循環(huán),即使用二重循環(huán)來(lái)輸出二維數(shù)組中的每一個(gè)元素。如:運(yùn)行結(jié)果:需要了解的:在定義二維數(shù)組時(shí)也可以只指定行的個(gè)數(shù),然后再為每一行分別指定列的個(gè)數(shù)。如果每行的列數(shù)不同,則創(chuàng)建的是不規(guī)則的二維數(shù)組,如下所示:運(yùn)行結(jié)果為:如何定義 Java 中的方法所謂方法,就是用來(lái)解決一類問題的代碼的有序組合,是一個(gè)功能模塊。一般情況下,定義一個(gè)方法的語(yǔ)法是:其中:1、 訪問修飾符:方法允許被訪問的權(quán)限范圍, 可以是 public、protected、private 甚至可以省略,其中 public 表示該方法可以被其他任何代碼調(diào)用,其他幾種修飾符的使用在后面章節(jié)中會(huì)詳細(xì)講解滴2、 返回值類型:方法返回值的類型,如果方法不返回任何值,則返回值類型指定為 void ;如果方法具有返回值,則需要指定返回值的類型,并且在方法體中使用 return 語(yǔ)句返回值3、 方法名:定義的方法的名字,必須使用合法的標(biāo)識(shí)符4、 參數(shù)列表:傳遞給方法的參數(shù)列表,參數(shù)可以有多個(gè),多個(gè)參數(shù)間以逗號(hào)隔開,每個(gè)參數(shù)由參數(shù)類型和參數(shù)名組成,以空格隔開根據(jù)方法是否帶參、是否帶返回值,可將方法分為四類:無(wú)參無(wú)返回值方法無(wú)參帶返回值方法帶參無(wú)返回值方法帶參帶返回值方法Java 中無(wú)參無(wú)返回值方法的使用如果方法不包含參數(shù),且沒有返回值,我們稱為無(wú)參無(wú)返回值的方法。方法的使用分兩步:第一步,定義方法例如:下面代碼定義了一個(gè)方法名為 show ,沒有參數(shù),且沒有返回值的方法,執(zhí)行的操作為輸出 “ welcome to imooc. ”注意哦:1、 方法體放在一對(duì)大括號(hào)中,實(shí)現(xiàn)特定的操作2、 方法名主要在調(diào)用這個(gè)方法時(shí)使用,需要注意命名的規(guī)范,一般采用第一個(gè)單詞首字母小寫,其它單詞首字母大寫的形式第二步,調(diào)用方法當(dāng)需要調(diào)用方法執(zhí)行某個(gè)操作時(shí),可以先創(chuàng)建類的對(duì)象,然后通過 對(duì)象名.方法名();來(lái)實(shí)現(xiàn)(關(guān)于類和對(duì)象的概念在后面章節(jié)中會(huì)詳細(xì)講解滴,先熟悉語(yǔ)法,表著急哦)例如:在下面的代碼中,我們創(chuàng)建了一個(gè)名為 hello 的對(duì)象,然后通過調(diào)用該對(duì)象的 show( )方法輸出信息運(yùn)行結(jié)果為:welcome to imooc.Java 中無(wú)參帶返回值方法的使用如果方法不包含參數(shù),但有返回值,我們稱為無(wú)參帶返回值的方法。例如:下面的代碼,定義了一個(gè)方法名為 calSum ,無(wú)參數(shù),但返回值為 int 類型的方法,執(zhí)行的操作為計(jì)算兩數(shù)之和,并返回結(jié)果在 calSum( ) 方法中,返回值類型為 int 類型,因此在方法體中必須使用 return 返回一個(gè)整數(shù)值。調(diào)用帶返回值的方法時(shí)需要注意,由于方法執(zhí)行后會(huì)返回一個(gè)結(jié)果,因此在調(diào)用帶返回值方法時(shí)一般都會(huì)接收其返回值并進(jìn)行處理。如:運(yùn)行結(jié)果為:兩數(shù)之和為:17不容忽視的“小陷阱”:1、 如果方法的返回類型為 void ,則方法中不能使用 return 返回值!2、 方法的返回值最多只能有一個(gè),不能返回多個(gè)值3、 方法返回值的類型必須兼容,例如,如果返回值類型為 int ,則不能返回 String 型值Java 中帶參無(wú)返回值方法的使用有時(shí)方法的執(zhí)行需要依賴于某些條件,換句話說(shuō),要想通過方法完成特定的功能,需要為其提供額外的信息才行。例如,現(xiàn)實(shí)生活中電飯鍋可以實(shí)現(xiàn)“煮飯”的功能,但前提是我們必須提供食材,如果我們什么都不提供,那就真是的“巧婦難為無(wú)米之炊”了。我們可以通過在方法中加入?yún)?shù)列表接收外部傳入的數(shù)據(jù)信息,參數(shù)可以是任意的基本類型數(shù)據(jù)或引用類型數(shù)據(jù)。我們先來(lái)看一個(gè)帶參數(shù),但沒有返回值的方法:上面的代碼定義了一個(gè) show 方法,帶有一個(gè)參數(shù) name ,實(shí)現(xiàn)輸出歡迎消息。調(diào)用帶參方法與調(diào)用無(wú)參方法的語(yǔ)法類似,但在調(diào)用時(shí)必須傳入實(shí)際的參數(shù)值例如:運(yùn)行結(jié)果為:歡迎您,愛慕課!很多時(shí)候,我們把定義方法時(shí)的參數(shù)稱為形參,目的是用來(lái)定義方法需要傳入的參數(shù)的個(gè)數(shù)和類型;把調(diào)用方法時(shí)的參數(shù)稱為實(shí)參,是傳遞給方法真正被處理的值。一定不可忽視的問題:1、 調(diào)用帶參方法時(shí),必須保證實(shí)參的數(shù)量、類型、順序與形參一一對(duì)應(yīng)2、 調(diào)用方法時(shí),實(shí)參不需要指定數(shù)據(jù)類型,如3、 方法的參數(shù)可以是基本數(shù)據(jù)類型,如 int、double 等,也可以是引用數(shù)據(jù)類型,如 String、數(shù)組等4、 當(dāng)方法參數(shù)有多個(gè)時(shí),多個(gè)參數(shù)間以逗號(hào)分隔Java 中帶參帶返回值方法的使用如果方法既包含參數(shù),又帶有返回值,我們稱為帶參帶返回值的方法。例如:下面的代碼,定義了一個(gè) show 方法,帶有一個(gè)參數(shù) name ,方法執(zhí)行后返回一個(gè) String 類型的結(jié)果調(diào)用帶參帶返回值的方法:運(yùn)行結(jié)果為:歡迎您,愛慕課!任務(wù)實(shí)現(xiàn)功能:將考試成績(jī)排序并輸出,返回成績(jī)的個(gè)數(shù)實(shí)現(xiàn)思路:1、 定義一個(gè)包含整型數(shù)組參數(shù)的方法,用來(lái)傳入成績(jī)數(shù)組2、在方法體中使用 Arrays.sort( ) 方法對(duì)成績(jī)數(shù)組進(jìn)行排序,然后使用 Arrays.toString( ) 方法將數(shù)組轉(zhuǎn)換為字符串并輸出,最后使用 return 返回?cái)?shù)組中元素的個(gè)數(shù)。3、調(diào)用方法時(shí)需要先創(chuàng)建對(duì)象,然后再調(diào)用.調(diào)用時(shí)為其傳入成績(jī)數(shù)組,并獲取方法的返回值,保存在變量中,最后輸出成績(jī)的個(gè)數(shù)。請(qǐng)將編輯器中的第9、20、25行代碼填寫完整運(yùn)行結(jié)果:Java 中方法的重載問: 什么是方法的重載呢?答: 如果同一個(gè)類中包含了兩個(gè)或兩個(gè)以上方法名相同、方法參數(shù)的個(gè)數(shù)、順序或類型不同的方法,則稱為方法的重載,也可稱該方法被重載了。如下所示 4 個(gè)方法名稱都為 show ,但方法的參數(shù)有所不同,因此都屬于方法的重載:?jiǎn)枺?如何區(qū)分調(diào)用的是哪個(gè)重載方法呢?答: 當(dāng)調(diào)用被重載的方法時(shí), Java 會(huì)根據(jù)參數(shù)的個(gè)數(shù)和類型來(lái)判斷應(yīng)該調(diào)用哪個(gè)重載方法,參數(shù)完全匹配的方法將被執(zhí)行。如:運(yùn)行結(jié)果:判斷方法重載的依據(jù):1、 必須是在同一個(gè)類中2、 方法名相同3、 方法參數(shù)的個(gè)數(shù)、順序或類型不同4、 與方法的修飾符或返回值沒有關(guān)系編程練習(xí)小伙伴們,請(qǐng)根據(jù)所學(xué)知識(shí),編寫一個(gè) JAVA 程序,實(shí)現(xiàn)輸出考試成績(jī)的前三名要求:1、 考試成績(jī)已保存在數(shù)組 scores 中,數(shù)組元素依次為 89 , -23 , 64 , 91 , 119 , 52 , 732、 要求通過自定義方法來(lái)實(shí)現(xiàn)成績(jī)排名并輸出操作,將成績(jī)數(shù)組作為參數(shù)傳入3、 要求判斷成績(jī)的有效性( 0100 ),如果成績(jī)無(wú)效,則忽略此成績(jī)運(yùn)行效果:任務(wù)一、 定義一個(gè)包含整型數(shù)組參數(shù)的方法,用來(lái)接收成績(jī)數(shù)組,進(jìn)行成績(jī)排序并輸出前三名提示: 1、 在方法中使用 Arrays 類的 sort( ) 方法對(duì)數(shù)組進(jìn)行排序,默認(rèn)按升序排列,注意 Arrays 類的使用需要導(dǎo)入 java.util.Arrays 2、 由于只需要輸出考試成績(jī)的前三名,所以定義一個(gè)變量,統(tǒng)計(jì)有效成績(jī)的前三名的數(shù)量 3、 使用 for 循環(huán)遍歷數(shù)組中的元素,由于要輸出的是前三名成績(jī),所以從后往前遍歷,即倒序遍歷 如 for ( int i = scores.length - 1; i = 0; i- ) 4、 判斷成績(jī)的有效性,如果成績(jī)小于 0 或大于 100 ,則使用 continue 忽略此成績(jī) 5、 如果成績(jī)有效,則有效成績(jī)數(shù)加 1 。判斷有效成績(jī)的個(gè)數(shù),如果

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論