![第三章_Java基礎(chǔ)語法[下]_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/3/5913aaf9-b9e2-4e32-8050-c506d503e836/5913aaf9-b9e2-4e32-8050-c506d503e8361.gif)
![第三章_Java基礎(chǔ)語法[下]_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/3/5913aaf9-b9e2-4e32-8050-c506d503e836/5913aaf9-b9e2-4e32-8050-c506d503e8362.gif)
![第三章_Java基礎(chǔ)語法[下]_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/3/5913aaf9-b9e2-4e32-8050-c506d503e836/5913aaf9-b9e2-4e32-8050-c506d503e8363.gif)
![第三章_Java基礎(chǔ)語法[下]_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/3/5913aaf9-b9e2-4e32-8050-c506d503e836/5913aaf9-b9e2-4e32-8050-c506d503e8364.gif)
![第三章_Java基礎(chǔ)語法[下]_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/3/5913aaf9-b9e2-4e32-8050-c506d503e836/5913aaf9-b9e2-4e32-8050-c506d503e8365.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第三章第三章JavaJava基礎(chǔ)語法基礎(chǔ)語法本章內(nèi)容l方法l數(shù)組方法概述l方法概述程序中我們不可能在一個(gè)地方寫很多代碼,我們經(jīng)常會(huì)把很多代碼按照功能進(jìn)行提取,所提取出來的代碼可以被看作是程序中定義的一個(gè)方法,那么這個(gè)方法可以在任何地方進(jìn)行調(diào)用,定義方法的目的也是復(fù)用,不能到處copy。方法定義及格式l簡(jiǎn)單的說:方法就是完成特定功能的代碼塊在很多語言里面都有函數(shù)的定義函數(shù)在Java中被稱為方法l格式:修飾符 返回值類型 方法名(參數(shù)類型 參數(shù)名1,參數(shù)類型 參數(shù)名2) 函數(shù)體;return 返回值; 方法格式的解釋說明l方法格式解釋修飾符 比較多,后面會(huì)詳細(xì)介紹。目前public static返
2、回值類型: 用于限定返回值的數(shù)據(jù)類型方法名 :一個(gè)名稱,為了方便我們調(diào)用方法參數(shù):實(shí)際參數(shù):就是實(shí)際參與運(yùn)算的。形式參數(shù):是方法定義上的,用于接收實(shí)際參數(shù)的參數(shù)名 :是一個(gè)變量,接收調(diào)用方法時(shí)傳入的參數(shù)方法體::完成功能的代碼return :結(jié)束方法以及返回方法指定類型的值 返回值 :程序被return帶回的結(jié)果,返回給調(diào)用者方法案例l如何寫一個(gè)方法呢?兩個(gè)明確返回值類型 明確功能結(jié)果的數(shù)據(jù)類型參數(shù)列表 明確有幾個(gè)參數(shù),以及參數(shù)的類型方法必須寫在類里面l按照格式和兩個(gè)明確來完成如下功能求兩個(gè)數(shù)據(jù)之和的案例特點(diǎn):不調(diào)用不執(zhí)行。有明確返回值的方法調(diào)用l有明確返回值的方法調(diào)用:?jiǎn)为?dú)調(diào)用,沒有意義輸出
3、調(diào)用,有意義,但是不夠好,因?yàn)槲也灰欢ǚ且呀Y(jié)果輸出賦值調(diào)用,推薦方式l講解完畢該案例后,畫圖說明方法的調(diào)用過程方法注意事項(xiàng)l方法不調(diào)用不執(zhí)行l(wèi)方法與方法是平級(jí)關(guān)系,不能嵌套定義l方法定義的時(shí)候參數(shù)之間用逗號(hào)隔開l方法調(diào)用的時(shí)候不用在傳遞數(shù)據(jù)類型l如果方法有明確的返回值,一定要有return帶回一個(gè)值有明確返回值的方法練習(xí)l鍵盤錄入兩個(gè)數(shù)據(jù),返回兩個(gè)數(shù)中的較大值l鍵盤錄入兩個(gè)數(shù)據(jù),比較兩個(gè)數(shù)是否相等l鍵盤錄入三個(gè)數(shù)據(jù),返回三個(gè)數(shù)中的最大值沒有明確返回值的方法調(diào)用l沒有明確返回值的函數(shù)調(diào)用:其實(shí)就是void類型方法的調(diào)用只能單獨(dú)調(diào)用返回值為void類型的方法練習(xí)l鍵盤錄入行數(shù)和列數(shù),輸出對(duì)應(yīng)的星
4、形l鍵盤錄入一個(gè)數(shù)據(jù)n(1=n=9),輸出對(duì)應(yīng)的nn乘法表方法重載l方法重載概述在同一個(gè)類中,允許存在一個(gè)以上的同名方法,只要它們的參數(shù)個(gè)數(shù)或者參數(shù)類型不同即可。l方法重載特點(diǎn)與返回值類型無關(guān),只看方法名和參數(shù)列表在調(diào)用時(shí),虛擬機(jī)通過參數(shù)列表的不同來區(qū)分同名方法方法重載案例l比較兩個(gè)數(shù)據(jù)是否相等。參數(shù)類型分別為兩個(gè)byte類型,兩個(gè)short類型,兩個(gè)int類型,兩個(gè)long類型,并在main方法中進(jìn)行測(cè)試l方法遞歸在IO之前詳細(xì)講解數(shù)組概述l數(shù)組概述需求:現(xiàn)在需要統(tǒng)計(jì)某公司員工的工資情況,例如計(jì)算平均工資、找到最高工資等。假設(shè)該公司有80名員工,用前面所學(xué)的知識(shí),程序首先需要聲明80個(gè)變量來
5、分別記住每位員工的工資,然后在進(jìn)行操作,這樣做會(huì)顯得很麻煩。為了解決這種問題,Java就提供了數(shù)組供我們使用。那么數(shù)組到底是什么呢?有什么特點(diǎn)呢?通過上面的分析:我們可以得到如下兩句話:數(shù)組是存儲(chǔ)多個(gè)變量(元素)的東西(容器)這多個(gè)變量的數(shù)據(jù)類型要一致數(shù)組概念l數(shù)組概念數(shù)組是存儲(chǔ)同一種數(shù)據(jù)類型多個(gè)元素的集合。也可以看成是一個(gè)容器。數(shù)組既可以存儲(chǔ)基本數(shù)據(jù)類型,也可以存儲(chǔ)引用數(shù)據(jù)類型。l數(shù)組的定義格式格式1:數(shù)據(jù)類型 數(shù)組名;格式2:數(shù)據(jù)類型 數(shù)組名;注意:這兩種定義做完了,數(shù)組中是沒有元素值的。 如何對(duì)數(shù)組的元素進(jìn)行初始化呢?數(shù)組的初始化l數(shù)組初始化概述:Java中的數(shù)組必須先初始化,然后才能使
6、用。所謂初始化:就是為數(shù)組中的數(shù)組元素分配內(nèi)存空間,并為每個(gè)數(shù)組元素賦值。l數(shù)組的初始化方式動(dòng)態(tài)初始化:初始化時(shí)只指定數(shù)組長(zhǎng)度,由系統(tǒng)為數(shù)組分配初始值。靜態(tài)初始化:初始化時(shí)指定每個(gè)數(shù)組元素的初始值,由系統(tǒng)決定數(shù)組長(zhǎng)度。數(shù)組的初始化l動(dòng)態(tài)初始化:初始化時(shí)只指定數(shù)組長(zhǎng)度,由系統(tǒng)為數(shù)組分配初始值。格式:數(shù)據(jù)類型 數(shù)組名 = new 數(shù)據(jù)類型數(shù)組長(zhǎng)度;new : 為數(shù)組分配內(nèi)存空間數(shù)組長(zhǎng)度其實(shí)就是數(shù)組中元素的個(gè)數(shù)。舉例:int arr = new int3;解釋:定義了一個(gè)int類型的數(shù)組,這個(gè)數(shù)組中可以存放3個(gè)int類型的值。Java中的內(nèi)存分配lJava 程序在運(yùn)行時(shí),需要在內(nèi)存中的分配空間。為了
7、提高運(yùn)算效率,就對(duì)空間進(jìn)行了不同區(qū)域的劃分,因?yàn)槊恳黄瑓^(qū)域都有特定的處理數(shù)據(jù)方式和內(nèi)存管理方式。棧 存儲(chǔ)局部變量堆 存儲(chǔ)new出來的東西方法區(qū) (面向?qū)ο蟛糠种v)本地方法區(qū) (和系統(tǒng)相關(guān))寄存器 (給CPU使用)Java中數(shù)組的內(nèi)存圖解l圖解1:定義一個(gè)數(shù)組,輸出數(shù)組名及元素。然后給數(shù)組中的元素賦值,再次輸出數(shù)組名及元素。l圖解2:定義兩個(gè)數(shù)組,分別輸出數(shù)組名及元素。然后分別給數(shù)組中的元素賦值,分別再次輸出數(shù)組名及元素。l圖解3:定義兩個(gè)數(shù)組,先定義一個(gè)數(shù)組,賦值,輸出。然后定義第二個(gè)數(shù)組的時(shí)候把第一個(gè)數(shù)組的地址賦值給第二個(gè)數(shù)組。然后給第二個(gè)數(shù)組賦值,再次輸出兩個(gè)數(shù)組的名及元素。數(shù)組的初始化l
8、靜態(tài)初始化:初始化時(shí)指定每個(gè)數(shù)組元素的初始值,由系統(tǒng)決定數(shù)組長(zhǎng)度。格式:數(shù)據(jù)類型 數(shù)組名 = new 數(shù)據(jù)類型元素1,元素2,;舉例:int arr = new int1,2,3;解釋:定義了一個(gè)int類型的數(shù)組,這個(gè)數(shù)組中可以存放3個(gè)int類型的值,并且值分別是1,2,3。其實(shí)這種寫法還有一個(gè)簡(jiǎn)化的寫法int arr = 1,2,3;數(shù)組操作常見的兩個(gè)小問題l數(shù)組索引越界ArrayIndexOutOfBoundsException訪問到了數(shù)組中的不存在的索引時(shí)發(fā)生。l空指針異常NullPointerException數(shù)組引用沒有指向?qū)嶓w,卻在操作實(shí)體中的元素時(shí)。數(shù)組練習(xí)(常見操作)l數(shù)組遍歷
9、(依次輸出數(shù)組中的每一個(gè)元素)l數(shù)組獲取最值(獲取數(shù)組中的最大值最小值)l數(shù)組元素逆序 (就是把元素對(duì)調(diào))l數(shù)組查表法(根據(jù)鍵盤錄入索引,查找對(duì)應(yīng)星期)l數(shù)組元素查找(查找指定元素第一次在數(shù)組中出現(xiàn)的索引)l數(shù)組排序和二分查找(后面在數(shù)組高級(jí)部分講解)二維數(shù)組概述l二維數(shù)組概述一個(gè)班有很多個(gè)學(xué)生,所以,可以用數(shù)組來存儲(chǔ),而我們又同時(shí)有很多個(gè)班。這個(gè)也應(yīng)該用一個(gè)數(shù)組來存儲(chǔ)。如何來表示這樣的數(shù)據(jù)呢?Java就提供了二維數(shù)組供我們使用。由此可見:二維數(shù)組其實(shí)就是一個(gè)元素為一維數(shù)組的數(shù)組。二維數(shù)組定義格式l格式1數(shù)據(jù)類型 變量名 = new 數(shù)據(jù)類型mn;m表示這個(gè)二維數(shù)組有多少個(gè)一維數(shù)組n表示每一個(gè)
10、一維數(shù)組的元素個(gè)數(shù)舉例:int arr = new int32;定義了一個(gè)二維數(shù)組arr這個(gè)二維數(shù)組有3個(gè)一維數(shù)組,名稱是arr0,arr1,arr2每個(gè)一維數(shù)組有2個(gè)元素,可以通過arrmn來獲取表示獲取第m+1個(gè)一維數(shù)組的第n+1個(gè)元素二維數(shù)組定義格式l格式2數(shù)據(jù)類型 變量名 = new 數(shù)據(jù)類型m;m表示這個(gè)二維數(shù)組有多少個(gè)一維數(shù)組這一次沒有直接給出一維數(shù)組的元素個(gè)數(shù),可以動(dòng)態(tài)的給出。舉例:int arr = new int3;arr0 = new int2;arr1 = new int3arr2 = new int1;二維數(shù)組定義格式l格式3數(shù)據(jù)類型 變量名 = new 數(shù)據(jù)類型元素,元素,元素;簡(jiǎn)化版格式:數(shù)據(jù)類型 變量名 = 元素,元素,元素;舉例:int arr = 1,2,3,4,6,6;二維數(shù)組練習(xí)l二維數(shù)組遍歷l公司每季度銷售和及
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 炎癥性腸炎的護(hù)理常規(guī)
- 財(cái)務(wù)管理核心流程優(yōu)化與控制
- 單詞挑戰(zhàn)賽課件
- 醫(yī)藥收貨驗(yàn)收工作總結(jié)
- 未來教育發(fā)展藍(lán)圖
- 征信合規(guī)與信息安全培訓(xùn)
- 外科護(hù)理學(xué)第20章膿胸
- 住院患者低血糖的表現(xiàn)及護(hù)理
- 2025年商業(yè)寫字樓智能化初步設(shè)計(jì)評(píng)估與智能化改造案例研究報(bào)告
- 基于流體動(dòng)力學(xué)的儲(chǔ)能電池?zé)峁芾硐到y(tǒng)研究報(bào)告
- 借款合同模版
- 義務(wù)教育英語課程標(biāo)準(zhǔn)(2022年版)
- 荊州中學(xué)2024-2025高二學(xué)年下學(xué)期6月月考 英語答案
- 2018-2022北京高中合格考生物匯編:基因的表達(dá)
- 2025至2030中國(guó)IT運(yùn)維管理行業(yè)發(fā)展趨勢(shì)分析與未來投資戰(zhàn)略咨詢研究報(bào)告
- 新生兒病區(qū)??评碚摽荚囶}庫
- 健康評(píng)估咳嗽咳痰課件
- 白酒酒店合作合同協(xié)議書
- 中國(guó)融通農(nóng)業(yè)發(fā)展有限集團(tuán)有限公司招聘筆試題庫2025
- 實(shí)驗(yàn)室通風(fēng)系統(tǒng)工程施工方案
- 2024淮安市專業(yè)技術(shù)人員繼續(xù)教育試題參考答案
評(píng)論
0/150
提交評(píng)論