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的更多內容!
推薦閱讀:
- Java 中 hashCode() 與 equals() 的關系(面試)
- java中Hibernate的狀態總結
- Java日常練習題,每天進步一點點(32)
- Java和Scala集合間的相互轉換方式
- Java WeakHashMap案例詳解