Java日常練習題,每天進步一點點(23)

1、以下程序會輸出什麼

int a =100,b=50,c=a---b,d=a---b;
 System.out.println(a);
 System.out.println(b);
 System.out.println(c);
 System.out.println(d);

正確答案: C

100 48 48 49

100 49 48 52

98 50 50 49

98 50 50 48

題解:
自增自減運算符優先級大於加減運算符的優先級
c=a—b,先執行a-b操作,得到c=50,再執行a減1操作,得到a=99,b未改變。
d=a—b,先執行a-b操作,得到d=49,再執行a減1操作,得到a=98,b未改變。

2、以下對選擇語句描述錯誤的是()

正確答案: A

根據某一條件重復執行一部分代碼直到滿足終止條件為止

可以根據條件控制程序流程,改變程序執行的順序

選擇語句可以嵌套使用

當條件滿足時就會執行相應的語句

題解:
A答案說的是循環語句
java的4類流程控制語句
循環語句:while,for,do while
選擇語句(分支語句):if,switch
跳轉語句:break,continue,break,label
異常處理語句:try catch finally,throw

3、關於Java以下描述正確的有( )

正確答案: A

native關鍵字表名修飾的方法是由其它非Java語言編寫的

能夠出現在import語句前的隻有註釋語句

接口中定義的方法隻能是public

構造方法隻能被修飾為public或者default

題解:
A:native是由調用本地方法庫(如操作系統底層函數),可以由C,C++實現,A正確
B:import是用於導包語句,其前面可以出現package,用來聲明包的,B錯誤
C:接口方法的修飾符可以是:public,abstract,default,static(後兩者需要有{}),C正確
D:構造方法可以用private,protected,default,private,D錯誤

4、由3 個“1”和 5 個“0”組成的 8 位二進制補碼,能表示的最小整數()

正確答案: B

-126

-125

-32

-3

題解:
既然求最小整數,那肯定先想到負數,則最高位(符號位)一定為1,原碼中肯定是1所在的位數越高,值越小,而補碼是由原碼取反加1得到的,則在補碼中1所在的位數一定要越低,即補碼為1000 0011;由補碼求得原碼:1111 1101=-(64+32+16+8+4+1)=-125

5、看以下代碼:

文件名稱:forward.jsp

<html>  
     <head><title> 跳轉  </title> </head> 
     <body>  
         <jsp:forward page="index.htm"/>     
     </body>
 </html> 

如果運行以上jsp文件,地址欄的內容為

正確答案: A

http://127.0.0.1:8080/myjsp/forward.jsp

http://127.0.0.1:8080/myjsp/index.jsp

http://127.0.0.1:8080/myjsp/index.htm

http://127.0.0.1:8080/myjsp/forward.htm

6、下列哪個選項是合法的標識符?()

正確答案: B D

123

_name

class

first

題解:
標識符:
1. 隻能由數字,字母,符號(有且僅有_和$兩個)組成。
2. 數字不能作為標識符的開頭。
3. 不能和關鍵字,保留字,顯式常量一樣。關鍵字都是小寫的。
4. null,true,false都不是關鍵字,屬於顯式常量。goto,const都是保留關鍵字。

7、以下表達式中,正確的是()

正確答案: C D

byte i=128

boolean i=null

long i=0xfffL

double i=0.9239d

題解:
A byte ,1字節,值域-128至127
B boolean並非包裝對象Boolean,不能賦值為null

8、jdk1.8版本之前的前提下,接口和抽象類描述正確的有( )

正確答案: B C

抽象類沒有構造函數

接口沒有構造函數

抽象類不允許多繼承

接口中的方法可以有方法體

題解:
抽象類可以有構造函數,隻是不能實例化
jdk1.8後接口中用static或default修飾的方法可以有方法體

9、以下可以正確獲取結果集的有

正確答案: A D

A:Statement sta=con.createStatement();

ResultSet rst=sta.executeQuery(“select * from book”);

B:Statement sta=con.createStatement(“select * from book”); ResultSet rst=sta.executeQuery();

C:PreparedStatement pst=con.prepareStatement();

ResultSet rst=pst.executeQuery(“select * from book”);

D:PreparedStatement pst=con.prepareStatement(“select * from book”);

ResultSet rst=pst.executeQuery();

題解:
A,D是正確的;創建Statement是不傳參的,PreparedStatement是需要傳入sql語句

10、下列說法正確的是()?

正確答案: A B

A:對於局部內部類,隻有在方法的局部變量被標記為final或局部變量是effctively final的,內部類才能使用它們

B:成員內部類位於外部類內部,可以直接調用外部類的所有方法(靜態方法和非靜態方法)

C:由於匿名內部類隻能用在方法內部,所以匿名內部類的用法與局部內部類是一致的

D:靜態內部類可以直接訪問外部類的非靜態成員

題解:
A、對。
B、對。
C、錯。匿名內部類用法與局部內部類不一致,首先從定義上就不一樣,匿名類用在任何允許存在表達式的地方,而局部內部類用於在任何允許出現局部變量的地方出現。
還有更重要的是匿名類隻能使用一次,而局部類則可以在自己的定義域內多次使用。
D、錯。靜態內部類不能直接訪問外部類的非靜態成員,但可以通過new外部類().成員的方式訪問

答案匯總:

1、正確答案: C

2、正確答案: A

3、正確答案: A

4、正確答案: B

5、正確答案: A

6、正確答案: B D

7、正確答案: C D

8、正確答案: B C

9、正確答案: A D

10、正確答案: A B

總結

本篇文章就到這裡瞭,希望能給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!

推薦閱讀: