Java日常練習(xí)題,每天進步一點點(50)
承蒙各位厚愛,我們一起每天進步一點點!(鼠標選中空白處查看答案)
1、在異常處理中,如釋放資源,關(guān)閉數(shù)據(jù)庫、關(guān)閉文件應(yīng)由( )語句來完成。
正確答案: C
try子句
catch子句
finally子句
throw子句
題解:
try:可能發(fā)生異常的語句
catch:捕獲,并處理異常(printStackTrace()用來跟蹤異常事件發(fā)生時執(zhí)行堆棧的內(nèi)容)
throw:方法內(nèi)部拋異常
throws:聲明方法異常
finaly:代碼中無論是否有異常都會執(zhí)行,清除資源
2、如下Java語句 double x=2.0; int y=4; x/=++y; 執(zhí)行后,x的值是()
正確答案: C
0.5
2.5
0.4
2.0
題解:
x/=++y 相當于x=x/(++y),x為2.0 ,++y整體是值為5,但是最終的結(jié)果是為double所以是,2.0/5=0.4。
3、下面的程序輸出的結(jié)果是( )
public class A implements B{
public static void main(String args[]){
int i;
A a1=new A();
i =a1.k;
System.out.println(“i=”+i);
}
}
interface B{
int k=10;
}
正確答案: B
i=0
i=10
程序有編譯錯誤
i=true
題解:
在接口里面的變量默認都是public static final 的,它們是公共的,靜態(tài)的,最終的常量.相當于全局常量,可以直接省略修飾符。實現(xiàn)類可以直接訪問接口中的變量
4、下面哪種流可以用于字符輸入:
正確答案: C
java.io.inputStream
java.io.outputStream
java.io.inputStreamReader
java.io.outputStreamReader
題解:
首先B和D排除,題目是要求輸入。
A和C之間,inputStream是字節(jié)流輸入流;而inputStreamReader是對字符流的處理,inputStreamReader將字符流處理成字節(jié)流,題目要求是用于處理字符輸入,所以選C。
5、以下不是修飾符final的作用的是( )。
正確答案: C
修飾常量
修飾不可被繼承的類
修飾不可變類
修飾不可覆蓋的方法
題解:
final的作用:
1. 修飾變量,變量的引用地址不可變,但是地址中的內(nèi)容可以變。
2. 修飾方法,方法不可被重寫,但是還是可以重載
3. 修飾類,類不可繼承。
不可變類,說的是一個類一旦被實例化,就不可改變自身的狀態(tài)。常見的比如String和基本數(shù)據(jù)類型的包裝類,對于這種不可變類,一旦在進行引用傳遞的時候,形參一開始就和實際參數(shù)指向的不是一個地址,所以在方法中對形參的改變,并不會影響實際參數(shù)。
6、以下代碼執(zhí)行后輸出結(jié)果為( )
public class Test { public static void main(String[] args) { System.out.println("return value of getValue(): " + getValue()); } public static int getValue() { try { return 0; } finally { return 1; } } }
正確答案: A
return value of getValue(): 1
return value of getValue(): 0
return value of getValue(): 0return value of getValue(): 1
return value of getValue(): 1return value of getValue(): 0
題解:
如果try語句里有return,返回的是try語句塊中變量值。
詳細執(zhí)行過程如下:
1.如果有返回值,就把返回值保存到局部變量中;
2.執(zhí)行jsr指令跳到finally語句里執(zhí)行;
3.執(zhí)行完finally語句后,返回之前保存在局部變量表里的值。
如果try,finally語句里均有return,忽略try的return,而使用finally的return.
7、jre 判斷程序是否執(zhí)行結(jié)束的標準是()
正確答案: A
所有的前臺線程執(zhí)行完畢
所有的后臺線程執(zhí)行完畢
所有的線程執(zhí)行完畢
和以上都無關(guān)
題解:
其實這個題,就是在說守護線程和非守護(用戶)線程的問題。后臺線程就是守護線程,前臺線程就是用戶線程。
守護線程:是指在程序運行時在后臺提供一種通用服務(wù)的線程,這種線程并不是必須的。同時守護線程的線程優(yōu)先級都很低的。JVM中的GC線程就是一個守護線程,只要JVM啟動,GC線程就啟動了。
用戶線程和守護線程幾乎沒有什么區(qū)別,唯一的區(qū)別就在于,如果用戶線程都已經(jīng)退出了,只剩下了守護線程,那么JVM直接就退出了。
8、You have the following code.Which numbers will cause “Test2” to be printed?
switch (x) { case 1: System.out.println("Test1"); case 2: case 3: System.out.println("Test2"); break; default: System.out.println("Test3"); break; }
正確答案: B C D
0
1
2
3
4
題解:
case 1和case 2后都沒有break語句,故都會執(zhí)行到打印Test2的語句
9、Consider the following code:
String s=null;
Which code fragments cause an object of type NullPointerException to be thrown?
正確答案: A C
if((s!=null)&(s.length()>0))
if((s!=null)&&(s.length()>0))
if((s==null)|(s.length()==0))
if((s==null)||(s.length()==0))
題解:
s為null,因此只要調(diào)用了s.length()都會拋出空指針異常。因此這個題目就是考察if語句的后半部分會不會執(zhí)行。
A,單個與操作的符號& 用在整數(shù)上是按位與,用在布爾型變量上跟&&功能類似,但是區(qū)別是無論前面是否為真,后面必定執(zhí)行,因此拋出異常
B,與操作,前半部分判斷為假,后面不再執(zhí)行
C,這里跟 & 和&& 的區(qū)別類似,后面必定執(zhí)行,因此拋出異常
D,或語句,前面為真,整個結(jié)果必定為真,后面不執(zhí)行
10、下面關(guān)于Applet的說法是正確的是
正確答案: A B C D
Applet可以在帶有Java解釋器的瀏覽器中運行
Applet類必須繼承java.applet.Applet
Applet可以訪問本地文件
Applet是Object類的子類
題解:
Applet是采用Java編程語言編寫的小應(yīng)用程序,選項描述的全部正確。
答案匯總:
1、正確答案: C
2、正確答案: C
3、正確答案: B
4、正確答案: C
5、正確答案: C
6、正確答案: A
7、正確答案: A
8、正確答案: B C D
9、正確答案: A C
10、正確答案: A B C D
總結(jié)
本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
SpringBoot自定義Redis實現(xiàn)緩存序列化詳解
Spring提供了一個RedisTemplate來進行對Redis的操作,但是RedisTemplate默認配置的是使用Java本機序列化。如果要對對象操作,就不是那么的方便。所以本文為大家介紹了另一種SpringBoot結(jié)合Redis實現(xiàn)序列化的方法,需要的可以參考一下2022-07-07解決Spring Security的權(quán)限配置不生效問題
這篇文章主要介紹了解決Spring Security的權(quán)限配置不生效問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03

java使用DelayQueue實現(xiàn)延時任務(wù)

SpringBoot枚舉類型參數(shù)認證的實現(xiàn)代碼