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

1、java有8種基本類型,請問byte、int、long、char、float、double、boolean各占多少個字節?

正確答案: B

1 2 8 2 4 8 1

1 4 8 2 4 8 1

1 4 4 2 4 4 2

1 4 4 2 4 8 2

題解:
我這裡解釋一下boolean占多大的空間,JVM規范給出的是4個字節也就是單個boolean當做int處理,boolean數組1個字節的定義,具體還要看虛擬機實現是否按照規范來,1個字節、4個字節都是有可能的。其實這就是運算效率與存儲空間之間的博弈

2、在 Applet 中,方法執行的順序是 ?( )

正確答案: A

init(), start(), paint(),stop(),destroy().

init(),paint(),start(),stop(),destroy().

paint(),start(),stop(),destroy().

init(), start(),stop(),destroy(),paint().

題解:
init 初始化,start啟動運行,paint 窗口最小化等時候需要暫停,stop 停止,destory 銷毀;

3、下面論述正確的是()?

正確答案: D

如果兩個對象的hashcode相同,那麼它們作為同一個HashMap的key時,必然返回同樣的值

如果a,b的hashcode相同,那麼a.equals(b)必須返回true

對於一個類,其所有對象的hashcode必須不同

如果a.equals(b)返回true,那麼a,b兩個對象的hashcode必須相同

題解:
hashcode和equals的約定關系如下:
1、如果兩個對象equals相等,那麼他們一定有相同的哈希值(hash code)。
2、如果兩個對象的哈希值相等,那麼這兩個對象有可能相等也有可能不相等。(需要再通過equals來判斷)

4、在java中,下列對繼承的說法,正確的是( )

正確答案: A

子類能繼承父類的所有成員

子類繼承父類的非私有方法和狀態

子類隻能繼承父類的public方法和狀態

子類隻能繼承父類的方法

題解:
我們有時候會分不清繼承和訪問權限的問題。子類可以繼承父類所有的成員,但是對private這樣的,沒有訪問權。

5、在Web應用程序中,( )負責將HTTP請求轉換為HttpServletRequest對象

正確答案: C

Servlet對象

HTTP服務器

Web容器

JSP網頁

題解:
web容器是一種服務程序,在服務器一個端口就有一個提供相應服務的程序,而這個程序就是處理從客戶端發出的請求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是這樣的容器。一個服務器可以多個容器。

6、對Collection和Collections描述正確的是

正確答案: B D

Collection是java.util下的類,它包含有各種有關集合操作的靜態方法

Collection是java.util下的接口,它是各種集合結構的父接口

Collections是java.util下的接口,它是各種集合結構的父接口

Collections是java.util下的類,它包含有各種有關集合操作的靜態方法

題解:
java.util.Collection 是一個集合接口。它提供瞭對集合對象進行基本操作的通用接口方法。Collection接口在Java 類庫中有很多具體的實現。Collection接口的意義是為各種具體的集合提供瞭最大化的統一操作方式。
java.util.Collections 是一個包裝類。它包含有各種有關集合操作的靜態多態方法。此類不能實例化,就像一個工具類,服務於Java的Collection框架。

7、在 hibernate 開發中,關於 POJO 類對象的狀態說法正確的是()。

正確答案: A B C

自由狀態(Transient):實體在內存中自由存在,與數據庫中的記錄無關

持久狀態(Persistent):實體處於由Hibernate框架所管理的狀態,對應瞭數據庫中的一條記錄,同時與某個session實例發生瞭關聯

遊離狀態(Detached):在session 關閉之後,可以使對象從持久狀態轉換到遊離狀態。

不能將對象從遊離狀態轉換成持久態

題解:
遊離狀態 可以通過 update saveorupdate lock方法變成持久態

8、下列關於while循環、do-while循環和for循環說法錯誤的是

正確答案: B C

while循環先執行條件判斷,do-while循環執行循環體

do-while循環結束的條件是關鍵字while後的條件表達式成立

for循環結構中的3個表達式缺一不可

while循環能夠實現的操作,for循環也能實現

題解:
A.while隻有在滿足條件時執行 而do-while會先執行一次 再看條件是否滿足 滿足再次循環 不滿足跳出
所以B也就錯瞭 應該是 do-while循環結束的條件是關鍵字while後的條件表達式不成立
C. 三個都為空也是可以的 最簡潔形式:for(;;😉
D. 我們使用while 就是為瞭他的循環次數的不一定的 而for循環一般限定瞭循環次數

9、關於下面這段Java程序,哪些描述是正確的:( )

public class ThreadTest extends Thread {

public void run() {

System.out.println(“In run”);

yield();

System.out.println(“Leaving run”);

}

public static void main(String []argv) {

(new ThreadTest()).start();

}

}

正確答案: C

程序運行輸出隻有In run

程序運行輸出隻有Leaving run

程序運行輸出先有In run後有Leaving run

程序運行輸出先有Leaving run後有In run

程序沒有任何輸出就退出瞭

程序將被掛起,隻能強制退出

題解:
yield是線程禮讓, 沒有多個線程,不需要禮讓

10、在你面前有一個n階的樓梯,你一步隻能上1階或2階。請問,當N=11時,你可以采用多少種不同的方式爬完這個樓梯();當N=9時呢?

正確答案: B C

11

144

55

89

題解:
f(n)=f(n-2)+f(n-1),斐波那契數列。

答案匯總:

1、正確答案: B

2、正確答案: A

3、正確答案: D

4、正確答案: A

5、正確答案: C

6、正確答案: B D

7、正確答案: A B C

8、正確答案: B C

9、正確答案: C

10、正確答案: B C

總結

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

推薦閱讀: