復(fù)習(xí)一:java基礎(chǔ)知識點
[導(dǎo)讀]基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語法,集合的語法,io的語法,虛擬機方面的語法,等。
java基礎(chǔ)知識點(一)
1、一個".java” 源文件中
基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語法,集合的語法,io的語法,虛擬機方面的語法,等。
java基礎(chǔ)知識點(一)
1、一個".java” 源文件中可以有多個類,但public類只能有一個,并且pubic的類的名必須與文件名相一致。 2、&和&&都可以用作邏輯與的運算符,表示邏輯與(and),當(dāng)運算符兩邊的表達式的結(jié)果都是true的時候,整個運算結(jié)果才為true,否則只要有一方面為false,則結(jié)果為false。&&還具有短路的功能,即如果第一個表達式為false,則不再計算第二個表達式。&還可以用作位運算符,但&操作符兩邊的表達式不是boolean類型的時候,&表示按位于操作。 3、goto是java中的保留字,現(xiàn)在沒有在java中使用。 4、在外面的循環(huán)語句前定義一個標(biāo)號,然后在里層循環(huán)體的代碼中使用帶有標(biāo)號的break語句,可跳出外層循環(huán)。但是我們通常是使用讓外層的循環(huán)條件表達式結(jié)果可以受到里層循環(huán)體代碼的控制的方式來跳出多層嵌套循環(huán)。 5、switch可以作用在byte上,但是不能作用在long和String上,但是JDK1.7之后switch支持了String。 6、short s1 = 1; s1 = s1 + 2;這個表達式是錯誤的,因為s1+1運算時會自動提升表達式,所以結(jié)果會是int類型,再賦值short類型s1時會報需要強制轉(zhuǎn)換類型的錯誤。對于short s1 = 1; s1 += 1;是正確的表達式,因為 ?+= 是java語言規(guī)定的運算符,java編譯器會對它進行特殊處理。 7、char類型可以存儲Unicode編碼字符集中包含的漢字,由于Unicode編碼占用兩個字節(jié),所以char類型也是占用兩個字節(jié)。 8、一個數(shù)左移n位,就相當(dāng)于乘以2的n次方。所以計算2乘以8等于幾最有效的方法就是2<<3,因為位運算是CPU直接支持的。 9、實現(xiàn)一個一百億的計算器,我們得自己設(shè)計一個類可以用于表示很大的整數(shù),并且提供了與另外一個整數(shù)進行加減乘除的功能。大概功能:a、這個類內(nèi)部有兩個成員變量,一個表示符號,另一個用字節(jié)數(shù)組表示數(shù)值的二進制數(shù)。b、有一個構(gòu)造方法,把一個包含很多位數(shù)值的字符串轉(zhuǎn)換到內(nèi)部的符號和字節(jié)數(shù)組中。c、提供加減乘除的功能。代碼如下: public class BigInteger{ ? int sign; byte[] val; public Biginteger(String val){ ? ? ?sign = ; ? ? ?val = ; ?} public BigInteger add(BigInteger oher){} public BigInteger subtract(BigInteger other){} public BigInteger multiply(BigInteger other){} public BigInteger divide(BigInteger other){} } 10、使用final關(guān)鍵字修飾一個變量時,引用變量不能變,但是引用變量所指的對象中的內(nèi)容是可以變的。
1、一個".java” 源文件中可以有多個類,但public類只能有一個,并且pubic的類的名必須與文件名相一致。 2、&和&&都可以用作邏輯與的運算符,表示邏輯與(and),當(dāng)運算符兩邊的表達式的結(jié)果都是true的時候,整個運算結(jié)果才為true,否則只要有一方面為false,則結(jié)果為false。&&還具有短路的功能,即如果第一個表達式為false,則不再計算第二個表達式。&還可以用作位運算符,但&操作符兩邊的表達式不是boolean類型的時候,&表示按位于操作。 3、goto是java中的保留字,現(xiàn)在沒有在java中使用。 4、在外面的循環(huán)語句前定義一個標(biāo)號,然后在里層循環(huán)體的代碼中使用帶有標(biāo)號的break語句,可跳出外層循環(huán)。但是我們通常是使用讓外層的循環(huán)條件表達式結(jié)果可以受到里層循環(huán)體代碼的控制的方式來跳出多層嵌套循環(huán)。 5、switch可以作用在byte上,但是不能作用在long和String上,但是JDK1.7之后switch支持了String。 6、short s1 = 1; s1 = s1 + 2;這個表達式是錯誤的,因為s1+1運算時會自動提升表達式,所以結(jié)果會是int類型,再賦值short類型s1時會報需要強制轉(zhuǎn)換類型的錯誤。對于short s1 = 1; s1 += 1;是正確的表達式,因為 ?+= 是java語言規(guī)定的運算符,java編譯器會對它進行特殊處理。 7、char類型可以存儲Unicode編碼字符集中包含的漢字,由于Unicode編碼占用兩個字節(jié),所以char類型也是占用兩個字節(jié)。 8、一個數(shù)左移n位,就相當(dāng)于乘以2的n次方。所以計算2乘以8等于幾最有效的方法就是2<<3,因為位運算是CPU直接支持的。 9、實現(xiàn)一個一百億的計算器,我們得自己設(shè)計一個類可以用于表示很大的整數(shù),并且提供了與另外一個整數(shù)進行加減乘除的功能。大概功能:a、這個類內(nèi)部有兩個成員變量,一個表示符號,另一個用字節(jié)數(shù)組表示數(shù)值的二進制數(shù)。b、有一個構(gòu)造方法,把一個包含很多位數(shù)值的字符串轉(zhuǎn)換到內(nèi)部的符號和字節(jié)數(shù)組中。c、提供加減乘除的功能。代碼如下: public class BigInteger{ ? int sign; byte[] val; public Biginteger(String val){ ? ? ?sign = ; ? ? ?val = ; ?} public BigInteger add(BigInteger oher){} public BigInteger subtract(BigInteger other){} public BigInteger multiply(BigInteger other){} public BigInteger divide(BigInteger other){} } 10、使用final關(guān)鍵字修飾一個變量時,引用變量不能變,但是引用變量所指的對象中的內(nèi)容是可以變的。





