基礎(chǔ)-java基礎(chǔ)知識(shí)_第1頁
基礎(chǔ)-java基礎(chǔ)知識(shí)_第2頁
基礎(chǔ)-java基礎(chǔ)知識(shí)_第3頁
基礎(chǔ)-java基礎(chǔ)知識(shí)_第4頁
基礎(chǔ)-java基礎(chǔ)知識(shí)_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Java基礎(chǔ)部分

第一章初識(shí)Java

1.1Java簡(jiǎn)介

1、java是一種跨平臺(tái)的、面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。

2、java是一種通過解釋方式來執(zhí)行的語言,其語法規(guī)則和C++類似。

3、一次編寫,到處運(yùn)行。

4、Java語言編寫的程序既是編譯型的,又是解釋型的。

5、Java程序的編譯和運(yùn)行過程

6、按應(yīng)用范圍分為3個(gè)版本:JavaSE、JavaEE、JavaME即SunONE(OpenNetEnvironment)

體系。

7、JavaSE:java的標(biāo)準(zhǔn)版,主要用于桌面應(yīng)用程序的開發(fā),同時(shí)也是java的基礎(chǔ),它包

含Java語言基礎(chǔ)、JDBC(java數(shù)據(jù)庫連接性)操作、I/O(輸入/輸出)、網(wǎng)絡(luò)通信、多線

程技術(shù)。

JavaEE:java的企業(yè)版,主要用于開發(fā)企業(yè)級(jí)分布式的網(wǎng)絡(luò)程序,其核心為EJB(企業(yè)

Java組件模型)。

JavaME:主要用于嵌入式系統(tǒng)開發(fā)

8^API的全稱是ApplicationProgrammingInterface即應(yīng)用程序編程接口。

主要包括類的繼承結(jié)構(gòu)、成員變量利成員方、構(gòu)造方法、靜態(tài)成員的詳細(xì)說明和描述信息。

9、java與C++相比,Java語言簡(jiǎn)潔得多,而且提高了可靠性,除去了最大的程序錯(cuò)誤根源,

此外它還有較高的安全性。

1.2Java語言的特性

1、簡(jiǎn)單

(1)語法規(guī)則與C++類似。

(2)java語言對(duì)C++進(jìn)行了簡(jiǎn)化和提高。

例如:Java使用接口取代了多重繼承,并取消了指針,因?yàn)橹羔樅投嘀乩^承通常使程序變

得復(fù)雜。Java語言還通過實(shí)現(xiàn)垃圾自動(dòng)收集,大大簡(jiǎn)化了程序設(shè)計(jì)人員的資源釋放管理工

作。

(3)java提供了豐富的類庫和API文檔以及第三方開發(fā)包。

2、面向?qū)ο?/p>

是java語言的基礎(chǔ),java語言最外部的數(shù)據(jù)類型是對(duì)象,所有的元素都要通過類和對(duì)象來

訪問。

3、分布性

Java語言的分布性包括操作分布和數(shù)據(jù)分布。

4、可移植性

5、解釋型

6、安全性

7、健壯性

8、多線程

多線程機(jī)制能夠使應(yīng)用程序在同一時(shí)間并行執(zhí)行多項(xiàng)任務(wù),而且相應(yīng)的同步機(jī)制可以保證不

同線程能夠正確地共享數(shù)據(jù)。使用多線程,可以帶來更好的交互能力和實(shí)時(shí)行為。

9、高性能

10、動(dòng)態(tài)

1.3搭建Java環(huán)境

1.3.1JDK的下載

1.3.2配置環(huán)境變量

1.4第一個(gè)Java程序

publicclassHellojava{

publicstaticvoidmain(String[]args){

System,out.println("HelloJava");

)

)

第二章熟悉Eelipse開發(fā)工具

2.1熟悉EcIipse

1>IDE集成開發(fā)工具

2、Eclipse是由IBM公司投資開發(fā)的集成開發(fā)工具,它基于Java語言編寫,并且是開放源

代碼的、可擴(kuò)展的集成開發(fā)工具。

3、在學(xué)習(xí)Swing程序設(shè)計(jì)之前,必須使用控制臺(tái)實(shí)現(xiàn)與程序的交互。

2.2使用Eelipse

1、編輯器的主要功能都是完成Java程序、XML配置等代碼編寫或可視化設(shè)計(jì)工作。

2、Java編輯器以不同樣式或顏色顯示Java語法,主要包括:程序代碼注釋、Javadoc注釋、

Java關(guān)鍵字。

2.3程序調(diào)試

1、使用Eclipse的Java調(diào)試器需要設(shè)置程序斷點(diǎn),然后使用單步調(diào)試分別執(zhí)行程序代碼的

每一行。

2、設(shè)置斷點(diǎn)是程序調(diào)試中必不可少的手段,Java調(diào)試器每次遇到程序斷點(diǎn)時(shí)都會(huì)將當(dāng)前線

程掛起,即暫停當(dāng)前程序的運(yùn)行。

第三章Java語言基礎(chǔ)

3.1Java主類結(jié)構(gòu)

1、Java語言是面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,java程序的基本組成單元是類,類體中包括屬性

和方法兩部分。

2、每一個(gè)應(yīng)用程序都必須包含一個(gè)main。方法,含有main()方法的類稱為主類。

3、Package為包的關(guān)鍵字。Import關(guān)鍵字導(dǎo)入相關(guān)的類。

4、類的屬性稱之為類的全局變量(成員變量),將方法中的屬性稱之為局部變量。全局變量

聲明在類體中,局部變量聲明在方法體中。

5、Public、static>void分別是main()方法的權(quán)限修飾符、靜態(tài)修飾符和返回值修飾符。

main()方法是程序開始執(zhí)行的位置。

3.2基本數(shù)據(jù)類型

1、在java中有8種基本數(shù)據(jù)類型來存儲(chǔ)數(shù)值、字符和布爾值,如圖:

"整數(shù)類型(byte、short、int^long)

'數(shù)值型y

基本數(shù)據(jù)類型<字符型I浮點(diǎn)型(float、double)

,布爾型

2、整數(shù)類型用來存儲(chǔ)整數(shù)數(shù)值,既沒有小數(shù)部分的數(shù)值。

十進(jìn)制:不能以0作為十進(jìn)制數(shù)的開頭。

八進(jìn)制:必須以0開頭。

十六進(jìn)制:必須以O(shè)x或0X開頭。

3、浮點(diǎn)類型表示有小數(shù)部分的數(shù)字。在默認(rèn)情況下小數(shù)都看作double型。

4、字符類型(char)用于存儲(chǔ)單個(gè)字符,占用16位(兩個(gè)字節(jié))的內(nèi)存空間。定義字符型

變量時(shí),以單引號(hào)表示。以雙引號(hào)表示的是字符串

5、布爾類型又稱邏輯類型,通過關(guān)鍵字boolean來定義布爾類型變量,只有true和false

兩個(gè)值,分別代表布爾邏輯中的‘真'和‘假

6、數(shù)據(jù)類型

數(shù)據(jù)類型內(nèi)存空間(8位等于1字節(jié))

byte8位

short16位

int32位

long64位

char16位

float32位

double64位

7,轉(zhuǎn)義字符

\t垂直制表符,將光標(biāo)移動(dòng)下一個(gè)制表符的位置。

\n換行

\r回車

\b退格

\f換頁

3.3變量與常量

1、Java語言規(guī)定標(biāo)識(shí)符有任意順序的字母、下劃線、美元符號(hào)和數(shù)字組成,并且第一個(gè)字

符不能是數(shù)字。標(biāo)識(shí)符不能是java中的保留關(guān)鍵字.Java語言中標(biāo)識(shí)符中的字母是嚴(yán)格區(qū)

分大小寫的。

2、系統(tǒng)的內(nèi)存可分為3個(gè)區(qū)域,即系統(tǒng)區(qū)(0S)、程序區(qū)(Program)和數(shù)據(jù)區(qū)(Data)。

3、在程序運(yùn)行過程中一直不會(huì)改變的量稱為常量,通常也稱為“final變量”。常量在整個(gè)

程序中只能被賦值一次。

聲明常量的標(biāo)準(zhǔn)語法如下:

Final數(shù)據(jù)類型常量名稱口值]

4、變量的有效范圍是指程序代碼能夠訪問該變量的區(qū)域,若超出該區(qū)域,則在編譯時(shí)會(huì)出

現(xiàn)錯(cuò)誤。

5、變量按“有效范圍”可分為“成員變量”和“局部變量”。在類體中所定義的變量被稱為

成員變量,成員變量在整個(gè)類中都有效。成員變量又可分為靜態(tài)變量和實(shí)例變量。

6、在類的方法體中定義的變量稱為局部變量。局部變量只在當(dāng)前代碼塊中有效。

7、局部變量可與成員變量的名字相同,此時(shí)成員變量將被隱藏,即這個(gè)成員變量在此方法

中暫時(shí)失效。

8、變量的有效范圍如圖:

3.4運(yùn)算符

1、賦值運(yùn)算符“=":二元運(yùn)算符,其功能是將右方操作數(shù)所含的值賦給左方的操作數(shù)。若

含有多個(gè)“=”運(yùn)算符,會(huì)從最右方的開始處理。

2、算術(shù)運(yùn)算符:Java中的算術(shù)運(yùn)算符主要有+-*/%都為二元運(yùn)算符。

3、自增和自減運(yùn)算符都為單目運(yùn)算符

++a(—a)表示在使用變量a之前,先使a的值加(減)1?

a++(a-)表示在使用變量a之后,使a的值加(減)1。

4、比較運(yùn)算符:><==>=<=!=都屬于二元運(yùn)算符,其結(jié)果是boolean型。

5、邏輯運(yùn)算符包括&(&&)(邏輯與)、||(邏輯或)、?。ㄟ壿嫹牵?。邏輯運(yùn)算符的操作元必須

是boolean型數(shù)據(jù)。除“心是一元運(yùn)算符之外,其他都是二元運(yùn)算符。

6、邏輯運(yùn)算符“&&”與都表示“邏輯與”,它們之間的區(qū)別是:使用邏輯運(yùn)算符

會(huì)判斷兩個(gè)表達(dá)式;而邏輯運(yùn)算符“&&”則是針對(duì)boolean類型的類進(jìn)行判斷,當(dāng)?shù)谝粋€(gè)表

達(dá)式為false時(shí)則不去判斷第二個(gè)表達(dá)式,直接輸出結(jié)果。

7、整數(shù)數(shù)據(jù)在內(nèi)存是以二進(jìn)制的形式表示。

8、位運(yùn)算符:左邊最高位的符號(hào)位,最高位是0表示正數(shù),若為1則表示負(fù)數(shù)。負(fù)數(shù)采用

補(bǔ)碼表示

(1)“按位與”運(yùn)算雙目運(yùn)算符

其運(yùn)算法則:如果兩個(gè)整型數(shù)據(jù)對(duì)應(yīng)為都是1,則結(jié)果位才是1,否則為0。

(2)“按位或"運(yùn)算“|"雙目運(yùn)算符

其運(yùn)算法則:如果兩個(gè)操作數(shù)對(duì)應(yīng)為都是0,則結(jié)果位才是0,否則為1。

(3)“按位取反”運(yùn)算單目運(yùn)算符

將操作數(shù)二進(jìn)制中的1修改為0,0修改為1。

(4)“按位異或"運(yùn)算”2,雙目運(yùn)算符

其運(yùn)算法則:當(dāng)兩個(gè)操作數(shù)二進(jìn)制表示相同時(shí),結(jié)果為0,否則為1。若兩個(gè)操作數(shù)的

精度不同,則結(jié)果數(shù)的精度與精度高的操作數(shù)相同。

(5)移位操作

(6)?左移左邊移空的部分補(bǔ)0

?右移如果最高位是0,右移空的位就填入0;如果最高位是1,右移空的位就填

入1

?>無符號(hào)右移無論最高位是0還是1,左側(cè)被移空的高位都填入0。

(7)三元運(yùn)算符

其使用格式:條件式?值1:值2

三元運(yùn)算符等價(jià)于if....else語句

3.5數(shù)據(jù)類型轉(zhuǎn)換

1、數(shù)據(jù)類型轉(zhuǎn)換有兩種方式,即隱式轉(zhuǎn)換與顯式轉(zhuǎn)換。

2、從低級(jí)類型向高級(jí)類型的轉(zhuǎn)換,系統(tǒng)將自動(dòng)執(zhí)行,這種類型的轉(zhuǎn)換稱為隱式轉(zhuǎn)換。

3、當(dāng)把高精度的變量的值賦給低精度的變量時(shí),必須使用顯式類型轉(zhuǎn)換運(yùn)算(又稱強(qiáng)制類

型轉(zhuǎn)換)??赡軐?dǎo)致精度損失。只要是boolean類型以外其他基本類型之間的轉(zhuǎn)換,全部都

能以顯式類型轉(zhuǎn)換的方法達(dá)到。

語法如下:

(類型名)要轉(zhuǎn)換的值

3.6代碼注釋與編碼規(guī)范

1、在程序代碼中適當(dāng)?shù)靥砑幼⑨尶梢蕴岣叱绦虻目勺x性和可維護(hù)性。

2、Java語言提供3種添加注釋的方法,分別為單行注釋、多行注釋和文檔注釋。

3、軟件編碼規(guī)范中提到“可讀性第一”,“效率第二”。

注:String類型不是Java語言的基本數(shù)據(jù)類型

第四章流程控制

4.1復(fù)合語句

1、Java語言的復(fù)合語句是以整個(gè)塊區(qū)位單位的語句,所以又稱為塊語句。

2、復(fù)合語句以整個(gè)塊為單位,可以用在任何一個(gè)單獨(dú)語句可以用到的地方,并且在復(fù)合語

句中可以嵌套復(fù)合語句。

4.2條件語句

1、條件語句包括if條件語句與switch多分支語句。

2、If條件語句可分為簡(jiǎn)單的if條件語句、if...else語句和if...elseif多分支語句。

3、If語句只執(zhí)行條件為真的命令語句,其他語句都不會(huì)執(zhí)行。

4、Switch語句中表達(dá)式的值必須是整型、字符型或字符串型。

5、Switch語句首先計(jì)算表達(dá)式的值,如果表達(dá)式的值和某個(gè)case后面的變量值相同,則

執(zhí)行該case語句后的若干個(gè)語句直到break語句為止。若沒有一個(gè)常量的值與表達(dá)式的值

相同,則執(zhí)行default后面的語句。若沒有default語句則不再做任何處理。

6、同一個(gè)switch語句,case的常量值必須互不相同。

7、在switch語句中,case語句后常量表達(dá)式的值可以為整數(shù),但絕不可以是實(shí)數(shù)。

4.3循環(huán)語句

1、循環(huán)語句就是在滿足一定條件的情況下反復(fù)執(zhí)行某一個(gè)操作。在Java中提供了3種常用

的循環(huán)語句,分別是while循環(huán)語句、do...while循環(huán)語句和for循環(huán)語句。

2>While語句也稱條件判斷語句,它的循環(huán)方式為利用一個(gè)條件來控制是否要繼續(xù)反復(fù)執(zhí)

行這個(gè)語句。

3、do...while循環(huán)語句與while循環(huán)語句之間的區(qū)別是while語句為先判斷條件是否成立

再執(zhí)行循環(huán)體,而do...while循環(huán)語句則先執(zhí)行?次循環(huán)后,再判斷條件是否成立。也就

是說do...while循環(huán)語句中“{}”中的程序段至少要被執(zhí)行一次。

4、for語句

for(表達(dá)式1;表達(dá)式2;表達(dá)式3)

語句序列

}

表達(dá)式1:初始化表達(dá)式,負(fù)責(zé)完成變量的初始化。

表達(dá)式2:循環(huán)條件表達(dá)式,值為boolean型的表達(dá)式,指定循環(huán)條件。

表達(dá)式3:循環(huán)后操作表達(dá)式,負(fù)責(zé)修整變量,改變循環(huán)條件。

第五章字符串

5.1String類

1、在Java語言中將字符串作為對(duì)象來處理,可以通過java.lang包中的String類來創(chuàng)建

字符串對(duì)象。

2、在Java語言中字符串必須包含在一對(duì)雙引號(hào)("")之內(nèi),不能作為其他數(shù)據(jù)類型來使

用。

3、字符串變量的語法格式:

Stringstr=[null]

(1)String:指定該變量為字符串類型。

(2)str:任意有效的標(biāo)識(shí)符,表示字符串變量的名稱。

(3)null:如果省略null,表示str變量時(shí)未初始化的狀態(tài),否則表示聲明的字符串的值

等于null。

4、聲明字符串變量必須經(jīng)過初始化才能使用,否則編譯器會(huì)報(bào)出“變量未被初始化錯(cuò)誤”。

5、String類的構(gòu)造方法如下:

(1)String(chara[])方法用一個(gè)字符數(shù)組a創(chuàng)建String對(duì)象。

(2)String(chara[],intoffset,intlength)

提取字符數(shù)組a中的-?部分創(chuàng)建一個(gè)字符串對(duì)象。參數(shù)offset表示開始截取字符串的

位置,length表示截取字符串的長(zhǎng)度。

(3)String(chara[]value)

該構(gòu)造方法可分配一個(gè)新的String對(duì)象,使其表示字符數(shù)組參數(shù)中所有元素連接的結(jié)

果。

5.2連接字符串

1,使用“+”運(yùn)算符可實(shí)現(xiàn)多個(gè)字符串的功能?!?”運(yùn)算符可以連接多個(gè)運(yùn)算符并產(chǎn)生一個(gè)

String對(duì)象。(“+”運(yùn)算符是連接符)

2、Java中一句相連的字符串不能分開在兩行中寫,如果要寫成兩行必須使用“+”運(yùn)算符

連接。

3、字符串也可以同其他基本數(shù)據(jù)類型進(jìn)行連接。如果字符串同這些數(shù)據(jù)類型數(shù)據(jù)進(jìn)行連接,

會(huì)將這些數(shù)據(jù)直接轉(zhuǎn)換成字符串。

5.3獲取字符串信息

1、使用String類的length。方法可獲取聲明的字符串對(duì)象的長(zhǎng)度(包括字符串中的空格)。

語法如下:str.length();

2、indexOf(Strings)方法返回的是搜索的字符或字符串首次出現(xiàn)的位置,如果沒有檢索到

字符串s,該方法的返回值是-1。

語法如下:str.indexOf(substr);

3、lastlndexOf(Stringstr)方法用于返回指定字符串最后一次出現(xiàn)的索引位置,如果沒有

檢索到字符串str,該方法的返回值是T。

語法如下:str.lastlndexOf(substr);

4、如果lastlndexOf。方法中的參數(shù)是空字符串""(注意沒有空格),則返回的結(jié)果與調(diào)

用該字符串length。方法的返回結(jié)果相同。

5、使用charAt()方法可將指定索引處的字符返回。

語法如下:str.charAt(intindex);

5.4字符串操作

1、通過String類的substring。方法可對(duì)字符串進(jìn)行截取。都是利用字符串的卜標(biāo)進(jìn)行截

取,且應(yīng)明確字符串下標(biāo)是從0開始的。

2、substring(intbeginlndex)

該方法返回的是從指定的索引位置開始截取直到該字符串結(jié)尾的子串。

語法如下:str.substring(intbeginlndex);

3、substring(intbeginlndex,endindex)

該方法返回的是從字符串某一個(gè)索引位置開始截取至某一個(gè)索引位置結(jié)束的子串(不包

括最后一位)。

語法如下:str.substring(intbeginlndex,endindex);

4、trim。方法返回字符串的副本,忽略前導(dǎo)空格和尾部空格。

語法如下:str.trim();

5、replace。方法可實(shí)現(xiàn)將指定的字符或字符串替換成新的的字符或字符串。

語法如下:str.replace(chaeoldChar,charnewChar);

6、startsWith()方法與endsWith()方法分別用于判斷字符串是否以指定的內(nèi)容開始或結(jié)

束。這兩個(gè)方法返回值都為boolean類型。

7、對(duì)字符串對(duì)象進(jìn)行比較不能簡(jiǎn)單地使用比較運(yùn)算符“==",因?yàn)楸容^運(yùn)算符比較的是兩個(gè)

字符串的地址是否相同。即使兩個(gè)字符串的內(nèi)容相同,兩個(gè)對(duì)象的內(nèi)存地址也不不同的,使

用比較運(yùn)算符依然返回的是false。

8、要比較兩個(gè)字符串內(nèi)容是否相等,應(yīng)使用equals。方法和equalsIgnoreCaseO方法。

9、equals。方法如果兩個(gè)字符串具有相同的字符和長(zhǎng)度,則使用equals()方法進(jìn)行比較

時(shí),返回true。(區(qū)分大小寫)

語法如下:str.equals(Stringotherstr);

10、equalsIgnoreCaseO方法在忽略大小寫的情況下比較兩個(gè)字符串是否相等,返回結(jié)果

為boolean類型。

語法如下:str.equalsIgnoreCase(Stringotherstr);

11、compareToO方法為按字典順序比較兩個(gè)字符串,該比較基于字符串的各個(gè)字符的

Unicode值。如果按字典順序此String對(duì)象位于參數(shù)字符串之前,則比較結(jié)果為一個(gè)負(fù)整

數(shù);如果按字典順序此String對(duì)象位于參數(shù)字符串之后,則比較結(jié)果為一個(gè)正整數(shù);如果

這兩個(gè)字符串相等,則結(jié)果為0。

語法如下:pareTo(Stringotherstr);

注:compareToO方法只有在equals(Object)方法返回true時(shí)才返回0。

12、toLowerCaseO方法該方法將String轉(zhuǎn)換為小寫。

語法如下:str.toLowerCase();

13、toUpperCaeO方法該方法將String轉(zhuǎn)換為大寫。

語法如下:str.toUpperCae();

14、使用split。方法可以使字符串按指定的分割字符或字符串對(duì)內(nèi)容進(jìn)行分割,并將分割

后的結(jié)果存放在字符串?dāng)?shù)組中。

15、split(Stringsign)該方法可根據(jù)給定的分割符對(duì)字符串進(jìn)行拆分。

語法如下:str.split(Stringsign);

16、split(Stringsign,intlimit)該方法可根據(jù)給定的分割符對(duì)字符串進(jìn)行拆分,并

限定拆分的次數(shù)。

語法如下:str.split(Stringsign,intlimit);

5.5格式化字符串

1、String類的靜態(tài)format。方法用于創(chuàng)建格式化的字符串。

5.6使用正則表達(dá)式

5.7字符串生成器

1、append。方法

該方法用于向字符串生成器中追加內(nèi)容。

語法如下:append(content);其中content表示要追加到字符串生成器中的內(nèi)容,可

以是任何類型的數(shù)據(jù)或者其他對(duì)象。

2、insert(intoffset,arg)方法

該方法用于向字符串生成器中的指定位置插入數(shù)據(jù)內(nèi)容。

語法如下:insert(intoffset,arg);

3、delete(intstart,intend)方法

移除此序列的子字符串中的字符。該子字符串從指定的start處開始。一直到索引end-1

處的字符,如果不存在這種字符,則一直到序列尾部。如果start等于end在,則不發(fā)生任

何更改。

語法如下:delete(intstart,intend)

第六章數(shù)組

1、數(shù)組是最為常見的一種數(shù)據(jù)結(jié)構(gòu),是相同類型的、用同一標(biāo)識(shí)符封裝到一起的基本類型

數(shù)據(jù)序列或?qū)ο笮蛄小?/p>

2、數(shù)組是具有相同數(shù)據(jù)類型的一組數(shù)據(jù)的集合。在Java中同樣將數(shù)組看作一個(gè)對(duì)象,雖然

基本數(shù)據(jù)類型不是對(duì)象,但由基本數(shù)據(jù)類型組成的數(shù)組卻是對(duì)象。

3、數(shù)組作為對(duì)象允許使用new關(guān)鍵字進(jìn)行內(nèi)存分配。

4、一維數(shù)組的創(chuàng)建方式:

(1)先聲明,再用new運(yùn)算符進(jìn)行內(nèi)存分配

數(shù)組元素類型數(shù)組名字口;

數(shù)組元素類型口數(shù)組名字;

數(shù)組元素類型決定了數(shù)組的數(shù)據(jù)類型。

語法格式如下:數(shù)組名字=new數(shù)組元素類型[數(shù)組元素的個(gè)數(shù)];

注:使用new關(guān)鍵字分配數(shù)組時(shí),必須指定數(shù)組元素的類型和數(shù)組元素個(gè)數(shù),即數(shù)組的長(zhǎng)度。

數(shù)組的卜標(biāo)從0開始。使用new關(guān)鍵字為數(shù)組分配內(nèi)存時(shí),整型數(shù)組中各個(gè)元素的初始值都

為0.

(2)聲明的同時(shí)為數(shù)組分配內(nèi)存

語法如下:數(shù)組元素類型數(shù)組名=new數(shù)組元素類型[數(shù)組元素的個(gè)數(shù)];

5、二維數(shù)組的創(chuàng)建

(1)先聲明,再用new運(yùn)算符進(jìn)行內(nèi)存分配

數(shù)組元素類型數(shù)組名字口口;

數(shù)組元素類型口□數(shù)組名字;

(2)聲明的同時(shí)為數(shù)組分配內(nèi)存

語法格式如下:typearrayname[][]={valuel,valuel,value2....value);

type:數(shù)組數(shù)據(jù)類型。

arrayname:數(shù)組名稱,?個(gè)合法的標(biāo)識(shí)符。

value:數(shù)組中各元素的值。

6、遍歷數(shù)組就是獲取數(shù)組中的每個(gè)元素。通常遍歷數(shù)組都是使用for循環(huán)來實(shí)現(xiàn)。

遍歷二維數(shù)組需要使用雙層for循環(huán),通過數(shù)組的length屬性可獲得數(shù)組的長(zhǎng)度。

7、數(shù)組中的元素定義完成后,可通過Arrays類的靜態(tài)方法fill。來對(duì)數(shù)組中的元素進(jìn)行

替換。

8、通過Arrays類的靜態(tài)sort。方法可以實(shí)現(xiàn)對(duì)數(shù)組的排序??蓪?duì)任意類型的數(shù)組進(jìn)行升

序排序。

語法如下:Arrays,sort(object);

9、Java中的String類型數(shù)組的排序算法是根據(jù)字典編排順序排序的,因此數(shù)字排在字母

前面,大寫字母排在小寫字母前面。

10、copyOfO方法是復(fù)制數(shù)組至指定的長(zhǎng)度。

語法如下:copy0f(arr,intnewlength);

arr:要進(jìn)行復(fù)制的數(shù)組。

newlength:int型常量,值復(fù)制后的新數(shù)組的長(zhǎng)度(整型數(shù)組填充0,char型數(shù)

組填充null)?

11>copyOfRange()方法則將指定數(shù)組的指定長(zhǎng)度復(fù)制到一個(gè)新數(shù)組中。

語法如下:copyOfRange(arr,intformlndex,inttolndex);

arr:要進(jìn)行復(fù)制的數(shù)組。

formindex:指定開始復(fù)制數(shù)組的索引位置。

tolndex:要復(fù)制范圍的最后索引位置。新數(shù)組不包括索引是tolndex的元素。

12、Arrays類的binarySearch()方法,可使用二分搜索法搜索指定數(shù)組,以獲得指定對(duì)象。

該方法返回要搜索元素的索引值。

13、binarySearch(Object[].Objectkey)

語法如下:binarySearch(Object[]a.Objectkey)

a:是搜索的數(shù)組。

Key:要搜索的值。

binarySearch(Object[].,intformindex,inttolndex,Objectkey)

該方法在指定的范圍之內(nèi)檢索某一元素。

a:是搜索的數(shù)組。

formindex:指定范圍的開始處索引(包含)。

tolndex:指定范圍的結(jié)束處索引(不包含)。

Key:要搜索的元素。

14、必須在進(jìn)行調(diào)用之前對(duì)數(shù)組進(jìn)行排序(通過sort。方法)。如果沒有對(duì)數(shù)組進(jìn)行排序,

則結(jié)果是不確定的。

15、冒泡排序的基本思想:是對(duì)比相鄰的元素值,如果滿足條件就交換元素值,把較小的元

素移動(dòng)到數(shù)組前面,把大的元素移動(dòng)到數(shù)組后面,這樣較小的元素就像氣泡一樣從底部上升

到頂部。(由雙層循環(huán)實(shí)現(xiàn))

16、直接選擇排序的基本思想:是將指定排序的位置與其他數(shù)組元素分別對(duì)比,如果滿足條

件就交換元素。

注意:這里區(qū)別冒泡排序,不是交換相鄰元素,而是把滿足條件的元素與指定的排

序位置交換,這樣排序好的位置逐漸擴(kuò)大,最后整個(gè)數(shù)組都成為已排序好的格式。

17、反轉(zhuǎn)排序的基本思想:把數(shù)組最后一個(gè)元素與第一個(gè)元素替換,倒數(shù)第二個(gè)元素與第二

個(gè)元素替換,依此類推,直到把所有數(shù)組元素反轉(zhuǎn)替換。

第七章類和對(duì)象

1、面向?qū)ο笤O(shè)計(jì)實(shí)質(zhì)就是對(duì)現(xiàn)實(shí)世界的對(duì)象進(jìn)行建模操作。

2、類實(shí)質(zhì)上就是封裝對(duì)象屬性和行為的載體,而對(duì)象則是類抽象出的一個(gè)實(shí)例。

3、具有相同屬性和行為的一類實(shí)體被稱為類。

4、在Java語言中,類中對(duì)象的行為時(shí)以方法的形式定義的,對(duì)象的屬性是以成員變量的形

式定義的,而類包括對(duì)象的屬性和行為。

5、面向?qū)ο蟪绦蛟O(shè)計(jì)具有以下特點(diǎn):封裝性、繼承性、多態(tài)性。

6、封裝是面向?qū)ο缶幊痰暮诵乃枷耄瑢?duì)象的屬性和行為封裝起來,其載體就是類,類通

常對(duì)客戶隱藏其實(shí)現(xiàn)細(xì)節(jié),這就是封裝的思想。

7、繼承性主要是利用特定對(duì)象之間的共有屬性。父類、超類/子類

8、將父類對(duì)象應(yīng)用于子類的特征就是多態(tài),多態(tài)的實(shí)現(xiàn)不依賴于具體類,而是依賴于抽象

類和接口。

9、在Java語言中對(duì)象的屬性以成員變量的形式存在,對(duì)象的方法以成員方法的形式存在。

10、在Java語言中使用class關(guān)鍵字來定義類。

11、定義成員方法的語法格式如下:

權(quán)限修飾符返回值類型方法名(參數(shù)類型參數(shù)名){

.....〃方法體

return返回值;

12、如果方法需要返回值可以在方法體中使用return關(guān)鍵字,使用這個(gè)關(guān)鍵字后,方法的

執(zhí)行將被終止。

13>Java中的成員方法無返回值可以使用void關(guān)鍵字表示。

14、如果一個(gè)方法中含有與成員變量同名的局部變量,則方法中對(duì)這個(gè)變量的訪問以局部變

量進(jìn)行。

15、Java中的權(quán)限修飾符主要包括private、public和protected,這些修飾符控制著對(duì)類

和類的成員變量以及成員方法的訪問。

16、Java語言中的修飾符權(quán)限

訪問包位置類修飾符

privateprotectedpublic

本類可見可見可見

同包其他類或子類不可見可見可見

其他包的類或子類不可見不可見可見

17、如果在成員方法內(nèi)定義一個(gè)變量,那么這個(gè)變量被稱為局部變量。

18、局部變量在方法被執(zhí)行時(shí)創(chuàng)建,在方法執(zhí)行結(jié)束時(shí)被銷毀。局部變量在使用時(shí)必須進(jìn)行

賦值操作或被初始化,否則會(huì)出現(xiàn)編譯錯(cuò)誤。

19、可以將局部變量的有效范圍稱為變量的作用域,局部變量的有效范圍從該變量的聲明開

始到該變量的結(jié)束為止。

20、在相互不嵌套的作用域中可以同時(shí)聲明兩個(gè)名稱和類型相同的局部變量。

21、在Java語言中規(guī)定使用this關(guān)鍵字來代表本類對(duì)象的引用,this關(guān)鍵字被隱式地用

于引用對(duì)象的成員變量和方法。

22、構(gòu)造方法是一個(gè)與類同名的方法,對(duì)象的創(chuàng)建就是通過構(gòu)造方法完成的。每當(dāng)類實(shí)例化

一個(gè)對(duì)象時(shí),類都會(huì)自動(dòng)調(diào)用構(gòu)造方法。

23、構(gòu)造方法的特點(diǎn)如下:

(1)構(gòu)造方法沒有返回值。

(2)構(gòu)造方法的名稱要與本類的名稱相同。

24、在定義構(gòu)造方法時(shí),構(gòu)造方法沒有返回值,但這與普通沒有返回值的方法不同,普通沒

有返回值的方法使用publicvoidmethodExO這種形式進(jìn)行定義,但構(gòu)造方法并不需要使

用void關(guān)鍵字進(jìn)行修飾。

25、構(gòu)造方法的定義語法格式如下:

Publicbook(){

//...構(gòu)造方法體

}

26、在無參構(gòu)造方法中可以使用this關(guān)鍵字調(diào)用有參構(gòu)造方法,但使用這種構(gòu)造方式需要

主要的是只可以在無參構(gòu)造方法中的第一句使用this調(diào)用有參構(gòu)造方法。

27、由static修飾的變量、常量和方法被稱做靜態(tài)變量、常量和方法。

28、在Java語言中對(duì)靜態(tài)方法有兩點(diǎn)規(guī)定:

(1)在靜態(tài)方法中不可以使用this美鍵字。

(2)在靜態(tài)方法中不可以直接調(diào)用非靜態(tài)方法。

29、在Java中規(guī)定不能將方法體的局部變量聲明為static的。

30、主方法是類的入口點(diǎn),它定義了程序從何處開始;主方法提供對(duì)程序流向的控制,Java

編譯器通過主方法來執(zhí)行程序。主方法的語法如下:

Publicstaticvoidmain(String[]args){

〃方法體

)

特性:主方法是靜態(tài)的、沒有返回值、形參為數(shù)組。

31、在Java語言中通過new操作符來創(chuàng)建對(duì)象。

32、在Java語言中有兩種對(duì)象的比較方式,分別為“=="運(yùn)算符與equals()方法。

(1)“=="運(yùn)算符比較的是兩個(gè)對(duì)象引用的地址是否相等。

(2)equals。方法是用于比較兩個(gè)對(duì)象引用所指的內(nèi)容是否相等。

33、(1)對(duì)象引用超過其作用范圍,這個(gè)對(duì)象將被視為垃圾。

(2)將對(duì)象賦值為null

以上兩種情形的對(duì)象將會(huì)被Java虛擬機(jī)視為垃圾。

雖然垃圾回收機(jī)制很完善,但垃圾回收器只能回收那些由new操作符創(chuàng)建的對(duì)象。finalize。

方法的調(diào)用可以回收垃圾。Java提供了System.gc()方法強(qiáng)制啟動(dòng)垃圾回收器。

第八章包裝類

1、Integer類的常用方法

方法返回值功能描述

byteValue()byte以byte類型返回該Integer的值

compareTo(Integerint在數(shù)字上比較兩個(gè)Integer對(duì)象。如果兩個(gè)值

anotherlnteger)相等,則返回0;如果調(diào)用對(duì)象的數(shù)值小于

anotherlnteger的數(shù)值,則返回負(fù)值;如果調(diào)

用對(duì)象的數(shù)值大于anotherlnteger的數(shù)值,則

返回正值;

equals(ObjectIntegerObj)boolean比較此對(duì)象與指定的對(duì)象是否相等

intValueOint以int型返回此Integer對(duì)象

shortValueOshort以short型返回此Integer對(duì)象

toStringOString返回一個(gè)表示該Integer值的String對(duì)象

valueOf(Stringstr)Integer返回保存指定的String值的Integer對(duì)象

parselnt(Stringstr)int返回包含在由str指定的字符串中的數(shù)字的等

價(jià)整數(shù)值

2、Integer類的toStringO方法可將Integer對(duì)象轉(zhuǎn)換為上進(jìn)制字符串表示。

Integer類的toBinaryStringO方法可將Integer對(duì)象轉(zhuǎn)換為二進(jìn)制字符串表示。

Integer類的toHexStringO方法可將Integer對(duì)象轉(zhuǎn)換為卜六進(jìn)制字符串表示。

Integer類的toOctalStringO方法可將Integer對(duì)象轉(zhuǎn)換為八進(jìn)制字符串表示。

3、Boolean類的常用方法

方法返回值功能描述

booleanValue()boolean將Boolean對(duì)象的值以對(duì)應(yīng)的boolean值

返回

equals(Objectobj)boolean判斷調(diào)用該方法的對(duì)象與obj是否相等

parseBoolean(Strings)boolean將字符串參數(shù)解析為boolean值

toStringOString返回表示該boolean值的String對(duì)象

valueOf(Strings)boolean返回一個(gè)用指定的字符串表示值的

boolean值

4、Byte類的常用方法

方法返回值功能描述

byteValue()byte以一個(gè)byte值返回Byte對(duì)象

compareTo(ByteanotherByte)int在數(shù)字上比較兩個(gè)Byte對(duì)象

doubleValue()double以一個(gè)double值返回Byte對(duì)象

intValue()int以一個(gè)int值返回Byte對(duì)象

parseByte(Strings)byte將String型參數(shù)解析成等價(jià)的字節(jié)(byte)

形式

toString()String返回表示此Byte的值的String

valueOf(Stringstr)Byte返回一個(gè)保持指定String所給出的值的

Byte對(duì)象

Equals(objectobj)boolean將此對(duì)象與指定對(duì)象比較,如果調(diào)用該方法

的對(duì)象與obj相等,則返回true,否則返回

false

5、Character的常用方法

方法返回值功能描述

charvalue()char返回此character對(duì)象的值

compareTo(Characterint根據(jù)數(shù)字比較兩個(gè)Character對(duì)象,若這兩

anotherCharacter)個(gè)對(duì)象相等則返回0

equals(Objectobj)Boolean將調(diào)用該方法的對(duì)象與指定的對(duì)象相比較

toUpperCase(charch)char將字符參數(shù)轉(zhuǎn)換為大寫

toLowerCase(charch)char將字符參數(shù)轉(zhuǎn)換為小寫

toStringOString返回一個(gè)表示指定char值的String對(duì)象

charValue()char返回此Character對(duì)象的值

isUpperCase(charch)boolean判斷指定字符是否是大寫字符

isLowerCase(charch)boolean判斷指定字符是否是小寫字符

6、Double類的常用方法

方法返回值功能描述

byteValue()byte以byte形式返回Double對(duì)象值(通過

強(qiáng)制轉(zhuǎn)換)

compareTo(Doubled)int對(duì)兩個(gè)Double對(duì)象進(jìn)行數(shù)值比較。如果

兩個(gè)值相等,則返回0;如果調(diào)用對(duì)象

的數(shù)值小于d的數(shù)值,則返回負(fù)值;如

果調(diào)用對(duì)象的數(shù)值大于d的數(shù)值,則返

回正值;

equals(Objectobj)boolean將此對(duì)象與指定的對(duì)象相比較

intValue()int以int形式返回double值

isNaNboolean如果此double值是非數(shù)字(NaN)值,

則返回true;否則返回false

toString()String返回此Double對(duì)象的字符串表示形式

valueOf(Stringstr)Double返回保存用參數(shù)字符串str表示的

double值的Double對(duì)象

doubleValue()double以double形式返回此Double對(duì)象

longValue()long以long形式返回此double的值(通過

強(qiáng)制轉(zhuǎn)換為long)

7、Number類的方法

方法返回值功能描述

byteValue()byte以byte形式返回指定的數(shù)值

intValue()int以int形式返回指定的數(shù)值

floatValueOfloat以float形式返回指定的數(shù)值

shortValue()short以short形式返回指定的數(shù)值

longValue()long以long形式返回指定的數(shù)值

doubleValue()double以double形式返回指定的數(shù)值

第九章數(shù)字處理類

DecimalFormat類用于格式化數(shù)字

Math類為各種數(shù)學(xué)計(jì)算提供了工具方法

Random類為Java處理隨機(jī)數(shù)問題提供了各種方法

Biginteger類與BigDecimal類為所有的大數(shù)字處理提供了相應(yīng)的數(shù)學(xué)運(yùn)算操作方法

9.1數(shù)字格式化

1>Java主要對(duì)浮點(diǎn)型數(shù)據(jù)進(jìn)行數(shù)字格式化操作,其中浮點(diǎn)型數(shù)據(jù)包括

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論