- 相關(guān)推薦
sun認(rèn)證java程序員筆試試題
SCJD則可以看做是高級(jí)的Java技術(shù)培訓(xùn)認(rèn)證,其要求和難度都要高于SCJP,而且,如果你計(jì)劃獲得SCJD認(rèn)證,須先獲得SCJP認(rèn)證資格。下文是CN人才網(wǎng)小編整理的sun認(rèn)證java程序員筆試試題,歡迎閱讀參考!
1.
public class test{
public static string output='';
public static void foo(int i){
try {
if(i==1){
throw new exception();
}
output +='1';
}
catch(exception e){
output+='2';
return;
}
finally{
output+='3';
}
output+='4';
}
public static void main(string args[]){
foo(0);
foo(1);
24)
}
}
what is the value of output at line 24?
題意: 在第24行處,output的值是什么。
分析: 本題考察static類型的變量和try—catch語(yǔ)句的執(zhí)行。try—catch語(yǔ)句參見第4題的講解。所謂靜態(tài),據(jù)本人理解指的是其在內(nèi)存中的位置是固定的,即程序裝載完成后所有靜態(tài)變量就固定于某一內(nèi)存地址中,它們不隨著類的實(shí)例化而隨對(duì)象的地址而變動(dòng),所以有人說(shuō)靜態(tài)變量屬于類而不屬于對(duì)象。所以靜態(tài)方法可以不對(duì)類進(jìn)行實(shí)例化而直接調(diào)用,靜態(tài)變量也可以不對(duì)其所屬類進(jìn)行實(shí)例化而直接使用。而多次實(shí)例化的對(duì)象使用靜態(tài)變量時(shí),實(shí)際是使用同一內(nèi)存地址的內(nèi)容。
解答: 從主程序的調(diào)用入手分析。1、foo(0)調(diào)用foo函數(shù),并將0傳給foo函數(shù)的i變量。2、運(yùn)行try語(yǔ)句塊,比較i==1不成立,執(zhí)行if后面的語(yǔ)句output +='1',此時(shí)output的值為“1”。3、try語(yǔ)句沒有異常拋出,在執(zhí)行finally語(yǔ)句后即結(jié)束。finally語(yǔ)句改變output的值為“13”。4、執(zhí)行try語(yǔ)句外面的語(yǔ)句output+='4',此時(shí)output的值為“134”,foo(0)調(diào)用結(jié)束。5、foo(1)調(diào)用foo函數(shù)并將1傳給foo函數(shù)的i變量。6、運(yùn)行try語(yǔ)句塊,比較i==1成立,執(zhí)行if語(yǔ)句塊內(nèi)的語(yǔ)句。7、拋出一個(gè)異常。8、catch語(yǔ)句立刻捕獲異常并執(zhí)行output+='2',此時(shí)output的值為“1342”。9、繼續(xù)向下執(zhí)行return準(zhǔn)備結(jié)束foo函數(shù),但是return前要執(zhí)行finally語(yǔ)句的內(nèi)容output+='3',此時(shí)output的值為“13423”。然后結(jié)束foo函數(shù)。在第24行處output的值為“13423”。
注意: 答案時(shí)應(yīng)該寫“”?
示例: w05.java
a. i=6 j=5
b. i=5 j=5
c. i=6 j=4
d. i=5 j=6
e. i=6 j=6
題意: 執(zhí)行結(jié)束后,i和j的值分別是什么?
分析: 說(shuō)實(shí)話,我開始以為這題還有點(diǎn)復(fù)雜,是考x++和++x的區(qū)別以及continue語(yǔ)句的作用,可是經(jīng)過分析發(fā)現(xiàn)其實(shí)知不知道以上兩個(gè)知識(shí)點(diǎn)對(duì)答案并沒有影響,簡(jiǎn)單的計(jì)算一下就ok了,i和的值經(jīng)過循環(huán)依次為:2、9;3、8;4、7;5、6。此時(shí)i<5不成立,程序結(jié)束,而已。
解答: i=5,j=6 。答案為d
注意: 還是要注意一下x++和++x的區(qū)別,x++表達(dá)式的值為x原值,++x表達(dá)式的值為x經(jīng)+1計(jì)算后的值。但經(jīng)過x++或++x后x本身的值都比原值增加了1。例如:int a=1,b=1; int c=a++;int d=++b;最后a為2,b為2,c為1,d為2。還有就是continue用于循環(huán)塊內(nèi)表示本次循環(huán)結(jié)束(注意不是循環(huán)結(jié)束!)下次循環(huán)開始,它后面的語(yǔ)句就不執(zhí)行了。
示例: w08.java
2.
1)public class x{
2) public object m(){
3) object o=new float(3.14f);
4) object[] oa=new object[1];
5) oa[0]=o;
6) o=null;
7) oa[0]=null;
system.out.println(oa[0]);
9) }
10) }
which line is the earliest point the object a refered is definitely elibile to be garbage collectioned?
a.after line 4
b.after line 5
c.after line 6
d.after line 7
e.after line 9(that is,as the method returns)
題意: (此題有拼寫錯(cuò)誤大概意思是)哪一行是引用對(duì)象明確的允許被垃圾收集機(jī)收集的最早的位置
分析: 一個(gè)對(duì)象成為垃圾有兩種情況,一是失去引用;一是離開了作用域。
解答: 程序在第3行new了一個(gè)值為3.14的float對(duì)象,并用object引用類型o指向它。第4行聲明一個(gè)大小為1的object類型的數(shù)組oa,第5行將o的引用傳遞給oa的第一個(gè)成員oa[0]。注意此時(shí)有兩個(gè)引用o和oa[0]指向?qū)嶋H值為3.14的float對(duì)象。第6行讓o為空,既o失去對(duì)象的引用,也就是float對(duì)象失去一個(gè)引用o。此時(shí)float對(duì)象還有一個(gè)引用oa[0],用oa[0]依然可以訪問。第7行,oa[0]置空,此時(shí)float對(duì)象已經(jīng)沒有引用指向它,既變?yōu)槔梢员皇占。所以答案是d。
注意: 注意對(duì)象和對(duì)象的引用的區(qū)別。
示例: 無(wú)
Sun認(rèn)證Java程序員考試技巧分享
1)Java 2 Plat Form考試科目是310-025,有59題,及格線是61%,即答對(duì)36題?荚嚂r(shí)間是90分鐘。特別令人厭惡的是考試前有個(gè)Agreement,連你讀它的時(shí)間也被計(jì)算在內(nèi)。小弟開始不知道,還在慢慢讀,突然發(fā)現(xiàn)已經(jīng)用了3分鐘,趕緊開始作題。估計(jì)Agreement沒有什么重要的東西,可以直接跳過。時(shí)間勉強(qiáng)夠用,我大概花了60分鐘作完題,剩下20多分鐘檢查,居然又給我發(fā)現(xiàn)了3-5題錯(cuò)誤,都是一時(shí)疏忽,落入題目設(shè)下的圈套,所以一定要留時(shí)間檢查。可惜我剩下10題左右沒有時(shí)間檢查 。
2)考試范圍非常窄。基本上都是基本語(yǔ)言知識(shí),象Swing、Jsp、Servlet、Jdbc、Beans等等都不涉及。大家可以到Sun網(wǎng)站上下載考試大綱?荚嚪秶灰馕吨菀,相反,一些很基本的東西被翻來(lái)覆去,變著花樣考,反而更難。
3)考試只有選擇題,包括單選和復(fù)選。多數(shù)復(fù)選題明確指明有幾個(gè)答案,不會(huì)搞錯(cuò)。
4)印象中幾乎所有的考題都涉及2-3個(gè)以上的知識(shí)點(diǎn),幾乎沒有可以一眼就看出答案的題目。70%的考題是給你一段程序,然后問運(yùn)行結(jié)果變量的值。這種題目非常容易落入陷阱,一不小心就被費(fèi)了。還有20%的題目是給你幾個(gè)陳述句,選正確的。這些陳述句都是考很偏很偏的東西,也不太好答;旧衔业慕(jīng)驗(yàn)是:如果一個(gè)題目馬上能看出答案,請(qǐng)你在仔細(xì)研究一下題目,多數(shù)情況是你落入陷阱了。如果一個(gè)題目你能很明確的看出來(lái)他要考你什么知識(shí)點(diǎn),那這個(gè)題目就完成一半了。最慘的是知道題目要考你什么,但是忘記了或沒有復(fù)習(xí)相關(guān)知識(shí)細(xì)節(jié),只好胡猜答案了。
Sun認(rèn)證Java程序員(SCJP)考試心得
1. 參加培訓(xùn)或自學(xué)Java經(jīng)典課程。如果有C語(yǔ)言和面向?qū)ο蟮幕A(chǔ),只需自學(xué)SL275課程以及JDK1.4 API,否則應(yīng)該參加相應(yīng)的培訓(xùn)班進(jìn)行學(xué)習(xí)。我對(duì)C語(yǔ)言和面向?qū)ο蠖加幸恍┗A(chǔ),同時(shí)又參加了SL275+Weblogic+JSP課程的學(xué)習(xí)。
2. 確定考試版本,明確考查的知識(shí)點(diǎn)及知識(shí)點(diǎn)的考查難度。目前SCJP考試有兩個(gè)版本1.2和1.4,兩個(gè)版本的比較如下表:
其中選擇題有兩種形式:(1)給出一段代碼讓選擇其運(yùn)行結(jié)果;(2)給出關(guān)于某基本概念的一些描述語(yǔ)句讓選擇正確的答案。填空題一般是給出一段正確的代碼,不提供選擇項(xiàng),而讓你填寫上運(yùn)行結(jié)果。
兩個(gè)版本考查的知識(shí)點(diǎn)最大的差別在于310-025包含I/O、AWT,且對(duì)各個(gè)知識(shí)點(diǎn)的考查難度相對(duì)較容易,而310-035中去掉了I/O和AWT部分的內(nèi)容,但增加了對(duì)Assertion的考查,同時(shí)對(duì)Wrapper classes、Collections、hashcode( )和equals( )考查的難度有所加大。所以要根據(jù)自己的情況選擇合適的版本。我在復(fù)習(xí)時(shí)覺得I/O這一部分的內(nèi)容較多且不好記憶,就選擇了310-035,這個(gè)版本較難,也是對(duì)自己的一個(gè)挑戰(zhàn)。
【sun認(rèn)證java程序員筆試試題】相關(guān)文章:
精選Java筆試題09-26
經(jīng)典java筆試題及答案09-26
超經(jīng)典 java 華為筆試題09-26
Java經(jīng)典筆試題(含答案)09-26
Java Web基礎(chǔ)筆試題09-26
C++程序員經(jīng)典筆試題09-26
2017年Java面試筆試題目09-26
用友軟件Java工程師筆試題09-26
Java軟件開發(fā)工程師筆試題09-26
Java程序員面試試題(大全)09-25