Java基礎(chǔ)知識點復(fù)習(xí)資料_第1頁
Java基礎(chǔ)知識點復(fù)習(xí)資料_第2頁
Java基礎(chǔ)知識點復(fù)習(xí)資料_第3頁
Java基礎(chǔ)知識點復(fù)習(xí)資料_第4頁
Java基礎(chǔ)知識點復(fù)習(xí)資料_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

classpath的設(shè)置及作用:設(shè)置為setclasspath=“絕對路徑”。作用是指定Java類的執(zhí)行路徑。是用來尋找class文件的。path的設(shè)置及作用:是內(nèi)部命令。在編譯Java的時候需要用到j(luò)avac命令在執(zhí)行java的時候要用到j(luò)ava命令,這兩個命令不時windows自帶的命令,所以我們使用的時候要設(shè)置好環(huán)境變量,這樣就可以在任何目錄下使用了。JAVA數(shù)據(jù)類型:基本數(shù)據(jù)類型(數(shù)值型(整型(.long)、浮點型(float.double))、字符型(char)、布爾型(boolean))、引用數(shù)據(jù)類型(class.數(shù)組、接口)。JAVA基本運算符號:賦值運算符、算術(shù)運算符、關(guān)系運算符、邏輯運算符、條件運算符、括號運算符。JAVA程序基本控制語句:1、if(判斷條件) {語句1;語句2;} 2、if(判斷條件) { 語句1;}else{語句2;} 3、switch(表達(dá)式) { case選擇值1;語句主體1; break; case選擇值2;語句主體2; break; case選擇值3;語句主體3; break; default:語句主體;} 4、for(賦初始值;判斷條件;賦值增減量) {語句;}5、while(判斷條件) { 語句1; 語句2;}6、do { 語句1; 語句2;} while(判斷條件); break跳出循環(huán)。continue跳出本次循環(huán)進入到下次循環(huán)。數(shù)組的概念及使用:數(shù)組是由一組相同類型的變量所組成的數(shù)據(jù)類型,它們以一個共同的名稱來表示。格式一:數(shù)據(jù)類型數(shù)組名[]數(shù)組名=new數(shù)據(jù)類型[個數(shù)]例:inti[]i=newint[8]格式二:數(shù)據(jù)類型數(shù)組名[]=new數(shù)據(jù)類型[個數(shù)]例:inti=newint[8]方法的聲明及使用:完成某一特定功能的代碼塊。返回值類型方法名稱(類型參數(shù)1,類型參數(shù)2){程序語句;return表達(dá)式;}方法的重載:在同一個類中允許同時存在一個以上的同名方法,只要他們的數(shù)據(jù)類型參數(shù)個數(shù)不同即可。例如:publicstaticintTest(inti,intj){ returni+j; publicstaticintTest(intx){ returnx++;}pubicstaticdoubleTset(doublem,doublen){ returnm+n;}publicstaticintTest(inta,intb,intc){ returna-b+c;}}在程序中Test方法被重載了4次,但每個重載了的方法所能接受參數(shù)的個數(shù)與類型不同。9、類的定義:將具有相同屬性及相同行為的一組對象稱為類。廣義的講,具有共同性質(zhì)的事物的集合就稱為類。class類名稱{數(shù)據(jù)類型屬性;//聲明成員變量(屬性)返回值的數(shù)據(jù)類型方法名稱(參數(shù)1,參數(shù)2){程序語句;return表達(dá)式;//定義方法的內(nèi)容}}ClassPerson{Stringname;intage;voidtalk(){System.out.println("我是:"+name+",今年:"+age+"歲");}}10、對象的產(chǎn)生及使用:對象產(chǎn)生的基本形式類名對象名=new類名()對象可以調(diào)用類中的方法訪問類中的成員變量,形勢為對象.屬性對象.方法名()11、匿名對象:沒有明確的聲明對象,也可以理解為只使用一次的對象,即沒有任何一個具體的對象名稱引用它。封裝了相關(guān)的成員與方法,通過訪問權(quán)限來使用內(nèi)部的東西。構(gòu)造方法的定義方式:class類名稱{ 訪問權(quán)限類名稱(類型1參數(shù)1,類型2參數(shù)2) { 語句; }}注意:1.構(gòu)造方法的名稱必須與類名一致。 2.構(gòu)造方法無返回值。例:classpig { publicpig() { System.out.println(“It’sapig.”); } }14.對象的比較(“==”、“equals()”“==”比較的是對象所指的引用“equals()”比較的是對象。classPerson{Stringname;intage;publicPerson(){System.out.println(“1.publicPerson()”);}publicPerson(Stringname,intage){//調(diào)用本類中無參構(gòu)造方法this();1.用來區(qū)分成員變量與局部變量.2.用來表示本類內(nèi)部的構(gòu)造方法.(this必須放在構(gòu)造方法中的第一行)classPerson{privateStringname;privateintage;publicPerson(Stringname,intage){=name;this.age=age;}publicStringtalk(){return“我是:”+name+”,今年:“+age+”歲”;}}publicclassTestJavaThis{publicstaticvoidmain(String[]args){Personp=newPerson(“張三”,25);System.out.println(p.talk());}}輸出結(jié)果:我是:張三,今年:25歲

方法名字相同參數(shù)的類型、排列方式、個數(shù)不同例如:publicstaticintTest(inti,intj){ returni+j; publicstaticintTest(intx){ returnx++;}pubicstaticdoubleTset(doublem,doublen){ returnm+n;}publicstaticintTest(inta,intb,intc){ returna-b+c;}}在程序中Test方法被重載了4次,但每個重載了的方法所能接受參數(shù)的個數(shù)與類型不同。例:S1=”abc”S2=”bcd”S1=S2把S2所指的引用”bcd”賦給了S1,這時S1的引用就是”bcd”。19.static的使用(方法、屬性)static:靜態(tài)方法:1直接用類名來調(diào)用2一個靜態(tài)方法可以直接調(diào)用另一靜態(tài)方法調(diào)用非靜態(tài)方法時用對象調(diào)用3靜態(tài)方法中不能用this、super4靜態(tài)方法不能調(diào)用非靜態(tài)方法中的屬性。Static聲明的成員變量為全局變量局部變量不能聲明成static。靜態(tài)代碼塊是在static后加個大括號作用是給靜態(tài)成員賦值。20.對象數(shù)組的使用(靜態(tài)初始化、動態(tài)初始化)1數(shù)組是多個相同類型數(shù)據(jù)的集合,實現(xiàn)對這些數(shù)據(jù)的統(tǒng)一管理。2數(shù)組是引用數(shù)據(jù)類型,數(shù)組型數(shù)據(jù)是對象(object),數(shù)組的每個元素相當(dāng)于該對象的成員變量。3數(shù)組中的元素可以是任何數(shù)據(jù)類型,包括基本類型與引用類型。一維數(shù)組聲明 一維數(shù)組的聲明方式: Typevar[]或type[]var;例如: inta[];int[]a;doubleb[];注!Java語言中聲明數(shù)組時不能指定其長度(數(shù)組中元素的個數(shù)),例如:inta[]5;//錯誤的 正確的寫法:int[]a;(數(shù)據(jù)類型數(shù)組名[];//聲明一維數(shù)組 a=newint[5];數(shù)組名=new數(shù)據(jù)類型[個數(shù)])//分配內(nèi)存給數(shù)組創(chuàng)建基本一維數(shù)組publicclassTest{ publicstaticvoidmain(String[]args){ int[]s; s=newint[10];for(inti=0;i<10;i++){ s[i]=2*i+1; System.out.println(s[i]);}}}編譯結(jié)果:E:\>javaTest135791113151719通過繼承可以簡化類的定義,擴展類的功能。實現(xiàn)繼承的方法:class子類extends父類。例:ClassA{Stringname;intage;}ClassBextendsA{Stringschool;}publicclassTest{publicstaticvoidmain(Stringargs[]){Bs=newB();=”周洋”;s.age=”23”;s.school=”綏化學(xué)院”;System.out.println(“姓名:”+”,年齡:”+s.age+”,學(xué)校:”+s.school);}}子類對象在實例化時會默認(rèn)先去調(diào)用父類中的無參構(gòu)造方法,之后再調(diào)用子類中的相應(yīng)構(gòu)造方法。依次執(zhí)行classPerson{Stringname;Intage;//父類的構(gòu)造方法publicPerson(){System.out.println(“1.publicPerson(){}”);}}classStudentextendsPerson{Stringschool;//子類的構(gòu)造方法PublicStudent(){System.out.println(“2.publicStudent(){}”);}}publicclassTestPersonStudentDemol{publicstaticvoidmain(String[]args){Students=newStudent();}}輸出結(jié)果:1.publicPerson(){}2.publicStudent(){}23.方法的覆寫當(dāng)一個子類繼承一個父類,而子類中的方法及父類中的方法的名稱,參數(shù)個數(shù)、類型完全一致時,就稱子類中的這個方法覆寫了父類中的方法。特點:1、兩個類存在繼承關(guān)系;2、子類里寫了一個方法,方法的聲明及父類一致。例如:classPerson{ publicvoidtest(){ System.out.println(“Person”);}}classStudentextendsPerson{ publicvoidtest(){ System.out.println(“Student”);}}24.super的使用super關(guān)鍵字出現(xiàn)在子類中,用super去調(diào)用父類中的有參的構(gòu)造方法,所以super主要功能是完成子類調(diào)用父類的內(nèi)容,也就是調(diào)用父類中的構(gòu)造方法。注意:用super調(diào)用父類中的構(gòu)造方法,只能放在第一行。格式:super.父類中的屬性;super.父類中的方法;例如:(1)classPerson{ Stringname; intage; publicPerson() { } publicStringtalk() { return"我是:"+",今年;"+this.age+"歲"; }}classStudentextendsPerson{ Stringschool; publicStudent(Stringname,intage,Stringschool) { =name; super.age=age; System.out.println(super.talk()); this.school=school; }}publicclassTest{ publicstaticvoidmain(Stringargs[]) { Students=newStudent("張三",23,"北京"); System.out.println(",學(xué)校:"+s.school); }}(2)publicclassKiss1{ Stringname; intage; Kiss1() { System.out.println(“aaaaaaaaaaaaaa”); } Kiss1(Stringname,intage) { =name; this.age=age; System.out.println(name+age); } }classKiss2extendsKiss1{ publicKiss2() { super("aaaaaaa",23); } publicstaticvoidmain(String[]args) { Kiss2p=newKiss2(); } }25.this及super的區(qū)別this關(guān)鍵字的作用:1.用來區(qū)分成員變量與局部變量.2.用來表示本類內(nèi)部的構(gòu)造方法.(this必須放在構(gòu)造方法中的第一行)super關(guān)鍵字出現(xiàn)在子類中,用super去調(diào)用父類中的有參的構(gòu)造方法,所以super主要功能是完成子類調(diào)用父類的內(nèi)容,也就是調(diào)用父類中的構(gòu)造方法。用super調(diào)用父類中的構(gòu)造方法,只能放在方法體中的第一行。26.final關(guān)鍵字final聲明的變量就變成了常量,今后不可以修改。只能聲明時初始化或者在構(gòu)造方法中初始化。final聲明的方法不能被子類復(fù)寫。final聲明的類不能被繼承。27.抽象類的使用抽象類:java可以創(chuàng)建一種類專門用來當(dāng)作父類,這種類稱為“抽象類”抽象類的定義規(guī)則:1、 抽象類與抽象方法都必須用abstract關(guān)鍵字類修飾。2、 抽象類不能被直接實例化,也就是不能直接用new關(guān)鍵字去產(chǎn)生對象。3、 抽象方法只需聲明,而不需實現(xiàn)。4、 含有抽象方法的類必須被聲明為抽象類,抽象類的子類必須覆寫所有的抽象方法后才能被實例化,否則這個子類還是個抽象類。抽象類的定義方法:Abstractclass類名稱{//定義抽象類聲明數(shù)據(jù)成員:訪問權(quán)限返回值的數(shù)據(jù)類型方法名稱(參數(shù)){?}Abstract返回值的數(shù)據(jù)類型方法名稱(參數(shù));//定義抽象方法,在抽象方法里,沒有定義方法體}28.接口的使用接口(interface)是java所提供的另一種重要技術(shù),它的結(jié)構(gòu)與抽象類非常相似,也具有數(shù)據(jù)成員及抽象方法,但它及抽象類又有以下兩點不同:接口里的數(shù)據(jù)成員必須初始化,且數(shù)據(jù)成員均為常量。接口里的方法必須全部聲明為abstract,也就是說,接口不能象抽象類一樣擁有一般的方法,必須全部都是“抽象方法”。接口定義的語法如下:interface接口名稱//定義抽象類{final數(shù)據(jù)類型成員名稱=常量;//數(shù)據(jù)成員必須賦初值abstract返回值的數(shù)據(jù)類型方法名稱(參數(shù)…);//抽象方法,注意在抽象方法里,沒有定義方法主體}在java中接口是用于實現(xiàn)多繼承的一種機制,也是java設(shè)計中最重要的一個環(huán)節(jié),每一個由接口實現(xiàn)的類必須在類內(nèi)部覆寫接口中的抽象方法,且可自由地使用接口中的常量。既然接口里只有抽象方法,它只要聲明而不用定義處理方式,于是自然可以聯(lián)想到接口也沒有辦法象一般類一樣,再用它來創(chuàng)建對象。利用接口打造新的類的過程,稱之為接口的實現(xiàn)(implementation)。接口的實現(xiàn):格式:class類名稱implements接口A,接口B{ ……}29.對象的多態(tài)性、向上轉(zhuǎn)型及向下轉(zhuǎn)型的概念Java語言中有(方法重載)與(成員覆寫)兩種形式的多態(tài)。overloadoverride在一個類中在具有繼承關(guān)系的兩個類中函數(shù)名相同函數(shù)的定義完全相同參數(shù)列表不同多態(tài)其實就是表現(xiàn)在具有相同的代碼,但是表現(xiàn)出來的內(nèi)容卻不同向上轉(zhuǎn)型:把子類類型對象的引用轉(zhuǎn)化成父類類型對象的引用。向下轉(zhuǎn)型:把父類類型對象的引用轉(zhuǎn)化成子類類型對象的引用。30.抽象類及接口的應(yīng)用接口是為了實現(xiàn)Java的多繼承。31.異常的概念、分類及使用異常:異常實際上是程序中錯誤導(dǎo)致中斷了正常的指令流的一種事件。異常的分類:異常是一個對象,它繼承自Throwable類,所有的Throwable類的子孫類所產(chǎn)生的對象都是例外。Error:由Java虛擬機生成并拋出,Java程序不做處理。RuntimeException:由系統(tǒng)檢測,用戶的Java程序可不做處理,系統(tǒng)將它們交給缺省的異常處理程序。Exception:Java編譯器要求Java程序必須捕獲或聲明所有的非運行時異常。throw:用戶自己產(chǎn)生異常。32.Java程序的編寫規(guī)范命名規(guī)范,常量用大寫,類的聲明頂格寫,一個文件盡量只包含一個類。33.try…catch語句的使用用try來捕捉程序中是否會拋出異常,用catch來處理異常。34.throws與throw:throws是在方法后拋出一個可能有異常的聲明,而throw是在方法內(nèi)部故意拋出的一個異常。35.finally關(guān)鍵字:放在try(){……}catch(){……}后面,用法是無論是否會拋出異常,都會執(zhí)行finally主體中的語句。39.List,ArrayList的使用list是用存放引用數(shù)據(jù)類型的數(shù)據(jù)的接口,list存放的數(shù)據(jù)是有序的,而且可以重復(fù)。ArrayList是實現(xiàn)list接口的類。所以他也同樣具有l(wèi)ist中的特性。ArrayList中添加元素用的方法是add(),獲取元素的方法是get(),并且是用循環(huán)輸出.例:importjava.util.*;importjava.text.*;publicclassExample1{publicstaticvoidmain(String[]arg){ ArrayListp=newArrayList();p.add(“a”);p.add(“b”);p.add(“c”);p.add(“b”);p.add(“d”); for(inti=0;i<p.size();i++) System.out.println(p.get(i));}}輸出結(jié)果:a b c b d此例證明了ArrayList的有序與重復(fù)性。40.Map.ListMap的使用.Map是雙值的,一個位置存兩個東西。Map包括鍵與值兩部分.鍵:只能存引用數(shù)據(jù)類型,無序的,不能重復(fù)。值:只能存引用數(shù)據(jù)類型,允許重復(fù)。put()方法用來放此映射中關(guān)聯(lián)指定鍵也指定值。get()方法用來取鍵在此映射中關(guān)聯(lián)的值。importjava.util.*;publicTest{ publicstaticvoidmain(String[]arg) { HashMaphm=newHashMap(); hm.put(“a”,”b”); hm.put(“c”,”d”); System.out.println(hm.get(“a”));}}輸出結(jié)果為:bSet也是用來存放引用數(shù)據(jù)類型的接口,存放的數(shù)據(jù)無序的,不能重復(fù)。HashSet是實現(xiàn)Set接口的一個類,它也同樣具有Set的性質(zhì)。add()方法是用來添加數(shù)據(jù)元素到相應(yīng)的HashSet表里的方法,輸出的時候用迭代器,再用hasNext()方法判斷是否有下一個元素,再用next()方法輸出下一個元素。例題:importjava.util.*;publicclassA{ publicstaticvoidmain(String[]arg){ HashSeths=newHashSet(); hs.add(“a”); hs.add(“b”); hs.add(“c”); Iteratorit=hs.iterator(); while(it.hasNext()) { System.out.println(it.next());}}}輸出結(jié)果為b c a42.Iterator的使用: 返回在此set中的元素上進行迭代的迭代器。返回的元素沒有特定的順序, 返回值類型為Iterator。 用set類的實例化對象調(diào)iterator(),再賦給一個Iterator類型的變量,再用while 循環(huán)判斷是否有下一個迭代,如果有則輸出下一個迭代。43.String與StringBuffer的使用: String類用于比較兩個字符串、查找與抽取串中的字符或子串、字符串及其它類型之間的相互轉(zhuǎn)換等。String類對象的內(nèi)容一旦被初始化就不能再改變。 StringBuffer類用于內(nèi)容可以改變的字符串,可以將其它各種類型的數(shù)據(jù)增加、插入到字符串中,也可以轉(zhuǎn)置字符串中原來的內(nèi)容。一旦通過StringBuffer生成了最終想要的字符串,就應(yīng)該使用StringBuffer.toString()方法將其轉(zhuǎn)換成String類,隨后,就可以使用String類

溫馨提示

  • 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

提交評論