JAVA期末復習知識點_第1頁
JAVA期末復習知識點_第2頁
JAVA期末復習知識點_第3頁
JAVA期末復習知識點_第4頁
JAVA期末復習知識點_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

JAVA學問點整理

1.Java的工作原理

2.Java接受Unicode編碼

3.Java應用程序的結構

packagejaval_3_l.exam;〃打包語句

importjava.util.Date;〃導入語句

publicclassWelcome〃定義一個類,名為Welcome

publicstaticvoidmain(Stringargs口)//main是類的主方法

(

System,out.println(newDateO);〃限制臺顯示口期

System,out.printIn("歡迎進入Java世界!");〃限制臺輸出字符串

)

}

>package語句(打包語句)是程序的第一條語句,它是可選的。一個源程序最多只

能有一個打包語句。它指明編譯后的字節(jié)碼文件(.class)存放的位置。

>import語句(導入語句)用于導入所需的其他類,可以有多個,但必需放在package

之后,class之前。

>接下來是類的定義。Java程序都是以類的方式組織的,class關鍵字用于定義類,

每個類都有類名,花括號括起的部分為類體。

>package>importsclass三者有次序。

>Java程序由類構成,每一個類的類體中可以包含多個成員方法。

>class前面的public表明這個類是公有的,這種類的源文件必需和類名同名。Java

源文件都保存在.java文件中,編譯后的文件(字節(jié)碼文件)存放在.class文件

中。一個源文件中可以包含多個類,但只能有一個是public類型。

>main。方法是一個特殊的方法,它是程序執(zhí)行的入口。main方法說明的格式是特

定的:publicstaticvoidmain(Stringargs[])<,一個應用程序只有一個類包

含main。方法,它是程序的主類。

>System.out.printlnO方法用于在標準輸出設備(屏幕)上輸出數(shù)據。

>Java程序大小寫是敏感的。語句的分割用分號。“〃”為行注釋。

4.標識符合法推斷,留意不能以數(shù)字開頭

>Java語言規(guī)定標識符由字母、下劃線、$和數(shù)字組成

>標識符應以字母、下劃線、美元符$開頭,不能以數(shù)字開頭。

>標識符區(qū)分大小寫,標識符長度不限,但是實際命名不宜過長。

>標識符不能與關源字同名。

5.Java命名規(guī)范:

>包:由小寫字母組成。如:com.sun.eng

>類:由一個或幾個單詞組成,每個單詞的第一個字母大寫。類名一般運用完整單詞,

避開縮寫詞(陜非該縮寫詞被更廣泛運用,像URL,HTMDo

>接口:與類相同,可以運用形容詞詞綴,比如Runnable,Comparable。

>方法:除第一個字母小寫外,和類、接口的命名規(guī)則一樣。

>全局變量:除第一個字母小寫外,和類、接口的命名規(guī)則一樣。比如:persor.Info

>局部變量:命名與全局變量相同,可以運用簡寫,比如i,j,temp,maxNumbero

>常量:由一個或多個被下劃線分開的大寫單詞組成,比如:PAGE_SIZEo

6.Java數(shù)據類型的劃分

l整數(shù)類型(byte,short,int,long)

C數(shù)值類型Y

[浮點類型(float,double)

基本數(shù)據類型《字符關型(char)

[布爾類型(boolean)

V類(class)

接口(interfaxe)

引用數(shù)據類型Y

數(shù)組

、枚舉類型(enum)

>整數(shù)類型

3整數(shù)有三種表示形式:

令十進制整數(shù):如123,-456,0。

<十六進制整數(shù):以Ox或0X開頭,如0x123,-0X12。

<八進制整數(shù):以0開頭,如012,-027o

4假如要表示長整型數(shù),可以在數(shù)字的后面加上L或1,如125L。

>浮點類型

0浮點類型的數(shù)據有如卜.表示形式:

e十進制數(shù)形式:由數(shù)字和小數(shù)點組成,如:0.123,1.23,123.0。

<科學計數(shù)法形式:如123e3或123E3。

&假如表示float型的數(shù)據要在數(shù)字后加f或F,如1.23%表示double型的數(shù)

據在數(shù)字后面加d或D,ill2.3d,帶小數(shù)點的數(shù)默認就是雙精度浮點型,d

可以省略。

>布爾類型:布爾型數(shù)據只有兩個值:true和false,在內存中占用4個字節(jié)。

7.數(shù)據類型轉換

>自動類型轉換:基本數(shù)據類型間的優(yōu)先關系(從低到高)如下:byteshort-〉

char->int->long->float->double

>強制類型轉換,例如:

inti=12;

byteb=(byte)i;〃把int型變量i強制轉換為byte型

>其他類型轉換

?字符串轉換為數(shù)字

例如:Integer.parsclnt(Strings)〃轉換為整型的數(shù)值

3數(shù)字轉換為字符串

?Byte.toString(byteb):字節(jié)型轉換為字符串。

?也可以運用字符串類的valueOf方法:String.valueOf(各種類型的數(shù)值

變量)。

?還可以用空字符串連接數(shù)字,將數(shù)字轉換為字符串。如:"+25。

8.數(shù)組定義與引用,初始化、下標越界;遍歷

>i維數(shù)組

▲定義:類型數(shù)組名口;或類型門數(shù)組名;其中,類型可以為Java中隨意的

數(shù)據類型,包括基本類型和引用類型。例如:

intintArray[];〃定義個整型數(shù)組

StringstringArray[];〃定義一個字符串數(shù)組

<引用:數(shù)組名[索引]索引為數(shù)組的下標,它可以為整型的常數(shù)或表達式,下

標從0起先。每個數(shù)組都有一個屬性length指明它的長度,例如:

intArray.length指明數(shù)組intArray的長度。

3初始化

<干脆賦值創(chuàng)建

定義數(shù)組時就為數(shù)組元素賦值,數(shù)組的大小是由所賦值的個數(shù)確定。

intintArray[]={1,2,3,4};

StringstringArray[]=("abc","How","you"};

?用new創(chuàng)建

inta口;〃先定義

a=newint[2];〃再創(chuàng)建

a[0]=4;

a[l]=7;

String[]s=newString[2];//定義和創(chuàng)建一起完成

s[0]=newString(^Good*);

s[l]=newString("bye");

*遍歷

>多維數(shù)組(以二維數(shù)組為例)

△定義:類型數(shù)據名[][];或類型[][]數(shù)據名;

■引用:數(shù)組名[索引1][索引2]例如:a[l][0];

a初始化

<干脆賦值創(chuàng)建

inta[][]={{1,2},{2,3},{3,4,5}};

提示Java語言中,由于把二維數(shù)組看作是數(shù)組的數(shù)組,數(shù)組空間不是連

續(xù)支配的,所以不要求二維數(shù)組每一維的大小相同。

<用new創(chuàng)建

inta[][]=newint⑵⑶;〃干脆為每一維支配空間

Strings[][]=newString[2]口;//僅為第一維支配空間

s[0]=newString-];〃為其次維的第一個單元支配引用空間

s[l]=newString[l];〃為其次維的其次個單元支配引用空間

s[0][0]=newString("Good");

s[0][1]=newString("Luck");

s[l][0]=newString("You");

J遍歷

>Java在定義數(shù)組時,口可以放在數(shù)組名前面,也可以放在數(shù)組名后面。數(shù)組在定

義時不能指定大小。

9.整除、求與操作:%/

10.字符串基本操作

>字符串的創(chuàng)建

<創(chuàng)建一個空的字符串

。Stringsi=newString();〃第一種創(chuàng)建空字符串方法

令Strings2=〃〃;〃其次種創(chuàng)建空字符串方法

*干脆賦值創(chuàng)建字符串:Strings3="China";

3運用原有的String對象創(chuàng)建字符串

Strings4="abc";

Strings5=newString(s4);

S運用數(shù)組創(chuàng)建字符串

charchi口=('a','b,,,c,,'d','e'};

Strings6=newString(chl);〃創(chuàng)建字符串對象“abed。"

Strings7=newString(chl,0,3);//創(chuàng)建字符串對象“abc”//從數(shù)組

下標為0起先,創(chuàng)建有3個字符的字符串

字符串的基本操作

?字符串連接

?通過contact()連接

Stringsl=wabc”;

Strings2="de”;

Strings3=sl.contact(s2);//結果為abede

令運用“+”鏈接,可以鏈接字符串和其他類型的數(shù)據,在連接時自動把其他

類型的數(shù)據轉換為字符串

Stringstr="abc”+12;〃結果為“abc12^

&返回長度

Stringstrl=wthisisastring;

inta=strl.length();

4替換

>replace(charoldChar,charnewChar)將oldChar替換為charnewChar

>replaceAll(Stringregex,Stringstr)將字符串中匹配正則表達式

的字符串替換成sir

Stringstrl=wthisisastring”;

System.out.println(strl.replace('s','a*));〃結果為thiaiaa

atring

System,out.println(strl.replaceAll("this"that"));〃結果為

thatisastring

a查找

?indexOf(Stringstr)查找str在字符串中出現(xiàn)的位置

?lastlndexOf(Stringstr)查找str在字符串中最終出現(xiàn)的位置

Stringstrl=wthisisastring”;

System,out.println(strl.indexOf("is"));//結果為2

System.out.printIn(strl.lastlndexOf(aisw));//結果為5

0截取子串

?substrin晨intbegin)從begin處起先取,截止到最終

令substring(intbegin,intend)從begin處起先取,截止到end處

Stringstrl=wthisisastring”;

System,out.println(strl.substring(O,4));〃結果為this

System,out.println(strl.substring(lO));〃結果為string

11.表達式合法性推斷

12.三元表達式用法及簡潔計算【表達式A?表達式B:表達式C】

先計算表達式A的值,當值為真時,則將表達式B的值作為整個表達式的值;反之則

將表達式C的值作為整個表達式的值。

13.運算符優(yōu)先級推斷

優(yōu)先級運算符

10[].

2!+GE)-倏)?++—

3?/%

4+伽)-(M)

5???>

6<仁>>=instanceof

7二二1=

8&帝位與)

9*

101

11

12II

13?:

14=+=-=?=/=%

-&=1=*=~=?=?=?>=

14.注釋用法,單行注糕、多行注釋和文檔注釋各自語法及用途

>單行注釋:以開頭,直到行末尾。

>多行注釋:以“/*”開頭,直到“*/”結束,用來注釋一行或多行。

>文檔注釋:以“/**”開頭,直到“*/”結束,這是Java語言特有的注釋方法,能

被轉化為HTML格式的幫助文檔。

15.構造方法以及作用【帶參數(shù)和不帶參數(shù)的構造方法應用以及了類調用父類構造方法】

>子類調用父類構造方法:super([參數(shù)列表]);

>構造方法的作用:能夠初始化對象的數(shù)據,在創(chuàng)建對象的時候,干脆給對象的數(shù)據

賦值

>帶參和不帶參的構造方法(詳細內容可以參考P73頁案例3-2)

例如,將以下構造方法添加到類Circle中:

Circle(doubler){radius=r;)

運用下面的語句創(chuàng)建圓:

myCircle=newCircle(5.0);//正確,將myCircle.radius賦值為5.0

myCircle=newCircleO;//錯誤,因為它運用了無參的構造方法

一個類沒有定義構造方法,系統(tǒng)會為其設置一個默認的無參構造方法,但是當類

中已經定義了構造方法并且是有參數(shù)的,這時假如還用無參的構造方法建立對象

就會出錯。

>類的構造方法遵循以下規(guī)定

0.構造方法與類同名.

此構造方法沒有返回類型,甚至連void也沒有。

0一個類可以有多個構造方法,但參數(shù)不同(個數(shù)或類型不同)。

此假如類沒有構造方法,將自動生成一個默認的無參數(shù)構造方法,并運用默認值

初始化對象的屬性(如,int變量初始化為0,boolean變量初始化為false)(>

此類的構造方法可以通過關鍵字this調用另一個構造方法

4,構造方法只能由new操作符調用

16.類及其屬性、方法修飾符【訪問范圍】

>成員的訪問限制

限不同包的子類不同包芥子類

private*

friend**

protected***

public****

>實例變量、類變量和類常量

4實例變量:沒有運用static修飾符的數(shù)據成員是實例變量,不能被同一個類

里的不同變量共享。確定要實例化。

4類變量:運用static修飾符的數(shù)據成員,想讓一個類的全部實例共享數(shù)據,

可運用靜態(tài)變量,也稱為類變量。

3類常量:一個數(shù)據成員在聲明時加上關鍵字final,它的值就不能再被變更,

因此稱為常量。假如static和final同時運用,就是類常量。

4留意:

令類變量的值存儲在類的公用內存,假如某個對象修改了類變量的值,同一

類的全部對象都會受到影響。對于整個類來說,類變量的值只存一份。

?類變量確定是靜態(tài)變量。

>全局變量和局部變量

▲全局變量:實例變量和類變量(類變量確定是靜態(tài)變量)

4局部變量:在方法內部說明的變量

▲留意:

?全局變量的作用域是全部實例方法,局部變量的作用域從它的說明起先持

續(xù)到包含它的塊尾。

令全局變量不賦值有默認初值,但局部變量沒有默認初值的,運用時必需賦

初值。

?全局變量只能聲明一次,但在一個方法互不嵌套的塊內,可以多次聲明同

一個局部變量。

?局部變量與全局變量同名時,局部變量優(yōu)先,同名的全局變量被隱藏。

令在構造方法中可運用this調用其他構造方法。例如,圓的默認構造方法

中運用this調用有參的構造方法。

>實例方法(非靜態(tài)方法)和類方法(靜態(tài)方法)(推斷題常考)

4實例方法:沒有運用static修飾符的方法為實例方法,實例方法必需通過對

象來調用,不行以通過類名調用。

」類方法:在定義的時候加上sialic修飾符,就是類方法。類方法可以通過類

名調用,也可以通過對象調用。

0類方法只能操作類變量,實例方法既可■以操作實例變量也可以操作類變量。

0靜態(tài)方法可以調用非靜態(tài)方法,但是非靜態(tài)方法不能調用靜態(tài)方法

17.修飾符混用:

>abstract不能與final并列修飾同一個類【正確】

>abstract類中不行以有private的成員【正確】

>abstract方法必需在abstract類中【錯誤】

>static方法中能處理非static的屬性【正確】

18.抽象方法、抽象類

>抽象類:Java語言中,用abstract關鍵字來修飾一個類時,這個類稱為抽象類。

抽象類的定義格式如下:

[修飾符]abstractclass類名

{類體}

留意:

0抽象類可以包含抽象方法,也可以不包含抽象方法。但是包含抽象方法的類必

需定義成抽象類。(推斷題常考)

?抽象類不能被實例化,抽象類可以被繼承,不能被定義成final類。

4繼承抽象類的類必需實現(xiàn)抽象類的抽象方法,否則,也必需定義成抽象類。

?一個類實現(xiàn)某個接口,但沒有實現(xiàn)該接口的全部方法,這個類必需定義成抽象

類。

>抽象方法:用abstract關鍵字來修飾一個方法時,這個方法稱為抽象方法。

[修飾符]abstract返回值類型方法名([參數(shù)列表]);

留意:抽象方法只有聲明,沒有實現(xiàn)。

19.方法的覆蓋:子類中的某個方法與父類的某個方法說明(指名稱、參數(shù)和返回值類型)

一樣。在覆蓋的狀況下,子類將運用自己的方法。關于覆蓋,須要留意以下幾點:

>一個方法將方法的父類實現(xiàn)替換為自己的實現(xiàn),其說明必需和父類方法說明相同,

但返回類型可以依據某種特定的方式變更。假如返回類型是引用類型,則覆蓋方

法的返回類型可以聲明為父類方法聲明的返回類型的子類型;假如返回類型是基

本類型,則覆蓋方法的返回類型必需和父類方法的返I可類型相同。

>覆蓋方法有自己的訪問修飾符,但只限于供應同樣或更多的訪問權限。

>覆蓋方法的throws子句可以和父類方法有所不同,它列出的每一個異樣類型都應

當和超類中的異樣類型相同,或者是父類異樣類型的子類型。

>不能用子類的靜態(tài)方法覆蓋父類中的實例方法。

>帶關鍵字final的方法不能被覆蓋。

>抽象方法必需在子類中被覆蓋,否則子類也必需是抽象的。

20.接口的繼承的特點:可以多繼承,例如:

interfaceIChineseWelcome{

StringCHINESE.MSG="你好,歡迎你!"〃定義常量

voidsayChineseO;

}

interfacelEnglishWelcome{

StringENGLISHJISG="Hello,Welcome!";〃定義常量

voidsayEnglish();

}

interfaceIWelcomeextendsIChineseWelcome,lEnglishWelcome{〃繼承接口

StringENGLISH_AND_CHINESE_MSG="Hello,Welcome!你好,歡迎你!”;

voidsa)rChineseAndEnglish();

}

>定義接口的留意事項

▲只包含常量和抽象方法,不能包含變量和詳細的方法

▲常量都是publicstaticfinal類型,方法都是publicabstract類型

>接口的運用:在類的聲明中用implements子句來表示它所實現(xiàn)的接口。實現(xiàn)某接

口的類,必需實現(xiàn)接口中定義的全部方法,否則需定義成抽象類。在類體中可以

運用接口中定義的常量。一個類可以實現(xiàn)多個接口,在implements子句中用逗

號分開。

21.接口與抽象類的區(qū)分

>抽象類可供應某些方法的實現(xiàn),而接口的方法都是抽象的

>抽象類可以包含變量,而接口中不能包含變量,可以包含常量

>抽象類中的成員可以有多種權限,而接口中的成員只能是public

>抽象類中增加一個詳細的方法,則子類都具有此詳細方法,而接口中增加一個方法,

則子類必需實現(xiàn)此方法

>子類最多能繼承?個抽象類,而接口可以繼承多個接口,■個類也可以實現(xiàn)多個接

>抽象類和它的子類之間應當是一般和特殊的關系,而接口僅僅是它的子類應當實現(xiàn)

的一組規(guī)則,無關的類也可以實現(xiàn)同一接口

22.類的繼承【子類訪問父類變量和方法問題、變量隱藏】特點

>類的繼承(關鍵字:extends)特點

山假如類B是類A的子類,則類B繼承了類A的變量和方法。在子類B中,包括

了兩部分內容:從父類A中繼承下來的變量和方法,自己新增加的變量和方

法。

*在Java中類只支持單一繼承,不支持多重繼承,接口可禰補這方面的一些缺

陷。

3繼承是可傳遞的。假如C從B派生,而B從A派生,那么C就會既繼承在B

中聲明的成員,又繼承在A中聲明的成員。

S派生類可擴展它的干脆基類,添加新的成員,但不能移除父類中定義的成員。

S除構造方法外,其他非私有成員都可以被繼承。私有數(shù)據成員雖然不能被繼承,

但在派生類中可以通過公有方法間接訪問。

0派生類可以通過聲明具有相同說明的新成員來隱藏那個被繼承的成員。但隱藏

繼承成員尹不移除該成員,它只是使被隱藏的成員在派生類中不行干脆訪問。

>子類對父類成員的繼承

?父類中用public修飾的公有成員,子類可繼承,子類內部可以干脆運用,外

界也可以通過子類運用。

?父類中用private修飾的私有成員,子類不能繼承,子類內部不能干脆運用,

外界也不能通過子類對象運用。但是,假如父類供應公有方法(如屬性方法),

在子類內部可以間接運用。

?父類中用protected修飾的愛惜成員,子類可以繼承,子類內部可以干脆運用,

外界僅限于同一包類中的類可以運用。

23.多態(tài)性:多態(tài)性是指允許不同類的對象對同一消息作出不同的響應。

24.子類調用父類相同名字的變量和方法。

>super關鍵字:關鍵字this指類的實例自己,而關鍵字super指父類。

3調用父類的構造方法:super(參數(shù)名);

?父類的構造方法不傳給子類,他們只能用關鍵字super在子類的構造方法

中調用

令super語句必需是第一條語句

?假如沒有顯式的運用super調用父類構造方法,就總是調用父類的默認構

造方法

?調用父類的方法:super,method();

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論