1. 程式人生 > >牛客網錯題集系列(一)

牛客網錯題集系列(一)

1.java基本型別的預設值和取值範圍

 int      0        -2^31—-2^31-1

short   0      -2^15—-2^15-1

long    0      -2^63—-2^63-1

char     ‘ \u0000′     0—-2^16-1

byte     0       -2^7—-2^7-1

float : 0.0f -2^31—-2^31-1

double : 0.0d -2^63—-2^63-1

boolean: false true\false

2.Java偵錯程式?如果編譯器返回程式程式碼的錯誤,可以用它對程式進行除錯。

jdb.exe

3.null在java中是關鍵字,但是NULL不是,所以NULL可以作為識別符號

 

4.Java記憶體模型------類載入器

類載入器分為 引導類載入器(bootstrap class loader)  擴充套件類載入器(extensions class loader)  系統類載入器(system class loader)

和自定義類載入器(java.lang.ClassLoader 的子類)

類的載入首先由父類進行委託,當父類沒有載入能力時再交由子類進行處理。載入過程中會先檢查類是否被已載入,檢查順序是自底向上,從Custom ClassLoader到BootStrap ClassLoader逐層檢查

引導類載入器(bootstrap class loader):它用來載入 Java 的核心庫,是用原生程式碼來實現的

擴充套件類載入器(extensions class loader):它用來載入 Java 的擴充套件庫。

系統類載入器(system class loader):它根據 Java 應用的類路徑(CLASSPATH)來載入 Java 類

tomcat 為每個 App 建立一個 Loader,裡面儲存著此 WebApp 的 ClassLoader。需要載入 WebApp 下的類時,就取出 ClassLoader 來使用

5.下列程式碼片段中,存在編譯錯誤的語句是()

byte b1=1,b2=2,b3,b6,b8;
final byte b4=4,b5=6,b7;
b3=(b1+b2);  /*語句1*/
b6=b4+b5;    /*語句2*/
b8=(b1+b4);  /*語句3*/
b7=(b2+b5);  /*語句4*/
System.out.println(b3+b6);

 

語句一,三,四

語句一 b1+b2會轉換為int 需要用byte進行強轉

語句二  b4和b5均為final型別的所以結果還是final型別的,不會出錯

語句三 同語句一需要強轉

語句四  同語句三