2017年java笔试题_2017年Java笔试题及答案
2017年Java筆試題及答案
Java是一種可以撰寫跨平臺(tái)應(yīng)用程序的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。下面是小編整理的關(guān)于Java筆試題及答案,歡迎參考!
Java基礎(chǔ)知識(shí)筆試題及答案
1.Java中提供了名為()的包裝類來包裝原始字符串類型。
A.Integer
B.Char
C.Double
D.String�0�2
答案:D
2.java.lang包的()方法比較兩個(gè)對(duì)象是否相等,相等返回true。
A.toString()
B.equals()
C.compare()
D.以上所有選項(xiàng)都不正確
答案:B
3.使用()方法可以獲得Calendar類的實(shí)例。
A.get()
B.equals()
C.getTime()
D.getInstance()
答案:D
4.下面的集合中,()不可以存儲(chǔ)重復(fù)元素。
A.Set
B.Collection
C.Map
D.List
答案:C
5.關(guān)于Map和List,下面說法正確的是(�0�2�0�2)。
A.Map繼承List
B.List中可以保存Map或List
C.Map和List只能保存從數(shù)據(jù)庫(kù)中取出的數(shù)據(jù)
D.Map的value可以是List或Map
答案:D
6.給定如下Java代碼,編譯運(yùn)行的結(jié)果是()。
import�0�2java.util.*;
public�0�2class�0�2Test�0�2{
public�0�2static�0�2void�0�2main(String[]�0�2args)�0�2{
LinkedList�0�2list=new�0�2LinkedList();
list.add(“A”);
list.add(2,”B”);
String�0�2s=(String)list.get(1);
System.out.println(s);
}
}
A.編譯時(shí)發(fā)生錯(cuò)誤
B.運(yùn)行時(shí)引發(fā)異常
C.正確運(yùn)行,輸出:A
D.正確運(yùn)行,輸出:B
答案:B
Java筆試題解答
1. 下面哪些是Thread類的方法()
A start() B run() C exit() D getPriority()
答案:ABD
解析:看Java API docs吧:http://docs.oracle.com/javase/7/docs/api/,exit()是System類的方法,如System.exit(0)。
2. 下面關(guān)于java.lang.Exception類的說法正確的是()
A 繼承自Throwable B Serialable CD 不記得,反正不正確
答案:A
解析:Java異常的基類為java.lang.Throwable,java.lang.Error和java.lang.Exception繼承 Throwable,RuntimeException和其它的Exception等繼承Exception,具體的RuntimeException繼承RuntimeException。
擴(kuò)展:錯(cuò)誤和異常的區(qū)別(Error vs Exception)
1) java.lang.Error: Throwable的子類,用于標(biāo)記嚴(yán)重錯(cuò)誤。合理的應(yīng)用程序不應(yīng)該去try/catch這種錯(cuò)誤。絕大多數(shù)的錯(cuò)誤都是非正常的,就根本不該出現(xiàn)的。
java.lang.Exception: Throwable的子類,用于指示一種合理的`程序想去catch的條件。即它僅僅是一種程序運(yùn)行條件,而非嚴(yán)重錯(cuò)誤,并且鼓勵(lì)用戶程序去catch它。
2) Error和RuntimeException 及其子類都是未檢查的異常(unchecked exceptions),而所有其他的Exception類都是檢查了的異常(checked exceptions).
checked exceptions: 通常是從一個(gè)可以恢復(fù)的程序中拋出來的,并且最好能夠從這種異常中使用程序恢復(fù)。比如FileNotFoundException, ParseException等。檢查了的異常發(fā)生在編譯階段,必須要使用try…catch(或者throws)否則編譯不通過。
unchecked exceptions: 通常是如果一切正常的話本不該發(fā)生的異常,但是的確發(fā)生了。發(fā)生在運(yùn)行期,具有不確定性,主要是由于程序的邏輯問題所引起的。比如ArrayIndexOutOfBoundException, ClassCastException等。從語言本身的角度講,程序不該去catch這類異常,雖然能夠從諸如RuntimeException這樣的異常中catch并恢復(fù),但是并不鼓勵(lì)終端程序員這么做,因?yàn)橥耆珱]要必要。因?yàn)檫@類錯(cuò)誤本身就是bug,應(yīng)該被修復(fù),出現(xiàn)此類錯(cuò)誤時(shí)程序就應(yīng)該立即停止執(zhí)行。 因此,面對(duì)Errors和unchecked exceptions應(yīng)該讓程序自動(dòng)終止執(zhí)行,程序員不該做諸如try/catch這樣的事情,而是應(yīng)該查明原因,修改代碼邏輯。
RuntimeException:RuntimeException體系包括錯(cuò)誤的類型轉(zhuǎn)換、數(shù)組越界訪問和試圖訪問空指針等等。
處理RuntimeException的原則是:如果出現(xiàn) RuntimeException,那么一定是程序員的錯(cuò)誤。例如,可以通過檢查數(shù)組下標(biāo)和數(shù)組邊界來避免數(shù)組越界訪問異常。其他(IOException等等)checked異常一般是外部錯(cuò)誤,例如試圖從文件尾后讀取數(shù)據(jù)等,這并不是程序本身的錯(cuò)誤,而是在應(yīng)用環(huán)境中出現(xiàn)的外部錯(cuò)誤。
3. 下面程序的運(yùn)行結(jié)果是()
String str1 = "hello";
String str2 = "he" + new String("llo");
System.err.println(str1 == str2);
總結(jié)
以上是生活随笔為你收集整理的2017年java笔试题_2017年Java笔试题及答案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 高德地图在清除所有Mar
- 下一篇: Java多线程系列——深入重入锁Reen