国产欧美国产精品第二区-国产欧美日韩亚洲一区-国产中文字幕一区在线-欧美一级在线免费播放

登錄
免費注冊
400-6565-277
首頁圖

新聞動態(tài)

news information

100條必背JAVA知識點,你都掌握了嗎?(上)

2022-07-14作者:捷碼瀏覽:

為了便于大家學(xué)習(xí),本文整理分享一下100條初學(xué)者必背的Java知識點。由于篇幅過長,首先分享前50條,干貨滿滿,建議先收藏哦~

 

1.編寫:編寫的Java代碼保存在以“.java”結(jié)尾的源文件中。

 

2.編譯:使用javac.exe命令編譯java源文件,生成字節(jié)碼文件。格式:javac 源文件名.java

 

3.運行:使用java.exe命令解釋運行字節(jié)碼文件。格式:java 類名

 

4.在一個java源文件中可以聲明多個class,但是只能最多有一個類聲明為public,而且被聲明為public的類的類名必須與源文件名相同。

 

5.java關(guān)鍵字中所有字母都為小寫

 

6.Java中的名稱命名規(guī)范:包名:多單詞組成時所有字母都小寫:xxxyyyzzz 類名、接口名:多單詞組成時,所有單詞的首字母大寫:XxxYyyZzz變量名、方法名:多單詞組成時,第一個單詞首字母小寫,第二個單詞開始每個 單詞首字母大寫:xxxYyyZzz常量名:所有字母都大寫。多單詞時每個單詞用下劃線連接:XXX_YYY_ZZZ

 

7.字符串是屬于一個類,屬于引用數(shù)據(jù)類型

7.png 

 

8.在類體內(nèi),在方法體外聲明的變量稱為成員變量。

 

9.在方法體內(nèi)部聲明的變量稱為局部變量。局部變量除形參外,需顯式初始化才能使用。(形參也是局部變量)

 

10.java的整型常量默認(rèn)為 int 型,聲明long型常量須后加‘l’或‘L’。

 

11.Java的浮點型常量默認(rèn)為double型,聲明float型常量,須后加‘f’或‘F’。

 

12.Java中的所有字符都使用Unicode編碼,一個字符可以存儲一個字母,一個漢字,所以java中char類型是兩個字節(jié)。

 

13.boolean類型數(shù)據(jù)只允許取值true和false,無null。不可以使用0或非 0 的整數(shù)替代false和true。Java虛擬機中沒有任何供boolean值專用的字節(jié)碼指令,Java語言表達(dá)所操作的 boolean值,在編譯之后都使用java虛擬機中的int數(shù)據(jù)類型來代替:true用1表示,false 用0表示。

 

14.雖然long類型是8個字節(jié),float是4個字節(jié),但是float類型采用科學(xué)計數(shù)法存儲,所以float類型的存儲范圍比long類型更大。

14.png 

 

15.自動類型轉(zhuǎn)換:容量小的類型自動轉(zhuǎn)換為容量大的數(shù)據(jù)類型。byte,short,char之間不會相互轉(zhuǎn)換,他們?nèi)咴谟嬎銜r首先轉(zhuǎn)換為int類型。

15.png 

 

16.強制類型轉(zhuǎn)換:將容量大的數(shù)據(jù)類型轉(zhuǎn)換為容量小的數(shù)據(jù)類型,但可能造成精度降低或溢出。

 

17.字符串不能直接轉(zhuǎn)換為基本類型,但通過基本類型對應(yīng)的包裝類則可以實現(xiàn)把字符串轉(zhuǎn)換成基本類型。

 

18.計算機底層都以二進(jìn)制補碼的方式來存儲數(shù)據(jù)。

 

19.正數(shù)(最高位是0)的原碼、反碼、補碼都相同,負(fù)數(shù)(最高位是1)的補碼是其反碼+1。

 

20.賦值運算符:= += -= *= /= %=,運算的結(jié)果不會改變變量本身的數(shù)據(jù)類型。short i = i + 1;由于常量“1”默認(rèn)是int型的,所以編譯會報錯,使用short i += 1,則做到了+1的作用,也沒有改變數(shù)據(jù)類型。

 

21.&與&&、| 與 | | 的區(qū)別:&&、| | 具備短路功能,左邊的條件成立或者不成立,右邊的條件不用再判斷,&、| 不管什么情況,都要把所有條件判斷完。

 

22.位運算:位運算符操作的都是整型的數(shù)據(jù)。(左移運算符)<< :在一定范圍內(nèi),每向左移1位,相當(dāng)于 * 2(右移運算符)>> :在一定范圍內(nèi),每向右移1位,相當(dāng)于 / 2

22.png 

 

23.流程控制:順序結(jié)構(gòu):程序從上到下執(zhí)行。分支結(jié)構(gòu):if - else、switch-case循環(huán)結(jié)構(gòu):for、while、do-while

 

24.數(shù)組屬于引用數(shù)據(jù)類型變量,但是數(shù)組的元素既可以是基本數(shù)據(jù)類型,也可以是引用數(shù)據(jù)類型。

 

25.數(shù)組的長度一旦確定就不能修改,初始化完成,長度就定了。

 

26.數(shù)組靜態(tài)初始化:數(shù)組元素的初始化和數(shù)組元素的賦值同時進(jìn)行。例如:int a[ ] = new int [ ] { 1,2,3 };

 

27.數(shù)組動態(tài)初始化:數(shù)組元素的初始化和數(shù)組元素的賦值分開進(jìn)行。例如:int b[ ] = new int [5]; b[0] = 1 ;

 

28.數(shù)組元素的默認(rèn)初始化值:整型:0浮點型:0.0字符型:0或者’\u0000’,而非’0’布爾類型:false引用數(shù)據(jù)類型:null

 

29.關(guān)鍵字 break、continue 可以帶標(biāo)簽使用(類似于C語言的goto語句)break label;//結(jié)束指定標(biāo)識的一層循環(huán)結(jié)構(gòu)。continue label;//結(jié)束指定標(biāo)識的一層循環(huán)結(jié)構(gòu)當(dāng)次循環(huán)。

 

30.面向?qū)ο髒s面向過程面向過程:強調(diào)的是功能行為,以函數(shù)為最小單位,考慮怎么做。面向?qū)ο螅簭娬{(diào)具備了功能的對象,以類/對象為最小單位,考慮誰來做。

 

31.面向?qū)ο笾袃蓚€重要的概念:類:對一類事物的描述,是抽象的、概念上的定義對象:是實際存在的該類事物的每個個體,因而也稱為實例(instance)

 

32.虛擬機棧,即為平時提到的棧結(jié)構(gòu)。局部變量存儲在棧結(jié)構(gòu)中;new出來的結(jié)構(gòu)(比如:數(shù)組、對象)加載在堆空間中。

補充:對象的屬性(非static的成員變量)也是加載在堆空間中。int arr [ ] = new arr [ ],以等號“=”為界,左邊是局部變量存放在棧,右邊是new 的機構(gòu),存放在堆中。

方法區(qū):類的加載信息、常量池、靜態(tài)域

 32-1.png

 32-2.png

 

33.“屬性”與“變量”的區(qū)別:

① 在類中聲明的位置的不同屬性:

直接定義在類的一對{}內(nèi)。局部變量:聲明在方法內(nèi)、方法形參、代碼塊內(nèi)、構(gòu)造器形參、構(gòu)造器內(nèi)部的變量。

② 關(guān)于權(quán)限修飾符的不同屬性:

可以在聲明屬性時,指明其權(quán)限,使用權(quán)限修飾符。常用的權(quán)限修飾符:private、public、缺省、protected —>體現(xiàn)為封裝性。局部變量:不可以使用權(quán)限修飾符。

③ 默認(rèn)初始化值的情況屬性:

類的屬性,根據(jù)其類型,都默認(rèn)初始化值。整型(byte、short、int、long:0)、浮點型(float、double:0.0)、字符型(char:0 (或’\u0000’))、布爾型(boolean:false)、引用數(shù)據(jù)類型(類、數(shù)組、接口:null)局部變量:沒默認(rèn)初始化值。意味著,我們在調(diào)用局部變量之前,一定要顯式賦值。特別地:形參在調(diào)用時,我們賦值即可。

④在內(nèi)存中加載的位置屬性:

加載到堆空間中 (非static)。局部變量:加載到棧空間。

 

34.如果方法沒返回值,“return;”表示結(jié)束此方法的意思。

 

35.封裝性思想具體的代碼體現(xiàn):

35.png 

 

36.權(quán)限修飾符的范圍:

36.png 

 

37.4種權(quán)限都可以用來修飾類的內(nèi)部結(jié)構(gòu):屬性、方法、構(gòu)造器、內(nèi)部類。修飾類的話,只能使用:缺省、public。

 

38.如果沒顯式的定義類的構(gòu)造器的話,則系統(tǒng)默認(rèn)提供一個空參的構(gòu)造器。

 

39.一個類中定義的多個構(gòu)造器,彼此構(gòu)成重載。

 

40.一旦我們顯式的定義了類的構(gòu)造器之后,系統(tǒng)就不再提供默認(rèn)的空參構(gòu)造器。

 

41.一個類中,至少會有一個構(gòu)造器。

 

42.this可以理解為:當(dāng)前對象或當(dāng)前正在創(chuàng)建的對象。

 

43.可以顯式的使用"this(形參列表)"方式,調(diào)用本類中指定的其他構(gòu)造器,但是構(gòu)造器中不能通過"this(形參列表)"方式調(diào)用自己(死循環(huán))。

 

44.規(guī)定:"this(形參列表)“必須聲明在當(dāng)前構(gòu)造器的首行,可以推出構(gòu)造器內(nèi)部,最多只能聲明一個"this(形參列表)”,用來調(diào)用其他的構(gòu)造器。

 

45.如果使用的類或接口是java.lang包下定義的,則可以省略import結(jié)構(gòu)。使用"xxx.*"方式表明可以調(diào)用xxx包下的所有結(jié)構(gòu)。但是如果使用的是xxx子包下的結(jié)構(gòu),則仍需要顯式導(dǎo)入。

 

46.一個類可以被多個子類繼承(一個爸爸可以有多個兒子),但是一個類只能有一個父類(一個兒子只能有一個親生爸爸)

 

47.子類繼承父類以后有哪些不同?一旦子類A繼承父類B以后,子類A中就獲取了父類B中聲明的所有的屬性和方法。特別的,父類中聲明為private的屬性或方法,子類繼承父類以后,仍然是獲取了父類中私的結(jié)構(gòu),只因為封裝性(private權(quán)限修飾符)的影響,使得子類不能直接調(diào)用父類的結(jié)構(gòu)而已。子類繼承父類以后,還可以聲明自己特有的屬性或方法:實現(xiàn)功能的拓展。

 

48.子類直接繼承的父類,稱為:直接父類。間接繼承的父類稱為:間接父類。子類繼承父類以后,就獲取了直接父類以及所有間接父類中聲明的屬性和方法。

 

49.如果沒有顯式的聲明一個類的父類的話,則此類繼承于java.lang.Object類。

 

50.方法的重寫(override 或 overwrite)。

子類繼承父類以后,可以對父類中同名同參數(shù)的方法,進(jìn)行覆蓋操作。

 

掃碼添加捷碼微信入群~已有5000+智慧城市/AloT/IT行業(yè)精英入群交流,入群即得《Java核心技術(shù)電子書》

20220324公眾號底部二維碼-小裂變4.png

 



%用戶還看了以下內(nèi)容

低代碼是什么意思?揭秘低代碼開發(fā)含義與優(yōu)勢!_捷碼 閱讀882次

Java很難學(xué)?最易/難學(xué)習(xí)的編程語言TOP5來了! 閱讀874次

0基礎(chǔ)如何快速學(xué)習(xí)Java? 閱讀939次

Kotlin開發(fā)者眼中的Java缺少哪些特性? 閱讀915次

快速試用捷碼

x