欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
SCJP試題分析修正版

1.
1) public class ReturnIt{
2) returnType methodA(byte x, double y){
3) return (short)x/y*2;
4) }
5) }
what is valid returnType for methodA in line 2?
題意:第2行中methodA方的正確返回值類(lèi)型是什么?
分析:這是一道考察基礎知識的問(wèn)題,比較簡(jiǎn)單,涉及強制類(lèi)型轉換和表達式數據類(lèi)型的轉換和升級。強制類(lèi)型轉換的方法是在變量或數值前加上需要轉換的類(lèi)型,如(int)12.23 則duble類(lèi)型的數值被強行轉化為int型,當然此時(shí)回丟失信息。表達式數據類(lèi)型的轉換原則是在不出現信息丟失的情況下自動(dòng)升級到一種更長(cháng)的形式。
解答:判斷return后的表達式的值類(lèi)型即可,(short)的強制轉換僅為x,根據自動(dòng)提升原則表達式的值被提升到y的類(lèi)型既double,所以答案為double 。
注意:(1)、不帶尾巴的數值容易被忽視他的真實(shí)類(lèi)型,比如12和12.0,其中12為int或short型,12.0為duble型。
(2)、二元操作符(如 、-、*、/)當其操作的對象是基本數據類(lèi)型時(shí),會(huì )把其操作的變量自動(dòng)提升為至少到int型,主要針對byte和short型。例如如下代碼會(huì )出錯:
short a , b, c;
a = 1;
b = 2;
c = a+ b;//編譯指示這行出錯了,possible loss of precision
示例:w01.java
2.
1) class Super{
2) public float getNum(){return 3.0f;}
3) }
4)
5) public class Sub extends Super{
6)
7) }
which method, placed at line 6, will cause a compiler error?
A. public float getNum(){return 4.0f;}
B. public void getNum(){}
C. public void getNum(double d){}
D. public double getNum(float d){return 4.0d;}
題意: 哪一種方法定義放在第6行,會(huì )產(chǎn)生編譯錯誤?
分析: 此為一道同時(shí)考察overload和override的問(wèn)題。overload是利用同一個(gè)函數名和不同的參數形式來(lái)完成不同的功能,不同的參數形式的意思是:有和無(wú)參數的區別;參數個(gè)數的區別;參數類(lèi)型的區別和參數的排列方式的區別。Overload不能利用返回值來(lái)區分。Overload現象可出現在同類(lèi)或父類(lèi)與繼承類(lèi)中。override的是類(lèi)繼承過(guò)程中出現的現象,是對父類(lèi)方法的改寫(xiě),所以必須滿(mǎn)足以下條件:1、方法名相同;2、返回類(lèi)型相同;3、參數完全相同。
解答:分別將答案放在第6行,A表示對super類(lèi)的getNum方法進(jìn)行override,正確;B語(yǔ)句因為參數與父類(lèi)的同名函數的參數相同所以不是overload,而返回值與父類(lèi)同名函數返回值不同所以不是override,進(jìn)而出錯。C表示對繼承自super類(lèi)的getNum方法進(jìn)行overload,正確;D同C
注意: 考察多個(gè)知識點(diǎn)時(shí)要綜合分析,但首先要保持清醒,弄清考察的意向。
示例: w02.java
3.
public class IfTest{
public static void main(String args[]){
int x=3;
int y=1;
if(x=y)
System.out.println("Not equal");
else
System.out.println("Equal");
}
}
what is the result?
題意: 結果是什么?
分析: 也是屬于基礎知識的考察,請參考運算符說(shuō)明部分。=為賦值,表達式本身的值為=號左邊的值;==為比較,表達式本身的值為true或false。If語(yǔ)句后面需要一個(gè)boolean的值來(lái)判斷。
解答:compile error
注意:
示例: w03.java
4.
public class Foo{
public static void main(String args[]){
try{return;}
finally{ System.out.println("Finally");}
}
}
what is the result?
A. print out nothing
B. print out "Finally"
C. compile error
題意: 結果是什么?
分析: 考察try—catch—finally語(yǔ)句的語(yǔ)法。一般,try語(yǔ)句塊中產(chǎn)生異常,由catch語(yǔ)句捕獲異常進(jìn)行處理。關(guān)于finally語(yǔ)句,sun-275的教材中解釋的很明確,它的代碼塊“總是”被執行,而不考慮有沒(méi)有異常發(fā)生。不執行finally代碼塊的情況只有一種,就是VM結束(執行System.exit()方法和機器關(guān)閉)。如果一個(gè)return語(yǔ)句嵌入在catch快內,則finally快的代碼在return之前執行。

解答: B
注意: 若有System.exit()出現要注意。
示例: w04.java
5.
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類(lèi)型的變量和try—catch語(yǔ)句的執行。try—catch語(yǔ)句參見(jiàn)第4題的講解。所謂靜態(tài),據本人理解指的是其在內存中的位置是固定的,即程序裝載完成后所有靜態(tài)變量就固定于某一內存地址中,它們不隨著(zhù)類(lèi)的實(shí)例化而隨對象的地址而變動(dòng),所以有人說(shuō)靜態(tài)變量屬于類(lèi)而不屬于對象。所以靜態(tài)方法可以不對類(lèi)進(jìn)行實(shí)例化而直接調用,靜態(tài)變量也可以不對其所屬類(lèi)進(jìn)行實(shí)例化而直接使用。而多次實(shí)例化的對象使用靜態(tài)變量時(shí),實(shí)際是使用同一內存地址的內容。
解答: 從主程序的調用入手分析。1、Foo(0)調用Foo函數,并將0傳給Foo函數的i變量。2、運行try語(yǔ)句塊,比較i==1不成立,執行if后面的語(yǔ)句output ="1",此時(shí)output的值為“1”。3、try語(yǔ)句沒(méi)有異常拋出,在執行finally語(yǔ)句后即結束。finally語(yǔ)句改變output的值為“3”。4、執行try語(yǔ)句外面的語(yǔ)句output ="4",此時(shí)output的值為“4”,Foo(0)調用結束。5、Foo(1)調用Foo函數并將1傳給Foo函數的i變量。6、運行try語(yǔ)句塊,比較i==1成立,執行if語(yǔ)句塊內的語(yǔ)句。7、拋出一個(gè)異常。8、catch語(yǔ)句立刻捕獲異常并執行output ="2",此時(shí)output的值為“2”。9、繼續向下執行return準備結束Foo函數,但是return前要執行finally語(yǔ)句的內容output ="3",此時(shí)output的值為“3”。然后結束Foo函數。在第24行處output的值為“3”。
注意: 答案時(shí)應該寫(xiě)“”?
示例: w05.java
6.
public class IfElse{
public static void main(String args[]){
if(odd(5))
System.out.println("odd");
else
System.out.println("even");
}
public static int odd(int x){return x%2;}
}
what is output?
題意: 輸出是什么?
分析: 本題比較簡(jiǎn)單,只是用odd這樣的函數名迷惑視線(xiàn),其實(shí)odd函數定義的類(lèi)型是int,所以放在if里判斷自然會(huì )產(chǎn)生錯誤。
解答: complime error
注意: if為??純热荩▋H僅從模擬考試題得出的結論,不代表實(shí)際考試情況)
示例: w06.java
7.
class ExceptionTest{
public static void main(String args[]){
try{
methodA();
}catch(IOException e){
System.out.println("caught IOException");
}catch(Exception e){
System.out.println("caught Exception");
}
}
}
If methodA() throws a IOException, what is the result?
題意: 如果methodA()拋出一個(gè)IOException,程序的結果是什么?
分析: 多個(gè)catch語(yǔ)句的情況是按順序判斷異常的類(lèi)型,直到找到相應的catch語(yǔ)句塊去執行,然后結束。
解答: 既然methodA拋出的是IOException異常,那么catch(IOException e)捕獲到并執行System.out.println("caught IOException")然后結束。所以答案是 caught IOException。
注意: 若調換catch(IOException e)和catch(Exception e)的順序會(huì )產(chǎn)生編譯錯誤。因為如果調換以后catch(IOException e)語(yǔ)句塊的內容永遠不會(huì )被執行。
示例: w07.java
8.
int i=1,j=10;
do{
if(i++ >--j) continue;
}while(i<5);
After Execution, what are the value for i and j?
 

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
題意: 執行結束后,i和j的值分別是什么?
分析: 說(shuō)實(shí)話(huà),我開(kāi)始以為這題還有點(diǎn)復雜,是考x 和 x的區別以及continue語(yǔ)句的作用,可是經(jīng)過(guò)分析發(fā)現其實(shí)知不知道以上兩個(gè)知識點(diǎn)對答案并沒(méi)有影響,簡(jiǎn)單的計算一下就OK了,i和的值經(jīng)過(guò)循環(huán)依次為:2、9;3、8;4、7;5、6。此時(shí)i<5不成立,程序結束,而已。
解答: i=5,j=6 。答案為D
注意: 還是要注意一下x 和 x的區別,x 表達式的值為x原值, x表達式的值為x經(jīng) 1計算后的值。但經(jīng)過(guò)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)塊內表示本次循環(huán)結束(注意不是循環(huán)結束?。┫麓窝h(huán)開(kāi)始,它后面的語(yǔ)句就不執行了。
示例: w08.java
9.
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)
題意: (此題有拼寫(xiě)錯誤大概意思是)哪一行是引用對象明確的允許被垃圾收集機收集的最早的位置
分析: 一個(gè)對象成為垃圾有兩種情況,一是失去引用;一是離開(kāi)了作用域。
解答: 程序在第3行new了一個(gè)值為3.14的float對象,并用object引用類(lèi)型o指向它。第4行聲明一個(gè)大小為1的object類(lèi)型的數組oa,第5行將o的引用傳遞給oa的第一個(gè)成員oa[0]。注意此時(shí)有兩個(gè)引用o和oa[0]指向實(shí)際值為3.14的float對象。第6行讓o為空,既o失去對象的引用,也就是float對象失去一個(gè)引用o。此時(shí)float對象還有一個(gè)引用oa[0],用oa[0]依然可以訪(fǎng)問(wèn)。第7行,oa[0]置空,此時(shí)float對象已經(jīng)沒(méi)有引用指向它,既變?yōu)槔?,可以被收集。所以答案是D。
注意: 注意對象和對象的引用的區別。
示例: 無(wú)
10.
1) interface Foo{
2) int k=0;
3) }
4) public class Test implements Foo{
5) public static void main(String args[]){
6) int i;
7) Test test =new Test();
8) i=test.k;
9) i=Test.k;
10) i=Foo.k;
11) }
12) }
what is the result?
題意: 結果是什么?
分析: 接口和實(shí)現的問(wèn)題,接口中的數據成員都是static和final型的,即使接口中不用這兩個(gè)關(guān)鍵字定義。接口中的所有方法都是public型的,并且沒(méi)有被實(shí)現,需要在直接繼承他的類(lèi)中全部定義。
解答: 關(guān)鍵分析8、9、10行。第8行i=test.k;test是Test類(lèi)的一個(gè)實(shí)例,Test是接口Foo的實(shí)現類(lèi),所以Test類(lèi)擁有static final類(lèi)型的k數據成員,test對Test類(lèi)的k成員進(jìn)行調用是合法的,所以實(shí)際i被附值為0。第9行在Test類(lèi)的靜態(tài)方法main中調用靜態(tài)數據k當然也沒(méi)有錯誤。第10行調用同一個(gè)文件中的接口中的靜態(tài)成員也是合法的,所以程序會(huì )成功編譯,沒(méi)有錯誤。
注意: 示例中可以同時(shí)使用注釋1和注釋2的語(yǔ)句,或單獨使用注釋1的語(yǔ)句。單獨使用注釋2的附值語(yǔ)句時(shí),會(huì )出現編譯錯誤,這是因為試圖給final變量附值引起的。
-------------------------------------------------------------------------------------------------------------------------------
Choose the three valid identifiers from those listed below.
A. IDoLikeTheLongNameClass
B. $byte
C. const
D. _ok
E. 3_case
解答:A, B, D
點(diǎn)評:Java中的標示符必須是字母、美元符($)或下劃線(xiàn)(_)開(kāi)頭。關(guān)鍵字與保留字不能作為標示符。選項C中的const是Java的保留字,所以不能作標示符。選項E中的3_case以數字開(kāi)頭,違反了Java的規則。
例題2:
How can you force garbage collection of an object?
A. Garbage collection cannot be forced
B. Call System.gc().
C. Call System.gc(), passing in a reference to the object to be garbage collected.
D. Call Runtime.gc().
E. Set all references to the object to new values(null, for example).
解答:A
點(diǎn)評:在Java中垃圾收集是不能被強迫立即執行的。調用System.gc()或Runtime.gc()靜態(tài)方法不能保證垃圾收集器的立即執行,因為,也許存在著(zhù)更高優(yōu)先級的線(xiàn)程。所以選項B、D不正確。選項C的錯誤在于,System.gc()方法是不接受參數的。選項E中的方法可以使對象在下次垃圾收集器運行時(shí)被收集。
例題3:
Consider the following class:
1. class Test(int i) {
2. void test(int i) {
3. System.out.println(“I am an int.”);
4. }
5. void test(String s) {
6. System.out.println(“I am a string.”);
7. }
8.
9. public static void main(String args[]) {
10. Test t=new Test();
11. char ch=“y”;
12. t.test(ch);
13. }
14. }
Which of the statements below is true?(Choose one.)
A. Line 5 will not compile, because void methods cannot be overridden.
B. Line 12 will not compile, because there is no version of test() that rakes a char argument.
C. The code will compile but will throw an exception at line 12.
D. The code will compile and produce the following output: I am an int.
E. The code will compile and produce the following output: I am a String.
解答:D
點(diǎn)評:在第12行,16位長(cháng)的char型變量ch在編譯時(shí)會(huì )自動(dòng)轉化為一個(gè)32位長(cháng)的int型,并在運行時(shí)傳給void test(int i)方法。
例題4:
Which of the following lines of code will compile without error?
A.
int i=0;
if (i) {
System.out.println(“Hi”);
}
B.
boolean b=true;
boolean b2=true;
if(b==b2) {
System.out.println(“So true”);
}
C.
int i=1;
int j=2;
if(i==1|| j==2)
System.out.println(“OK”);
D.
int i=1;
int j=2;
if (i==1 &| j==2)
System.out.println(“OK”);
解答:B, C
點(diǎn)評:選項A錯,因為if語(yǔ)句后需要一個(gè)boolean類(lèi)型的表達式。邏輯操作有^、&、| 和 &&、||,但是“&|”是非法的,所以選項D不正確。
例題5:
Which two demonstrate a "has a" relationship? (Choose two)
A. public interface Person { }
 

public class Employee extends Person{ }
B. public interface Shape { }
public interface Rectandle extends Shape { }
C. public interface Colorable { }
public class Shape implements Colorable
{ }
D. public class Species{ }
public class Animal{private Species species;}
E. interface Component{ }
class Container implements Component{
private Component[] children;
}
解答:D, E
點(diǎn)評: 在Java中代碼重用有兩種可能的方式,即組合(“has a”關(guān)系)和繼承(“is a”關(guān)系)。“has a”關(guān)系是通過(guò)定義類(lèi)的屬性的方式實(shí)現的;而“is a”關(guān)系是通過(guò)類(lèi)繼承實(shí)現的。本例中選項A、B、C體現了“is a”關(guān)系;選項D、E體現了“has a”關(guān)系。
例題6:
Which two statements are true for the class java.util.TreeSet? (Choose two)
A. The elements in the collection are ordered.
B. The collection is guaranteed to be immutable.
C. The elements in the collection are guaranteed to be unique.
D. The elements in the collection are accessed using a unique key.
E. The elements in the collection are guaranteed to be synchronized
解答:A, C
點(diǎn)評:TreeSet類(lèi)實(shí)現了Set接口。Set的特點(diǎn)是其中的元素惟一,選項C正確。由于采用了樹(shù)形存儲方式,將元素有序地組織起來(lái),所以選項A也正確。
例題7:
True or False: Readers have methods that can read and return floats and doubles.
A. Ture
B. False
解答:B
點(diǎn)評: Reader/Writer只處理Unicode字符的輸入輸出。float和double可以通過(guò)stream進(jìn)行I/O.
例題8:
What does the following paint() method draw?
1. public void paint(Graphics g) {
2. g.drawString(“Any question”, 10, 0);
3. }
A. The string “Any question?”, with its top-left corner at 10,0
B. A little squiggle coming down from the top of the component.
解答:B
點(diǎn)評:drawString(String str, int x, int y)方法是使用當前的顏色和字符,將str的內容顯示出來(lái),并且最左的字符的基線(xiàn)從(x,y)開(kāi)始。在本題中,y=0,所以基線(xiàn)位于最頂端。我們只能看到下行字母的一部分,即字母‘y’、‘q’的下半部分。
例題9:
What happens when you try to compile and run the following application? Choose all correct options.
public class Z {
 public static void main(String[] args) {
  new Z();
 }
 Z() {
  Z alias1 = this;
  Z alias2 = this;
  synchronized (alias1) {
   try {
    alias2.wait();
    System.out.println("DONE WAITING");
   }
   catch (InterruptedException e) {
    System.out.println("INTERRUPTED");
   }
   catch (Exception e) {
    System.out.println("OTHER EXCEPTION");
   }
   finally {
    System.out.println("FINALLY");
   }
  }
  System.out.println("ALL DONE");
 }
}
A. The application compiles but doesn't print anything.
B. The application compiles and print “DONE WAITING”
C. The application compiles and print “FINALLY”
D. The application compiles and print “ALL DONE”
E. The application compiles and print “INTERRUPTED”
解答:A
點(diǎn)評:在Java中,每一個(gè)對象都有鎖。任何時(shí)候,該鎖都至多由一個(gè)線(xiàn)程控制。由于alias1與alias2指向同一對象Z,在執行第11行前,線(xiàn)程擁有對象Z的鎖。在執行完第11行以后,該線(xiàn)程釋放了對象Z的鎖,進(jìn)入等待池。但此后沒(méi)有線(xiàn)程調用對象Z的notify()和notifyAll()方法,所以該進(jìn)程一直處于等待狀態(tài),沒(méi)有輸出。
例題10:
Which statement or statements are true about the code listed below? Choose three.
public class MyTextArea extends TextArea {
public MyTextArea(int nrows, int ncols) {
 enableEvents(AWTEvent.TEXT_EVENT_MASK);
 }
public void processTextEvents(TextEvent te) {
  System.out.println(Processing a text event.);
 }
}
A. The source code must appear in a file called MyTextArea.java
B. Between lines 2 and 3, a call should be made to super(nrows, ncols) so that the new component will have the correct size.
C. At line 6, the return type of processTextEvent() should be declared boolean, not void.
D. Between lines 7 and 8, the following code should appear: return true.
E. Between lines 7 and 8, the following code should appear: super.processTextEvent(te).
解答:A, B, E
點(diǎn)評:由于類(lèi)是public,所以文件名必須與之對應,選項A正確。如果不在2、3行之間加上super(nrows,ncols)的話(huà),則會(huì )調用無(wú)參數構建器TextArea(), 使nrows、ncols信息丟失,故選項B正確。在Java2中,所有的事件處理方法都不返回值,選項C、D錯誤。選項E正確,因為如果不加super.processTextEvent(te),注冊的listener將不會(huì )被喚醒。
--------------------------------------------------------------------------------------------------------------------------------

41、Which of the following statements are legal?
A. long l = 4990;
B. int i = 4L;
C. float f = 1.1;
D. double d = 34.4;
E. double t = 0.9F.
(ade)
題目:下面的哪些聲明是合法的。
此題的考點(diǎn)是數字的表示法和基本數據類(lèi)型的類(lèi)型自動(dòng)轉換,沒(méi)有小數點(diǎn)的數字被認為是int型數,帶有小數點(diǎn)的數被認為是double型的數,其它的使用在數字后面加一個(gè)字母表示數據類(lèi)型,加l或者L是long型,加d或者D是double,加f或者F是float,可以將低精度的數字賦值給高精度的變量,反之則需要進(jìn)行強制類(lèi)型轉換,例如將int,short,byte賦值給long型時(shí)不需要顯式的類(lèi)型轉換,反之,將long型數賦值給byte,short,int型時(shí)需要強制轉換(int a=(int)123L;)。
 
42、
public class Parent {
int change() {…}
}
class Child extends Parent {
 
}
Which methods can be added into class Child?
A. public int change(){}
B. int chang(int i){}
C. private int change(){}
D. abstract int chang(){}
(ab)
題目:哪些方法可被加入類(lèi)Child。
這個(gè)題目的問(wèn)題在第35題中有詳盡的敘述。需要注意的是答案D的內容,子類(lèi)可以重寫(xiě)父類(lèi)的方法并將之聲明為抽象方法,但是這引發(fā)的問(wèn)題是類(lèi)必須聲明為抽象類(lèi),否則編譯不能通過(guò),而且抽象方法不能有方法體,也就是方法聲明后面不能帶上那兩個(gè)大括號({}),這些D都不能滿(mǎn)足。
 
43、
class Parent {
String one, two;
public Parent(String a, String b){
one = a;
two = b;
}
public void print(){ System.out.println(one); }
}
public class Child extends Parent {
public Child(String a, String b){
super(a,b);
}
public void print(){
System.out.println(one " to " two);
}
public static void main(String arg[]){
Parent p = new Parent("south", "north");
Parent t = new Child("east", "west");
p.print();
t.print();
}
}
Which of the following is correct?
A. Cause error during compilation.
B. south
east
C. south to north
east to west
D. south to north
east
E. south
east to west
(e)
題目:下面的哪些正確。
A. 在編譯時(shí)出錯。
這個(gè)題目涉及繼承時(shí)的多態(tài)性問(wèn)題,在前面的問(wèn)題中已經(jīng)有講述,要注意的是語(yǔ)句t.print();在運行時(shí)t實(shí)際指向的是一個(gè)Child對象,即java在運行時(shí)決定變量的實(shí)際類(lèi)型,而在編譯時(shí)t是一個(gè)Parent對象,因此,如果子類(lèi)Child中有父類(lèi)中沒(méi)有的方法,例如printAll(),那么不能使用t.printAll()。參見(jiàn)12題的敘述。
 
44、A Button is positioned in a Frame. Only height of the Button is affected by the Frame while the width is not. Which layout manager should be used?
A. FlowLayout
B. CardLayout
C. North and South of BorderLayout
D. East and West of BorderLayout
E. GridLayout
(d)
題目:一個(gè)按鈕放在一個(gè)框架中,在框架改變時(shí)只影響按鈕的高度而寬度不受影響,應該使用哪個(gè)布局管理器?
這個(gè)還是布局管理器的問(wèn)題,流布局管理器(FlowLayout)將根據框架的大小隨時(shí)調整它里面的組件的大小,包括高度和寬度,這個(gè)管理器不會(huì )約束組件的大小,而是允許他們獲得自己的最佳大小,一行滿(mǎn)了以后將在下一行放置組件;卡片管理器(CardLayout)一次顯式一個(gè)加入的組件(根據加入時(shí)的關(guān)鍵字);網(wǎng)格管理器(GridLayout)將容器劃分為固定的網(wǎng)格,容器大小的改變將影響所有組件的大小,每個(gè)組件的大小都會(huì )同等地變化;邊界管理器(BorderLayout)將容器劃分為五個(gè)區域,分為東南西北和中間,東西區域的寬度為該區域里面組件的最佳寬度,高度為容器的高度減去南北區域的高度,這是一個(gè)可能變化的值,而南北區域的寬度為容器的整個(gè)寬度,高度為組件的最佳高度,中間區域的高度為容器的高度減去南北區域的高度,寬度為容器的寬度減去東西區域的寬度。
 
45、Given the following code:
1) class Parent {
2) private String name;
3) public Parent(){}
4) }
5) public class Child extends Parent {
6) private String department;
7) public Child() {}
8) public String getValue(){ return name; }
9) public static void main(String arg[]) {
10) Parent p = new Parent();
11) }
12) }
Which line will cause error?
A. line 3
B. line 6
C. line 7
D. line 8
E. line 10
(d)
題目:給出下面的代碼:
哪些行將導致錯誤。
第8行的getValue()試圖訪(fǎng)問(wèn)父類(lèi)的私有變量,錯誤,參看前面有關(guān)變量類(lèi)型及其作用域的敘述。
 
 

46、The variable "result" is boolean. Which expressions are legal?
A. result = true;
B. if ( result ) { // do something... }
C. if ( result!= 0 ) { // so something... }
D. result = 1
(ab)
題目:變量"result"是一個(gè)boolean型的值,下面的哪些表達式是合法的。
Java的boolean不同于c或者c 中的布爾值,在java中boolean值就是boolean值,不能將其它類(lèi)型的值當作boolean處理。
 
47、Class Teacher and Student are subclass of class Person.
Person p;
Teacher t;
Student s;
p, t and s are all non-null.
if(t instanceof Person) { s = (Student)t; }
What is the result of this sentence?
A. It will construct a Student object.
B. The expression is legal.
C. It is illegal at compilation.
D. It is legal at compilation but possible illegal at runtime.
(c)
題目:類(lèi)Teacher和Student都是類(lèi)Person的子類(lèi)
p,t和s都是非空值
這個(gè)語(yǔ)句導致的結果是什么
A. 將構造一個(gè)Student對象。
B. 表達式合法。
C. 編譯時(shí)非法。
D. 編譯時(shí)合法而在運行時(shí)可能非法。
instanceof操作符的作用是判斷一個(gè)變量是否是右操作數指出的類(lèi)的一個(gè)對象,由于java語(yǔ)言的多態(tài)性使得可以用一個(gè)子類(lèi)的實(shí)例賦值給一個(gè)父類(lèi)的變量,而在一些情況下需要判斷變量到底是一個(gè)什么類(lèi)型的對象,這時(shí)就可以使用instanceof了。當左操作數是右操作數指出的類(lèi)的實(shí)例或者是子類(lèi)的實(shí)例時(shí)都返回真,如果是將一個(gè)子類(lèi)的實(shí)例賦值給一個(gè)父類(lèi)的變量,用instanceof判斷該變量是否是子類(lèi)的一個(gè)實(shí)例時(shí)也將返回真。此題中的if語(yǔ)句的判斷沒(méi)有問(wèn)題,而且將返回真,但是后面的類(lèi)型轉換是非法的,因為t是一個(gè)Teacher對象,它不能被強制轉換為一個(gè)Student對象,即使這兩個(gè)類(lèi)有共同的父類(lèi)。如果是將t轉換為一個(gè)Person對象則可以,而且不需要強制轉換。這個(gè)錯誤在編譯時(shí)就可以發(fā)現,因此編譯不能通過(guò)。
 
48、Given the following class:
public class Sample{
long length;
public Sample(long l){ length = l; }
public static void main(String arg[]){
Sample s1, s2, s3;
s1 = new Sample(21L);
s2 = new Sample(21L);
s3 = s2;
long m = 21L;
}
}
Which expression returns true?
A. s1 == s2;
B. s2 == s3;
C. m == s1;
D. s1.equals(m).
(b)
題目:給出下面的類(lèi):
哪個(gè)表達式返回true。
前面已經(jīng)敘述過(guò)==操作符和String的equals()方法的特點(diǎn),另外==操作符兩邊的操作數必須是同一類(lèi)型的(可以是父子類(lèi)之間)才能編譯通過(guò)。
 
49、Given the following expression about List.
List l = new List(6,true);
Which statements are ture?
A. The visible rows of the list is 6 unless otherwise constrained.
B. The maximum number of characters in a line will be 6.
C. The list allows users to make multiple selections
D. The list can be selected only one item.
(ac)
題目:給出下面有關(guān)List的表達式:
哪些敘述是對的。
A. 在沒(méi)有其它的約束的條件下該列表將有6行可見(jiàn)。
B. 一行的最大字符數是6
C. 列表將允許用戶(hù)多選。
D. 列表只能有一項被選中。
List組件的該構造方法的第一個(gè)參數的意思是它的初始顯式行數,如果該值為0則顯示4行,第二個(gè)參數是指定該組件是否可以多選,如果值為true則是可以多選,如果不指定則缺省是不能多選。
 
50、Given the following code:
class Person {
String name,department;
public void printValue(){
System.out.println("name is " name);
System.out.println("department is " department);
}
}
public class Teacher extends Person {
int salary;
public void printValue(){
// doing the same as in the parent method printValue()
// including print the value of name and department.
System.out.println("salary is " salary);
}
}
Which expression can be added at the "doing the same as..." part of the method printValue()?
A. printValue();
B. this.printValue();
C. person.printValue();
D. super.printValue().
(d)
題目:給出下面的代碼:
下面的哪些表達式可以加入printValue()方法的"doing the same as..."部分。
子類(lèi)可以重寫(xiě)父類(lèi)的方法,在子類(lèi)的對應方法或其它方法中要調用被重寫(xiě)的方法需要在該方法前面加上”super.”進(jìn)行調用,如果調用的是沒(méi)有被重寫(xiě)的方法,則不需要加上super.進(jìn)行調用,而直接寫(xiě)方法就可以。這里要指出的是java支持方法的遞歸調用,因此答案a和b在語(yǔ)法上是沒(méi)有錯誤的,但是不符合題目代碼中說(shuō)明處的要求:即做和父類(lèi)的方法中相同的事情――打印名字和部門(mén),嚴格來(lái)說(shuō)也可以選a和b。
 
 

51、Which is not a method of the class InputStream?
A. int read(byte[])
B. void flush()
C. void close()
D. int available()
(b)
題目:下面哪個(gè)不是InputStream類(lèi)中的方法
這個(gè)題目沒(méi)有什么好說(shuō)的,要求熟悉java API中的一些基本類(lèi),題目中的InputStream是所有輸入流的父類(lèi),所有要很熟悉,參看JDK的API文檔。方法void flush()是緩沖輸出流的基本方法,作用是強制將流緩沖區中的當前內容強制輸出。
 
52、Which class is not subclass of FilterInputStream?
A. DataInputStream
B. BufferedInputStream
C. PushbackInputStream
D. FileInputStream
(d)
題目:
哪個(gè)不是FilterInputStream的子類(lèi)。
此題也是要求熟悉API基礎類(lèi)。Java基礎API中的FilterInputStream 的已知子類(lèi)有:BufferedInputStream, CheckedInputStream, CipherInputStream, DataInputStream, DigestInputStream, InflaterInputStream, LineNumberInputStream, ProgressMonitorInputStream, PushbackInputStream 。
 
53、Which classes can be used as the argument of the constructor of the class FileInputStream?
A. InputStream
B. File
C. FileOutputStream
D. String
(bd)
題目:哪些類(lèi)可以作為FileInputStream類(lèi)的構造方法的參數。
此題同樣是要求熟悉基礎API,FileInputStream類(lèi)的構造方法有三個(gè),可接受的參數分別是:File、FileDescriptor、String類(lèi)的一個(gè)對象。
 
54、Which classes can be used as the argument of the constructor of the class FilterInputStream?
A. FilterOutputStream
B. File
C. InputStream
D. RandomAccessFile
(c)
題目:哪些類(lèi)可以作為FilterInputStream類(lèi)的構造方法的參數。
FilterInputStream的構造方法只有一個(gè),其參數是一個(gè)InputStream對象。
 
55、Given the following code fragment:
1) switch(m)
2) { case 0: System.out.println("case 0");
3) case 1: System.out.println("case 1"); break;
4) case 2:
5) default: System.out.println("default");
6) }
Which value of m would cause "default" to be the output?
A. 0
B. 1
C. 2
D. 3
(cd)
題目:給出下面的代碼片斷:
m為哪些值將導致"default"輸出。
此題考察switch語(yǔ)句的用法,switch的判斷的條件必須是一個(gè)int型值,也可以是byte、short、char型的值,case中需要注意的是一個(gè)case后面一般要接一個(gè)break語(yǔ)句才能結束判斷,否則將繼續執行其它c(diǎn)ase而不進(jìn)行任何判斷,如果沒(méi)有任何值符合case列出的判斷,則執行default的語(yǔ)句,default是可選的,可以沒(méi)有,如果沒(méi)有default而又沒(méi)有任何值匹配case中列出的值則switch不執行任何語(yǔ)句。
 
56、Given the uncompleted method:
1)
2) { success = connect();
3) if (success==-1) {
4) throw new TimedOutException();
5) }
6)}
TimedOutException is not a RuntimeException. Which can complete the method of declaration when added at line 1?
A. public void method()
B. public void method() throws Exception
C. public void method() throws TimedOutException
D. public void method() throw TimedOutException
E. public throw TimedOutException void method()
(bc)
題目:給出下面的不完整的方法:
TimedOutException 不是一個(gè)RuntimeException。下面的哪些聲明可以被加入第一行完成此方法的聲明。
如果程序在運行的過(guò)程中拋出異常,而這個(gè)異常又不是RuntimeException或者Error,那么程序必須捕獲這個(gè)異常進(jìn)行處理或者聲明拋棄(throws)該異常,捕獲異??梢允褂胻ry{}catch(){}語(yǔ)句,而拋棄異常在方法聲明是聲明,在方法的聲明后面加上throws XxxxException,拋棄多個(gè)異常時(shí)在各異常間使用逗號(,)分隔,題目中的程序在運行時(shí)拋出的不是一個(gè)RuntimeException,所有必須捕獲或者拋棄,而程序又沒(méi)有捕獲,所有應該在方法聲明中聲明拋棄。由于Exception是所有異常的父類(lèi),所有當然也可以代表RuntimeException了。
 
57、Which of the following answer is correct to express the value 10 in hexadecimal number?
A. 0xA
B. 0x16
C. 0A
D. 016
(a)
題目:下面的哪些答案可以正確表示一個(gè)十六進(jìn)制數字10。
十六進(jìn)制數以0x開(kāi)頭,以0開(kāi)頭的是八進(jìn)制數。十六進(jìn)制表示中的a,b,c,d,e,f依次為10,11,12,13,14,15。
 
58、Which statements about thread are true?
 

A. Once a thread is created, it can star running immediately.
B. To use the start() method makes a thread runnable, but it does not necessarily start immediately.
C. When a thread stops running because of pre-emptive, it is placed at the front end of the runnable queue.
D. A thread may cease to be ready for a variety of reasons.
(bd)
題目:有關(guān)線(xiàn)程的哪些敘述是對的。
A. 一旦一個(gè)線(xiàn)程被創(chuàng )建,它就立即開(kāi)始運行。
B. 使用start()方法可以使一個(gè)線(xiàn)程成為可運行的,但是它不一定立即開(kāi)始運行。
C. 當一個(gè)線(xiàn)程因為搶先機制而停止運行,它被放在可運行隊列的前面。
D. 一個(gè)線(xiàn)程可能因為不同的原因停止(cease)并進(jìn)入就緒狀態(tài)。
一個(gè)新創(chuàng )建的線(xiàn)程并不是自動(dòng)的開(kāi)始運行的,必須調用它的start()方法使之將線(xiàn)程放入可運行態(tài)(runnable state),這只是意味著(zhù)該線(xiàn)程可為JVM的線(xiàn)程調度程序調度而不是意味著(zhù)它可以立即運行。線(xiàn)程的調度是搶先式的,而不是分時(shí) 間片式的。具有比當前運行線(xiàn)程高優(yōu)先級的線(xiàn)程可以使當前線(xiàn)程停止運行而進(jìn)入就緒狀態(tài),不同優(yōu)先級的線(xiàn)程間是搶先式的,而同級線(xiàn)程間是輪轉式的。一個(gè)線(xiàn)程停止運行可以是因為不同原因,可能是因為更高優(yōu)先級線(xiàn)程的搶占,也可能是因為調用sleep()方法,而即使是因為搶先而停止也不一定就進(jìn)入可運行隊列的前面,因為同級線(xiàn)程是輪換式的,它的運行可能就是因為輪換,而它因搶占而停止后只能在輪換隊列中排隊而不能排在前面。
 
59、The method resume() is responsible for resuming which thread's execution?
A. The thread which is stopped by calling method stop()
B. The thread which is stopped by calling method sleep()
C. The thread which is stopped by calling method wait()
D. The thread which is stopped by calling method suspend()
(d)
題目:方法resume()負責恢復哪些線(xiàn)程的執行。
A. 通過(guò)調用stop()方法而停止的線(xiàn)程。
B. 通過(guò)調用sleep()方法而停止運行的線(xiàn)程。
C. 通過(guò)調用wait()方法而停止運行的線(xiàn)程。
D. 通過(guò)調用suspend()方法而停止運行的線(xiàn)程。
Thread的API文檔中的說(shuō)明是該方法恢復被掛起的(suspended)線(xiàn)程。該方法首先調用該線(xiàn)程的無(wú)參的checkAccess() 方法,這可能在當前線(xiàn)程上拋出SecurityException 異常,如果該線(xiàn)程是活著(zhù)的(alive)但是被掛起(suspend),它被恢復并繼續它的執行進(jìn)程。
 
60、Given the following code:
1) public class Test {
2) int m, n;
3) public Test() {}
4) public Test(int a) { m=a; }
5) public static void main(String arg[]) {
6) Test t1,t2;
7) int j,k;
8) j=0; k=0;
9) t1=new Test();
10) t2=new Test(j,k);
11) }
12) }
Which line would cause one error during compilation?
A. line 3
B. line 5
C. line 6
D. line 10
(d)
題目:給出下面的代碼:
在編譯時(shí)哪行將導致一個(gè)錯誤。
第10行的聲明調用一個(gè)帶兩個(gè)參數的Test的構造方法,而該類(lèi)沒(méi)有這樣的構造方法。

--------------------------------------------------------------------------------------------------------------------------------
SCJP考試中的幾點(diǎn)注意
● 深刻理解面向對象的思想
Java是一種純粹的面向對象的程序設計語(yǔ)言。在正式使用Java做開(kāi)發(fā)之前,必須將我們的思維方式轉入一個(gè)徹底的面向對象的世界。做不到這一點(diǎn),就無(wú)法體會(huì )Java語(yǔ)言的精髓,寫(xiě)不出地道的Java程序。當然,你也無(wú)法徹底理解Java中的基本概念和他們之間的聯(lián)系與區別,如例題3、例題5。你可以學(xué)到Java的語(yǔ)法規則,卻不能看到Java的靈魂。
● 對概念細節的精確把握
通過(guò)例題我們可以看到,SCJP的考察點(diǎn)相當細致。如例題1、2、4、7、8。所以只有對Java的概念、語(yǔ)法、規則了然于心,才能在考場(chǎng)上應對自如。
● 適量的練習
程序設計是一項實(shí)踐性很強的技術(shù)。只有上機實(shí)踐,才能使課本中的理論、頭腦中的思想通過(guò)你的雙手成為一行行代碼,完成規定的目標。雖然SCJP考試不考操作與編程,但有大量的程序閱讀,如例題3、4、9、10。如果你自己寫(xiě)過(guò)許多代碼的話(huà),這種題就是小菜一碟。
● 廣泛的交流
善于交流是優(yōu)秀程序員必備的技能,也是你解決疑難,提高水平的捷徑。國內外有很多與Java認證相關(guān)的優(yōu)秀網(wǎng)站和論壇,如: www.javaranch.com, www.javaunion.net等, 都是學(xué)習Java的寶庫。同時(shí),一些很棒的??架浖?,如Jxam、JTest、 Javacert等,以及著(zhù)名的??碱}如MarcusGreen的三套題均可以找到。
無(wú)論你是個(gè)新手,還是程序設計方面的專(zhuān)家,你都會(huì )驚異于Sun公司Java的無(wú)窮魅力。Java帶給你的并不僅僅是面向對象、開(kāi)放、平臺無(wú)關(guān)、易用、安全和“Write once, run anywhere”等軟件開(kāi)發(fā)方面的優(yōu)勢,更重要的一點(diǎn)是,它提供了一種新穎的表達思想的方式,一種全新的思維模式。隨著(zhù)待解決問(wèn)題的規模不斷膨脹,Java徹底的面向對象思想的靈活性就會(huì )凸現出來(lái)。毋庸置疑,Java是你開(kāi)發(fā)大型軟件時(shí)最得心應手的利器或是你轉行IT的入門(mén)首選。
SCJP考試簡(jiǎn)介
● 考試方式
全英文試題,以電腦作答,在授權的Prometric考試中心參加考試
考試編號:310-025
先決條件:無(wú)
考試題型:復選、填空和拖拽匹配
題量:59
及格標準:61%
時(shí)限:120分鐘
費用:1250元
● 要求具備的能力
● 使用Java編程語(yǔ)言創(chuàng )建Java應用程序和applets。
● 定義和描述垃圾搜集,安全性和Java虛擬機(JVM)。
● 描述和使用Java語(yǔ)言面向對象的特點(diǎn)。
● 開(kāi)發(fā)圖形用戶(hù)界面(GUI)。利用Java支持的多種布局管理。
● 描述和使用Java的事件處理模式。
● 使用Java語(yǔ)言的鼠標輸入、文本、窗口和菜單窗口部件。
● 使用Java的例外處理來(lái)控制程序執行和定義用戶(hù)自己的例外事件。
● 使用Java語(yǔ)言先進(jìn)的面向對象特點(diǎn), 包括方法重載、方法覆蓋、抽象類(lèi)、接口、final、static和訪(fǎng)問(wèn)控制。
● 實(shí)現文件的輸入/輸出 (I/O)。
● 使用Java語(yǔ)言?xún)仍诘木€(xiàn)程模式來(lái)控制多線(xiàn)程。
● 使用Java 的Sockets機制進(jìn)行網(wǎng)絡(luò )通信。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
IT公司Java筆試題
我肝了一個(gè)月,給你寫(xiě)出了這本Java開(kāi)發(fā)手冊。
Java必備基礎知識點(diǎn)(超全)
java synchronized 用法 轉自水木 java版 zms的貼子
達內java面試題
ddsdcx
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久