java基礎(chǔ)班day4方法數(shù)組_第1頁
java基礎(chǔ)班day4方法數(shù)組_第2頁
java基礎(chǔ)班day4方法數(shù)組_第3頁
java基礎(chǔ)班day4方法數(shù)組_第4頁
java基礎(chǔ)班day4方法數(shù)組_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、方法、數(shù)組回歸1. 條件選擇結(jié)構(gòu) ififif esleif esle-if(多個) else2. 條件選擇結(jié)構(gòu) switchswitch(變量名)case 變量可能的值 1:功能語句;break;case 變量可能的值 2:功能語句;break;.default:功能語句;break;3. 三種循環(huán)while do-while forwhile(值 或者 結(jié)果為的表達(dá)式)while(這里的條件為 false 結(jié)束循環(huán))do/ 先執(zhí)行這個大括號,然后判斷 while 條件,如果為true 就繼續(xù)執(zhí)行此大括號的內(nèi)容while(條件值 或者 結(jié)果為的表達(dá)式);for(初始化語句 A;判斷條件 B;

2、 功能語句 C)/循環(huán)體D4. 循環(huán)控制語句break:中止當(dāng)前這一層循環(huán)a:for()b:for()break a;語法格式 break acontinue:跳過本次循環(huán),繼續(xù)下一次循環(huán)return:不僅中止整個循環(huán),還中止了整個方法的執(zhí)行一、 方法掌握1. 引入方法,也叫 函數(shù),但是一般在 java 中都叫 方法(在其他地方看到 函數(shù) ,它其實就是指 方法)。 思考:第一次聽說方法是什么時候?示例:1) 設(shè)計一段代碼,計算 1-10 的和(舉例代碼演示)2)還有個需求,計算 1-1000 的和,怎么做?比較上面的代碼區(qū)別,都比較類似,唯一不同的地方是在哪里?希望設(shè)計一段代碼,能夠同時滿足求

3、 1-n 的和,怎么辦?可以用方法來解決方法2.?方法看成是一個整體,比如上面的這個圈,既然可以看成一個整體,那么這個圈里是不是可以包含 1-n 的求和的代碼方法這里是 1-n 的求和代碼3. 怎么設(shè)計需求:設(shè)計一個方法,完成計算任意兩個整數(shù)的和的功能!1) 拷貝一個主方法,然后修改思考一下拷貝的這個方法應(yīng)該放在什么地方?2) 完成此方法的功能就是此方法的設(shè)計者,設(shè)計這個方法需要哪些步驟呢?a)需要做什么事情?(計算任意兩個整數(shù)的和)b) 計算哪兩個數(shù)?定義兩個變量準(zhǔn)備用來接收使用者給兩個整數(shù)這兩個變量定義在方法的()中在設(shè)計的時候,兩個變量是沒有具體數(shù)據(jù)的,可以當(dāng)成這兩個變量是有數(shù)據(jù)的c)

4、方法設(shè)計完了,然后呢?使用(調(diào)用)方法,現(xiàn)在是使用者,對于使用者而言,不用關(guān)心方法是如何計算的(應(yīng)該把方法看成一個整體)方法有sic 修飾: 類名.方法名()方法沒有sic 修飾: 對象名.方法名()如果調(diào)用的方法和被調(diào)用的方法同時在一個類中,并且同時有 sic 或者同時沒有 sic:方法名()d) 上面計算 2 個數(shù)的和的方法怎么調(diào)用?寫在哪里?主方法:是程序的,放在主方法里,jvm 可以間接的調(diào)用定義的方法。 問題?剛才定義了一個 2 個參數(shù)的方法,那可不可以直接方法名() 去調(diào)用呢?在使用的時候,應(yīng)該告訴方法,計算哪兩個整數(shù)4. 定義語法方法的 返回類型 和 方法名字 必須定義在一個類中

5、不能 同時存在 相同名字 和 參數(shù)類型個數(shù)一模一樣 的方法修飾符 返回類型 方法名字(數(shù)據(jù)類型 變量名,數(shù)據(jù)類型 變量名,)在方法的代碼塊區(qū)域返回結(jié)果值的語法: return 返回和方法返回類型相同的值; jvm 是怎么來判斷 相同名字 和參數(shù)類型的方法?-方法簽名:方法名+參數(shù)列表(和參數(shù)的名字沒有關(guān)系,只是和參數(shù)的類型 ,個數(shù),順序有關(guān))5. 常見問題1) 調(diào)用的時候參數(shù)不一致調(diào)用的時候,調(diào)用的實際參數(shù)的類型和個數(shù)必須 和被調(diào)用的方法的參數(shù)類型和個數(shù)一模一樣(包括順序)2) sic main 方法調(diào)用一個非 sic 方法6. 總結(jié)在一個類中,用sic 修飾的方法只能調(diào)用 同樣是 sic 修

6、飾的方法實參列表 和 形參參數(shù)個數(shù)和類型必須一一對應(yīng)。在一個類中不能定義一樣的名字 和 相同形參類型和個數(shù) 的方法。把一個方法看成是能夠獨立完成某個功能的一段代碼,把一個方法看成是一個整體我是一個方法從兩方面去看:1) 使用者a) 不用關(guān)心方法的代碼是如何寫b) 如何使用(調(diào)用)c) 方法形式參數(shù)d) 方法的執(zhí)行結(jié)果2) 設(shè)計者a) 實現(xiàn)什么功能,要做什么事情b) 形式參數(shù):用戶在調(diào)用方法的時候傳入什么已知條件c) 執(zhí)行完畢的結(jié)果如何處理7. 方法return1) 引入設(shè)計一個方法求任意兩個整數(shù)的和,之前代碼是怎么寫的?在上面的方法基礎(chǔ)之上,計算 3 個整數(shù)的和a) 使用這個方法,先計算兩個的

7、和 sum,再調(diào)用一次,然后 sum 和另外一個數(shù)求和從代碼上看,這個求和的方法只能夠傳入兩個b) 希望上面的方法計算完畢之后不打印,得到計算之后的一個結(jié)果值。那可以用 return 來返回結(jié)果值2) 示例要求:計算 2 個整數(shù)的和,然后把計算的結(jié)果返回給調(diào)用者。1) 方法里寫上 return 返回值(定義個 sum 變量存放求和的結(jié)果并返回)return sum;/表示把 sum 變量中的值返回給調(diào)用者2) 修改返回類型方法的返回了一個數(shù)據(jù),數(shù)據(jù)的類型是,所以 void 修改成注意:把 sum 變量中的值返回給調(diào)用者,不是返回 sum 這個變量3) 方法里面返回的變量 sum 值,是否可以在

8、調(diào)用的方法里面直接使用?方法里面的變量 sum 只能在所在方法里面才能,其他方法不能4) 怎么獲得結(jié)果值?把 add 方法這個整體 看成是 此方法計算完畢的結(jié)果值直接把方法整體放在打印語句中打印(把方法看成是整體)a)b)可以定義一個變量接收 方法結(jié)果值c) 把方法整體看成是一個值,參與運算 思考:直接打印 方法整體,還是 把方法結(jié)果值定義一個變量存起來再去打印 ,哪種方式更好一些?5) 畫圖分析整個過程3) 常見問題定義了一個有返回類型的方法,但是調(diào)用的時候沒有放在打印語句中例如:add(1,2);在調(diào)用方法的里面去打印輸出 被調(diào)用方法里面的變量add 方法中定義的返回變量 sum 的值,這

9、個 sum 局部變量 只能在 add 方法,而主方法中無法(作用域不同)沒有返回任何東西,也就是返回類型為 void,去打印輸出(或者使用變量接收)方法返回值如果一個方法的返回類型不是 void,那么要求(不管方法里面做了什么事情)都必須返回一個和 返回值類型匹配的值上面的代碼:編譯器只看結(jié)構(gòu),不看其中的值,編譯器看到的是一個 if 結(jié)構(gòu)上面的代碼:編譯器看到結(jié)構(gòu)是 if-else,始終都會執(zhí)行一部分,而這 2 部分都有 return4)應(yīng)用場景一般來說就是如果需要方法返回一個結(jié)果值,那么就 return(一般做一些數(shù)算都需要使用返回值)設(shè)計一個方法:打印用戶傳入的字符串,思考是否需要返回值?

10、8.方法重載(overload)1)引入定義一個 add 方法,求 2 個整數(shù)的和舉例,定義不同方法,滿足下面要求:2 個整數(shù)和,3 個整數(shù)和,4 個整數(shù)的和.2)概念方法重載:是指在一個類中定義多個同名的方法,但要求每個方法具有不同的參數(shù)列表(類型個數(shù)順序)。如果一個類中存在了多個名字一樣的方法而編譯不報錯,那么肯定就是重載注意:方法重載和參數(shù)名字沒有關(guān)系。和 返回值類型 和 修飾符也沒有關(guān)系。3)作用 多個方法寫成重載關(guān)系好處? 方便。典型的方法重載示例:System.out.pr ln(多個不同類型);4)問題 能否把一個類中的所有方法全部定義一個名字?舉例:求 2 個整數(shù)的和,求 3

11、個整數(shù)的和求 3 個整數(shù)的積,求 3 個整數(shù)的積不建議,一個類中所有方法都是一個名字,每一個名字都應(yīng)該是有意義的二、 數(shù)組掌握1.認(rèn)識數(shù)組1)數(shù)組2) 學(xué)習(xí)數(shù)組用2.引入示例:計算 1000 個任意整數(shù)的和形參和實參太長,使用不方便,可讀性太差可以定義一個變量容器,存放多個數(shù)據(jù)再舉個例子,比如超市的存放物品的柜子 剛才舉的例子需要存放多個數(shù)據(jù),那在 java 里面存放多個數(shù)據(jù)是用什么來實現(xiàn)的?可以使用 數(shù)組,接下來來學(xué)習(xí)數(shù)組?數(shù)組3.數(shù)組可以理解成一個巨大的盒子,里面可以按順序存放多個類型相同的數(shù)據(jù)。數(shù)組元素:就是存放在數(shù)組里面的數(shù)據(jù)數(shù)組索引:就是數(shù)組里面每個數(shù)據(jù)的,從 0 開始接下來需要學(xué)習(xí)

12、它,使用它。示例:假設(shè)存放 5 個人的用數(shù)組存放應(yīng)該怎么做?1) 先必須定義一個數(shù)組2) 把數(shù)據(jù)放進去3) 如何把數(shù)組中的數(shù)據(jù)取出來4. 怎么定義A. 動態(tài)創(chuàng)建語法格式:數(shù)據(jù)類型 數(shù)組變量名 = new 數(shù)據(jù)類型數(shù)組長度;賦值的語法格式:數(shù)組變量名從 0 開始 到 數(shù)組長度的任意索引 = 值;示例:1) 定義 ages = new5;2) 把數(shù)據(jù)放進去ages0 = 15;/ 表示把 15 放在ages 數(shù)組中的第一個位置ages1 = 19;/ 表示把 19 放在ages 數(shù)組中的第二個位置3) 取出來a) 取出 ages 中第一個數(shù)據(jù)進行打印System.out.pr ln(ages0);

13、b) 參與運算,例如把第一個 和 第二個加起來System.out.pr ln(ages0+ages1);c) 可以使用其他的變量來x = ages0;數(shù)組的值上面動態(tài)創(chuàng)建數(shù)組是后立即賦值創(chuàng)建,還可以 先再賦值示例: ages;ages = new5;動態(tài)創(chuàng)建好數(shù)組之后,會自動分配默認(rèn)值,和數(shù)組中的元素類型有關(guān)(類似之前成員變量的默認(rèn)值)示例:定義一個存放的數(shù)組。B. javJVM 的堆:期等棧:周期分接下來,針對剛剛的代碼示例,分析一下內(nèi)存結(jié)構(gòu)a數(shù)據(jù)分析內(nèi)存分析-幫助理解代碼可以理解為凡是new 出來的東西都放在這里面,堆內(nèi)存可以被虛擬機動態(tài)的分配內(nèi)存大小,無需事先告訴編譯器的數(shù)據(jù)的大小、生

14、命周相關(guān)信息主要存放一些變量容器名 (例如局部變量名,還可以存放局部變量 基本類型 數(shù)據(jù)值),棧內(nèi)存被要求存放在其中的數(shù)據(jù)的大小、生命必須是已經(jīng)確定的析上面數(shù)組在內(nèi)存中的結(jié)構(gòu)棧 堆C. 靜態(tài)創(chuàng)建假設(shè)我現(xiàn)在有一個數(shù)組,存放各位同學(xué)的,比100 個100 個存放需要一個一個的賦值。靜態(tài)創(chuàng)建數(shù)組:在創(chuàng)建數(shù)組的時候把已知的元素直接放進去示例: ages = new19,18,29,30,18,19;長度是創(chuàng)建的時候其中的數(shù)據(jù)個數(shù)決定的方式一:方式二(簡寫):靜態(tài)創(chuàng)建的時候一般是一些有意義的初始值而已,能夠更改。注意:靜態(tài)創(chuàng)建的簡寫形式必須是數(shù)組的時候同時賦值,不能夠先再賦值5.數(shù)組特點一個數(shù)組可以多個元素一旦數(shù)組對象被創(chuàng)建好,那么其長度就固定不變了6. 如何使用1) 直

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論