




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Java課程內(nèi)容復(fù)習(xí)常見的術(shù)語Java包ImportJava標(biāo)識(shí)符Java數(shù)據(jù)類型引用類型JVM內(nèi)存Java方法method流程控制語句Java數(shù)組數(shù)組的遍歷面向?qū)ο竺嫦驅(qū)ο蟮娜筇匦許tatic接口異常2014-9-20星期六常見術(shù)語JDKJava開發(fā)工具包JDK6.0src.zipJDK的源代碼java.lang.StringjavacjavaJREJava運(yùn)行環(huán)境+環(huán)境變量
lib\rt.jar壓縮包壓縮比和zip一樣GCJava內(nèi)存垃圾收集機(jī)制GC線程非常消耗系統(tǒng)資源
GC比較懶惰機(jī)制lazy
對(duì)象何時(shí)成為系統(tǒng)垃圾?如果一個(gè)對(duì)象沒有任何引用指向,就會(huì)成為系統(tǒng)垃圾
Studentstu=newStudent();stu=null;API應(yīng)用編程接口Java特指JavaDoc文檔
javadoc借助于Eclipse工具也能夠調(diào)用javadocIDE集成開發(fā)環(huán)境MyEclipse8.5常見術(shù)語JVMJava虛擬機(jī)
javaHelloWorldjava命令啟動(dòng)JVM進(jìn)程,加載HelloWorld.class
到Code區(qū),執(zhí)行HelloWorld.main()主線程
main方法是Java應(yīng)用程序唯一的入口方法
Studentstu=newStudent();JVM會(huì)先加載Student類Student.class入Code區(qū)
newStudent();在堆區(qū)分配空間,創(chuàng)建Student類的對(duì)象,將對(duì)象的地址返回。賦值給stu引用(棧區(qū))
="Tom";
通過stu引用訪問對(duì)象的屬性,給其賦值"Tom"stu.study("JavaSE");
調(diào)用stu對(duì)象的study方法針對(duì)stu對(duì)象調(diào)用方法區(qū)中Student類的study方法Java包Java包:package好處:1)便于類的分門別類管理
day01day02day02
包的命名規(guī)范:全部小寫公司域名到過寫.項(xiàng)目名.子模塊名
com.tarena.javase.day01Hello.javacom.tarena.javase.day02Hello.javacn.ibm.crm.entitycn.ibm.crm.serviceimport2)類名全球唯一
Date類java.util.Datejava.sql.Datepackage語句只能作為類的第一行有效代碼import語句導(dǎo)入在類中聲明使用的類在哪個(gè)包下
importjava.util.Arrays;importjava.util.Scanner;importjava.util.*;可以代替util包下所有的類名注意:只能管到當(dāng)前包下的類不含子包效率偏低
java.lang包由于經(jīng)常用到,無需import直接使用
java.lang.StringSystemMathJava標(biāo)識(shí)符Java標(biāo)識(shí)符類名、包名、變量名、方法名...Java數(shù)據(jù)類型1、基本類型8種
byteshortintlongcharfloatdoubleboolean12482481byte-128~127int-2147483648~2147483647-2G~+2Glongjava.math.BigInteger大整數(shù)float和double都要精度誤差只適合于科學(xué)運(yùn)算當(dāng)需要精確運(yùn)算時(shí):使用引用類型
java.math.BigDecimal大數(shù)據(jù)類型booleantrue/false2、引用類型表現(xiàn)形式分5種:類接口數(shù)組枚舉標(biāo)注引用(變量、內(nèi)存地址)->內(nèi)存空間對(duì)象JVM內(nèi)存JVM內(nèi)存:1)Stack棧區(qū)局部變量(方法中定義的變量)先進(jìn)后出的數(shù)據(jù)結(jié)構(gòu)2)Heap堆區(qū)分配空間,創(chuàng)建對(duì)象3)Code方法區(qū)類的信息,靜態(tài)資源3、void無返回值類型如果void方法中可以不寫return語句,如果寫return;表示結(jié)束方法的調(diào)用如果不是void,必須寫return值;
值的數(shù)據(jù)類型必須和返回值類型一致Java方法method
能夠表示一段代碼,執(zhí)行一段具體的業(yè)務(wù)邏輯定義在類體中,不能嵌套定義,可以不斷復(fù)用如何使用:通過類或者對(duì)象調(diào)用方法方法的三要素:方法名返回值類型參數(shù)表完整的定義:修飾符返回值類型方法名(數(shù)量類型1變量1,...)throws聲明拋出的異常類型{//方法體如果需要返回結(jié)果return值;}如何調(diào)用:根據(jù)方法名調(diào)用,可以傳入?yún)?shù),最終返回結(jié)果形式參數(shù)publicintadd(inta,intb)拷貝副本實(shí)際參數(shù)add(5,6);流程控制語句1、分支語句1)if-elseifif2)switch-case(1)switch(變量)byteshortintcharenumString(2)break;表示退出分支流程控制語句2、循環(huán)語句1)for循環(huán)執(zhí)行0或n次for(初始化語句1;循環(huán)條件2;步進(jìn)語句3){
滿足循環(huán)條件執(zhí)行的循環(huán)體4;}12432432如果此時(shí)2為false結(jié)束循環(huán)for(inti=1,j=5;i<=5,j>=1;i++,j--){System.out.println(i+":"+j);}無限循環(huán):for(;;){
可以通過break語句退出無限循環(huán)}流程控制語句2)while循環(huán)執(zhí)行0或n次while(循環(huán)條件){
循環(huán)體;}無限循環(huán):while(true){
可以通過break語句退出無限循環(huán)}3)dowhile循環(huán)至少執(zhí)行一次的循環(huán)執(zhí)行1或n次do{
循環(huán)體;}(循環(huán)條件);流程控制語句3、控制語句break;(1)用在switch-case中表示退出分支語句
(2)在循環(huán)中表示結(jié)束循環(huán)
(3)break標(biāo)號(hào);從里層循環(huán)結(jié)束標(biāo)號(hào)指定的外層循環(huán)continue;(1)結(jié)束本次循環(huán),繼續(xù)下一次新的循環(huán)
(2)continue標(biāo)號(hào);
結(jié)束標(biāo)號(hào)指定循環(huán)的本次循環(huán),繼續(xù)下一次新的循環(huán)Java數(shù)組Java數(shù)組:是一種數(shù)據(jù)結(jié)構(gòu),用來保存一組相同類型數(shù)據(jù)的載體、容器。是一種引用類型數(shù)組本身不是數(shù)據(jù),數(shù)組的元素才是數(shù)據(jù)Java數(shù)組int[]ds=newint[5];要素:1)數(shù)組引用ds指向的對(duì)象,就是數(shù)據(jù)的載體2)數(shù)組的長度ds.length數(shù)組能夠容納元素的個(gè)數(shù)3)數(shù)組下標(biāo)index表示數(shù)組元素的相對(duì)位置
0~ds.length-10~4Java數(shù)組數(shù)組的聲明:int[]ds;推薦使用int[]int數(shù)組類型intds[];數(shù)組的初始化:1)靜態(tài)初始化int[]ds={1,2,3,4,5};2)動(dòng)態(tài)初始化int[]ds=newint[]{1,2,3,4,5};int[]ds=newint[5];Java數(shù)組初始值:數(shù)值類型相應(yīng)精度的00.0
字符類型'\u0000'
布爾類型false
引用null數(shù)組遍歷數(shù)組的遍歷:1)常規(guī)遍歷基于下標(biāo)的遍歷能記錄下標(biāo)位置for(inti=0;i<ds.length;i++){ds[i]=i+1;}2)for-each遍歷無法記錄下標(biāo)位置for(intd:ds)mvom5sb面向?qū)ο驩O面向?qū)ο?、什么是對(duì)象?什么都是對(duì)象!2、為什么需要面向?qū)ο??能夠以分析現(xiàn)實(shí)生活問題的方式來分析計(jì)算機(jī)問題拉近了現(xiàn)實(shí)世界和計(jì)算機(jī)世界的距離對(duì)象的特點(diǎn):每個(gè)對(duì)象的功能盡可能單一:各司其職、各盡所能
java.lang.String類只負(fù)責(zé)字符串的操作
java.lang.Math類負(fù)責(zé)算術(shù)運(yùn)算的問題提高了軟件的可復(fù)用性和易維護(hù)性軟件工程:高內(nèi)聚、低耦合面向?qū)ο?、如何面向?qū)ο??抽象是關(guān)鍵!有什么數(shù)據(jù)抽象屬性(成員變量)會(huì)什么業(yè)務(wù)抽象方法(成員方法)三大特性面向?qū)ο笕筇匦裕ɑ悍庋b、繼承、多態(tài)一、封裝Encapsulation
在設(shè)計(jì)類的過程中,該公開的公開,該隱藏的隱藏??梢允褂迷L問控制修飾符進(jìn)行成員的修飾訪問控制修飾符Modifierspublic公開的
protected受保護(hù)的
private私有可以修飾類、成員變量、成員方法、構(gòu)造方法三大特性修飾符本類同包子類其它publicOKOKOKOKprotectedOKOKOK默認(rèn)不寫OKOKprivateOK繼承繼承Inheritance
當(dāng)兩個(gè)類存在邏輯上的"is-a"關(guān)系時(shí),使用繼承復(fù)用繼承是軟件復(fù)用的一種形式,但不是所有的軟件復(fù)用都用繼承。動(dòng)物貓狗...從貓、狗->動(dòng)物抽象"泛化"動(dòng)物->貓、狗"派生“Catis-aAnimalDogis-aAnimal繼承歸納繼承要點(diǎn):(1)繼承的語法使用extends關(guān)鍵字class父類{}class子類extends父類{}(2)Object類是所有類的最頂層父類
java.lang.Object類任何一個(gè)類都直接或間接繼承自O(shè)bject類只要一個(gè)類不明確指定父類,默認(rèn)繼承自O(shè)bjectclassEmp{父類是Object}classAnimal{父類是Object}classCatextendsAnimal{父類是Animal}(3)Java只允許類的單繼承是Java語法簡單的體現(xiàn)Thisthis:表示本類對(duì)象
this.可以訪問本類的成員
this.成員變量能夠區(qū)分局部變量
=name;this.成員方法等價(jià)于直接調(diào)用方法
this()表示調(diào)用本類構(gòu)造方法可以指定參數(shù)構(gòu)造方法的調(diào)用只能在構(gòu)造方法的第一行執(zhí)行
this(可以寫參數(shù));Supersuper:表示父類對(duì)象
super.可以訪問父類的成員
super.成員變量可以區(qū)分本類成員變量
super.成員方法表示調(diào)用父類定義的方法
super()表示調(diào)用父類構(gòu)造方法構(gòu)造方法的調(diào)用只能在構(gòu)造方法的第一行執(zhí)行
super(可以明確指明參數(shù));
任何構(gòu)造方法的第一行會(huì)隱式調(diào)用super();this();和super();能不能共存?不能共存static1、修飾屬性不再是實(shí)例變量,而是類變量所有對(duì)象共有一份一般通過類名.直接訪問2、修飾方法不再是實(shí)例方法,而是靜態(tài)方法通過類名直接調(diào)用如果一個(gè)類所有方法都是靜態(tài)方法工具類util
注意:靜態(tài)方法中不能訪問非靜態(tài)成員!3、修飾代碼塊{//實(shí)例代碼塊在創(chuàng)建對(duì)象時(shí)先于構(gòu)造方法調(diào)用}static{//靜態(tài)代碼塊在類加載時(shí)執(zhí)行常用于數(shù)據(jù)初始化操作}
注意:靜態(tài)代碼塊中不能訪問非靜態(tài)成員!abstract關(guān)鍵字、修飾符:修飾方法和類1、修飾方法:類中的一個(gè)方法不知如何實(shí)現(xiàn)的時(shí)候,可以定義為抽象類,最終需要由子類進(jìn)行實(shí)現(xiàn)(方法的覆蓋語法)抽象方法的語法:修飾符abstract返回值類型方法名(參數(shù)表)[throws聲明拋出的異常類型];注意:有抽象方法的類,必須是抽象類2、修飾類抽象類不能直接實(shí)例化不能new抽象類可以作為引用類型指向子類對(duì)象同時(shí)也滿足多態(tài)的三大定理面向父類、抽象編程抽象類中可以提供實(shí)例變量,具有構(gòu)造方法interface接口interface是一種引用類型abstractclassMyClassC{publicstaticfinalintA=1;publicstaticfinalintB=2;publicabstractvoidm1();publicabstractvoidm2();}接口類型關(guān)鍵字interface從某種程度來說:接口是一種特殊的抽象類(1)所有屬性都是公開的、靜態(tài)的常量
publicstaticfinal修飾(2)所有的方法都是公開的、抽象的方法
publicabstract修飾設(shè)計(jì)原則設(shè)計(jì)原則:1)開閉原則對(duì)擴(kuò)展開放,對(duì)修改關(guān)閉2)組合優(yōu)于繼承復(fù)用原則3)接口隔離原則在設(shè)計(jì)接口時(shí)盡量將一個(gè)大的接口拆分、打散成若干個(gè)小接口,讓類有選擇的實(shí)現(xiàn)某些接口。好處:提高了接口的可復(fù)用性和易維護(hù)性。避免了接口的污染。
新題西林壁橫看成嶺側(cè)成峰遠(yuǎn)近高低各不同不識(shí)對(duì)象真面目只緣身在接口中接口是制定規(guī)范(標(biāo)準(zhǔn))的極好工具接口與抽象類區(qū)別接口與抽象類的區(qū)別:(1)定義接口用interface,定義抽象類abstractclass(2)實(shí)現(xiàn)接口用implements,繼承抽象類用extends(3)接口可以多繼承,抽象類只能單繼承(4)接口沒有構(gòu)造方法,抽象類有構(gòu)造方法(5)接口所有的屬性都是public、static、final修飾接口所有的方法都是public、abstract修飾(6)接口和抽象類都不能直接實(shí)例化使用不能new
但是可以拿接口或抽象類類型的引用指向子類對(duì)象具備多態(tài)的特性面向抽象(父類、接口、通用)編程異常Java異常處理1、什么是異常處理Exception例外異常在Java中也是一種引用類型日常生活中:停電了異常UPS電源包子掉了異常保持心情繼續(xù)吃名字重復(fù)了異常進(jìn)行友好的提示換一個(gè)
Java異常處理機(jī)制能夠提供系統(tǒng)的健壯性異常處理提供異常出現(xiàn)后的應(yīng)急預(yù)案異常2、異常的本質(zhì)錯(cuò)誤或者異常可拋throwjava.lang.Throwable是所有異常和錯(cuò)誤的父類
java.lang.Exception異常程序員可以處理的類型我們主要學(xué)習(xí)Exception及其子類以及異常的處理
java.lang.Error錯(cuò)誤一旦出現(xiàn),無法處理
java.lang.OutOfMemoryError內(nèi)存溢出錯(cuò)誤錯(cuò)誤一旦出現(xiàn)JVM崩潰程序無法處理異常3、異常的分類(1)RuntimeException(及其子類)運(yùn)行時(shí)類型未檢測(cè)異常(uncheckedexception)
編譯器無需檢測(cè)異常是否發(fā)生可處理也可不處理異常異常的處理(1)積極處理方式trycatchfinally語法:try{
可能出現(xiàn)異常的代碼;//出現(xiàn)了、拋出了異常一旦出現(xiàn)異常程序轉(zhuǎn)入catch塊執(zhí)行。。如果此處寫釋放資源的代碼?不適合因?yàn)橐坏┏霈F(xiàn)異常執(zhí)行不到}catch(異常類型1e1){//捕獲異常對(duì)象1
出現(xiàn)異常1處理的代碼;應(yīng)急預(yù)案}catch(異常類型2e2){//捕獲異常對(duì)象2
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年綠色照明項(xiàng)目合作計(jì)劃書
- 2025年絲絹紡織及精加工產(chǎn)品項(xiàng)目建議書
- 五年級(jí)數(shù)學(xué)(小數(shù)乘除法)計(jì)算題專項(xiàng)練習(xí)及答案
- 三年級(jí)數(shù)學(xué)計(jì)算題專項(xiàng)練習(xí)及答案集錦
- 右肺低分化腺癌護(hù)理查房
- 陜西青年職業(yè)學(xué)院《藥學(xué)專業(yè)創(chuàng)新創(chuàng)業(yè)拓展》2023-2024學(xué)年第二學(xué)期期末試卷
- 集寧師范學(xué)院《物流管理前沿講座》2023-2024學(xué)年第一學(xué)期期末試卷
- 集美大學(xué)誠毅學(xué)院《英語視聽說(四)》2023-2024學(xué)年第二學(xué)期期末試卷
- 青島工學(xué)院《機(jī)能實(shí)驗(yàn)學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 青島幼兒師范高等??茖W(xué)?!督ㄖo水排水》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年國家公務(wù)員考試《申論》真題(副省級(jí))及答案解析
- 高鴻業(yè)《西方經(jīng)濟(jì)學(xué)》(第七版)
- 舊房改造施工成品保護(hù)措施方案
- 臨床成人失禁相關(guān)性皮炎的預(yù)防與護(hù)理團(tuán)體標(biāo)準(zhǔn)解讀
- 意識(shí)形態(tài)知識(shí)培訓(xùn)課
- 單位職工籃球隊(duì)、羽毛球隊(duì)、乒乓球隊(duì)組建方案
- DB32T-縣級(jí)(區(qū)域)醫(yī)療資源集中化運(yùn)行規(guī)范 第1部分:集中審方中心
- 師德師風(fēng)-做“四有”好老師
- 《海南省安居房建設(shè)技術(shù)標(biāo)準(zhǔn)》
- 高考真題與模擬訓(xùn)練專題練習(xí)專題02函數(shù)及其性質(zhì)(原卷版+解析)
- 部編版(2024版)七年級(jí)歷史上冊(cè)第8課《夏商周時(shí)期的科技與文化》練習(xí)題(含答案)
評(píng)論
0/150
提交評(píng)論