国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
scjp認(rèn)證套題解析(2)
21、Which of the following assignment is not correct?
  A. float f = 11.1;
  B. double d = 5.3E12;
  C. double d = 3.14159;
  D. double d = 3.14D.
  (a)
  題目:下面的哪些賦值語句是對(duì)的。
  浮點(diǎn)數(shù)的賦值是帶有小數(shù)點(diǎn)的數(shù)字缺省是double型的,如果在浮點(diǎn)數(shù)后面加f或者F則是float,后面加d或者D則是double,科學(xué)計(jì)數(shù)法形式的浮點(diǎn)數(shù)也是double型的,而double的精度比float高,將一個(gè)高精度的double賦值給一個(gè)低精度的float時(shí)需要進(jìn)行強(qiáng)制類型轉(zhuǎn)換,反之則不需要。
  
  
  22、Given the uncompleted code of a class:
  class Person {
  String name, department;
  int age;
  public Person(String n){ name = n; }
  public Person(String n, int a){ name = n; age = a; }
  public Person(String n, String d, int a) {
  // doing the same as two arguments version of constructor
  // including assignment name=n,age=a
  department = d;
  }
  }
  Which expression can be added at the "doing the same as..." part of the constructor?
  A. Person(n,a);
  B. this(Person(n,a));
  C. this(n,a);
  D. this(name,age).
  (c)
  題目:給出下面的不完整的類代碼:
  …
  下面的哪些表達(dá)式可以加到構(gòu)造方法中的"doing the same as..."處?
  在同一個(gè)類的不同構(gòu)造方法中調(diào)用該類的其它構(gòu)造方法需要使用this(…)的形式,而且必須是在構(gòu)造方法的第一行調(diào)用,這個(gè)和普通的方法重載調(diào)用的方式不同,普通的方法可以直接使用方法名加參數(shù)來調(diào)用,而且調(diào)用位置沒有限制,因此答案A是不行的,B的語法就是錯(cuò)誤的,D的錯(cuò)誤在于在父類型的構(gòu)造函數(shù)被調(diào)用前不能引用類的成員。構(gòu)造方法是一個(gè)類對(duì)象實(shí)例化的起點(diǎn)(雖然嚴(yán)格來說首先執(zhí)行的并不是構(gòu)造方法的第一個(gè)語句,而是內(nèi)存的分配),因此在構(gòu)造方法中不能將成員作為參數(shù)引用。
  
  23、Which of the following statements about variables and their scopes are true?
  
  A. Instance variables are member variables of a class.
  B. Instance variables are declared with the static keyword.
  C. Local variables defined inside a method are created when the method is executed.
  D. Local variables must be initialized before they are used.
  (acd)
  題目:下面關(guān)于變量及其范圍的陳述哪些是對(duì)的。
  A. 實(shí)例變量是類的成員變量。
  B. 實(shí)例變量用關(guān)鍵字static聲明。
  C. 在方法中定義的局部變量在該方法被執(zhí)行時(shí)創(chuàng)建
  D. 局部變量在使用前必須被初始化。
  類中有幾種變量,分別是:局部變量(英文可以為:local\automatic\temporary\stack variable)是定義在方法里的變量;實(shí)例變量(英文為:instance variable)是在方法外而在類聲明內(nèi)定義的變量,有時(shí)也叫成員變量;類變量(英文為:class variable)是用關(guān)鍵字static聲明的實(shí)例變量,他們的生存期分別是:局部變量在定義該變量的方法被調(diào)用時(shí)被創(chuàng)建,而在該方法退出后被撤銷;實(shí)例變量在使用new Xxxx()創(chuàng)建該類的實(shí)例時(shí)被創(chuàng)建,而其生存期和該類的實(shí)例對(duì)象的生存期相同;類變量在該類被加載時(shí)被創(chuàng)建,不一定要用new Xxxx()創(chuàng)建,所有該類的實(shí)例對(duì)象共享該類變量,其生存期是類的生存期。任何變量在使用前都必須初始化,但是需要指出的是局部變量必須顯式初始化,而實(shí)例變量不必,原始類型的實(shí)例變量在該類的構(gòu)造方法被調(diào)用時(shí)為它分配的缺省的值,整型是0,布爾型是false,而浮點(diǎn)型是0.0f,引用類型(類類型)的實(shí)例變量的缺省值是null(沒有進(jìn)行實(shí)際的初始化,對(duì)它的使用將引起NullPointException),類變量的規(guī)則和實(shí)例變量一樣,不同的是類變量的初始化是在類被加載時(shí)。
  24、public void test() {
  try { oneMethod();
  System.out.println("condition 1");
  } catch (ArrayIndexOutOfBoundsException e) {
  System.out.println("condition 2");
  } catch(Exception e) {
  System.out.println("condition 3");
  } finally {
  System.out.println("finally");
  }
  }
  Which will display if oneMethod run normally?
  A. condition 1
  B. condition 2
  C. condition 3
  D. finally
  (ad)
  
  
  題目:在oneMethod()方法運(yùn)行正常的情況下將顯示什么?
  如果try塊中的語句在執(zhí)行時(shí)發(fā)生異常,則執(zhí)行從該處中斷而進(jìn)入catch塊,根據(jù)異常的類型進(jìn)行匹配,最前面的優(yōu)先進(jìn)行匹配比較,只要該異常是catch中指定的異常的子類就匹配成功進(jìn)而執(zhí)行相應(yīng)的catch中的內(nèi)容,而finally塊中的內(nèi)容無論是否發(fā)生異常都將被執(zhí)行。
  
  25、Given the following code:
  public class Test {
  void printValue(int m){
  do { System.out.println("The value is"+m);
  }
  while( --m > 10 )
  }
  public static void main(String arg[]) {
  int i=10;
  Test t= new Test();
  t.printValue(i);
  }
  }
  Which will be output?
  A. The value is 8
  B. The value is 9
  C. The value is 10
  D. The value is 11
  (c)
  題目:給出下面的代碼:
  …
  輸出將是什么?
  此題考察的是do… while循環(huán)和 -- 操作符的知識(shí),do…while最少被執(zhí)行一次,在執(zhí)行完do中的內(nèi)容后判斷while中的條件是否為true,如果為true的話就再執(zhí)行do中的內(nèi)容,然后再進(jìn)行判斷,以此類推直到while的判斷為false時(shí)退出循環(huán)執(zhí)行循環(huán)后面的內(nèi)容,而—操作符的規(guī)則是在變量右邊的-- 將先進(jìn)行運(yùn)算,然后才是使變量的值減一,而在變量左邊的是先將變量的值減一再運(yùn)算。
  
  26、Which of the following statements about declaration are true?
  A. Declaration of primitive types such as boolean, byte and so on does not allocate memory space for the variable.
  B. Declaration of primitive types such as boolean, byte and so on allocates memory space for the variable.
  C. Declaration of nonprimitive types such as String, Vector and so on does not allocate memory space for the object.
  D. Declaration of nonprimitive types such as String, Vector ans so on allocates memory space for the object.
  (ad)
  題目:下面的有關(guān)聲明的哪些敘述是對(duì)的。
  A. 對(duì)原始數(shù)據(jù)類型例如boolean,byte的變量的聲明不會(huì)為該變量分配內(nèi)存空間。
  B. 對(duì)原始數(shù)據(jù)類型例如boolean,byte的變量的聲明將為之分配內(nèi)存空間。
  C. 非原始數(shù)據(jù)類型例如String,Vector的變量的聲明不會(huì)為該對(duì)象分配內(nèi)存。
  D. 非原始數(shù)據(jù)類型例如String,Vector的變量的聲明會(huì)為該對(duì)象分配內(nèi)存。
  對(duì)原始數(shù)據(jù)類型的變量的聲明將為之分配內(nèi)存并賦予一個(gè)缺省值,參見23題的敘述,而非原始數(shù)據(jù)類型的變量必須用new Xxxx()分配內(nèi)存及初始化。但是嚴(yán)格來講此題的答案有待確定,因?yàn)橹挥性碱愋偷膶?shí)例變量和類變量的聲明在類對(duì)象被創(chuàng)建/類被加載時(shí)完成內(nèi)存的自動(dòng)分配,而原始類型的局部變量必須顯式初始化,從這點(diǎn)來看原始類型的局部變量沒有被自動(dòng)分配內(nèi)存,SL275中只提出了非原始數(shù)據(jù)類型的變量必須使用new Xxxx()完成內(nèi)存的分配而沒有指出原始數(shù)據(jù)類型的變量是否在聲明時(shí)即自動(dòng)進(jìn)行內(nèi)存分配,而從局部變量不能在顯式初始化前使用這點(diǎn)來看在聲明時(shí)沒有進(jìn)行內(nèi)存分配。因此答案a的正確性還有待官方的確定。
  27、In the Java API documentation which sections are included in a class document?
  A. The description of the class and its purpose
  B. A list of methods in its super class
  C. A list of member variable
  D. The class hierarchy
  (acd)
  題目:在Java API文檔中下面的哪些部分被包括在內(nèi)
  A. 類及用途的描述
  B. 父類的方法的列表
  C. 成員變量的列表
  D. 類層次
  類文檔的內(nèi)容主要是:類層次、類及用途描述、成員變量列表、構(gòu)造方法列表、成員方法列表、從類層次上繼承的方法列表、成員變量的詳細(xì)說明、構(gòu)造方法詳細(xì)說明、成員方法詳細(xì)說明。
  
  28、Given the following code:
  1) public void modify() {
  2) int i, j, k;
  3) i = 100;
  4) while ( i > 0 ) {
  5) j = i * 2;
  6) System.out.println (" The value of j is " + j );
  7) k = k + 1;
  8) i--;
  9) }
  10) }
  Which line might cause an error during compilation?
  A. line 4
  B. line 6
  C. line 7
  D. line 8
  (c)
  題目:給出下面的代碼:
  …
  哪些行在編譯時(shí)可能產(chǎn)生錯(cuò)誤。
  這個(gè)問題在前面有關(guān)變量的類型及其作用域的問題中討論過,局部變量在使用前必須顯式初始化,而代碼中的變量k在使用前沒有。
  
  29、Which of the following statements about variables and scope are true?
  A. Local variables defined inside a method are destroyed when the method is exited.
  B. Local variables are also called automatic variables.
  C. Variables defined outside a method are created when the object is constructed.
  D. A method parameter variable continues to exist for as long as the object is needed in which the method is defined.
  (abc)
  題目:下面有關(guān)變量及其作用域的陳述哪些是對(duì)的。
  A. 在方法里面定義的局部變量在方法退出的時(shí)候被撤銷。
  B. 局部變量也叫自動(dòng)變量。
  C. 在方法外面定義的變量(譯注:即實(shí)例變量)在對(duì)象被構(gòu)造時(shí)創(chuàng)建。
  D. 在方法中定義的方法的參變量只要該對(duì)象被需要就一直存在。
  本題還是討論變量的類型及作用域,參看前面的敘述。
  
  30、A class design requires that a member variable cannot be accessible directly outside the class. Which modifier should be used to obtain the access control?
  A. public
  B. no modifier
  C. protected
  D. private
  (d)
  題目:類的設(shè)計(jì)要求它的某個(gè)成員變量不能被外部類直接訪問。應(yīng)該使用下面的哪些修飾符獲得需要的訪問控制。
  這個(gè)在前面也有敘述,java有四種訪問類型,分別為:public,protected,default,private,其中public變量可以被所有的外部類訪問,而pretected的可以被同一個(gè)包及該類的子類訪問,default即沒有任何修飾符的變量可以被同一個(gè)包中的類訪問,而private變量只能在被該類內(nèi)部被訪問。題目中的外部類應(yīng)該理解為除該類自身的所有其它類,因此只有使用private可以達(dá)到要求。
  31Given the following code fragment:
  1) String str = null;
  2) if ((str != null) && (str.length() > 10)) {
  3) System.out.println("more than 10");
  4) }
  5) else if ((str != null) & (str.length() < 5)) {
  6) System.out.println("less than 5");
  7) }
  8) else { System.out.println("end"); }
  Which line will cause error?
  
  A. line 1
  B. line 2
  C. line 5
  D. line 8
  (c)
  題目:給出下面的代碼片斷:
  …
  哪些行將導(dǎo)致錯(cuò)誤。
  此題需要將代碼仔細(xì)看清楚,查詢沒有邏輯錯(cuò)誤,if …else的使用沒有問題,也沒有拼寫錯(cuò)誤,錯(cuò)誤在于第5行的“與”操作符的使用,邏輯操作符(logical operator)的“與”應(yīng)該是&&,而&是位邏輯操作符(bitwise logical operator)的“與”,使用的對(duì)象不一樣,邏輯操作符的“與”的左右操作數(shù)都應(yīng)該是布爾型(logical boolan)的值,而位邏輯操作符的左右操作數(shù)都是整型(integral)值。
  
  32、Which statements about Java code security are true?
  
  A. The bytecode verifier loads all classes needed for the execution of a program.
  B. Executing code is performed by the runtime interpreter.
  C. At runtime the bytecodes are loaded, checked and run in an interpreter.
  D. The class loader adds security by separating the namespaces for the classes of the local file system from those imported from network sources.
  (bcd)
  題目:下面有關(guān)java代碼安全性的敘述哪些是對(duì)的。
  A. 字節(jié)碼校驗(yàn)器加載查詢執(zhí)行需要的所有類。
  B. 運(yùn)行時(shí)解釋器執(zhí)行代碼。
  C. 在運(yùn)行時(shí),字節(jié)碼被加載,驗(yàn)證然后在解釋器里面運(yùn)行。
  D. 類加載器通過分離本機(jī)文件系統(tǒng)的類和從網(wǎng)絡(luò)導(dǎo)入的類增加安全性。
  SL275中描述的Java程序運(yùn)行的過程是這樣的:類加載器(class loader)加載程序運(yùn)行所需要的所有類,它通過區(qū)分本機(jī)文件系統(tǒng)的類和網(wǎng)絡(luò)系統(tǒng)導(dǎo)入的類增加安全性,這可以限制任何的特洛伊木馬程序,因?yàn)楸緳C(jī)類總是先被加載,一旦所有的類被加載完,執(zhí)行文件的內(nèi)存劃分就固定了,在這個(gè)時(shí)候特定的內(nèi)存地址被分配給對(duì)應(yīng)的符號(hào)引用,查找表(lookuo table)也被建立,由于內(nèi)存劃分發(fā)生在運(yùn)行時(shí),解釋器在受限制的代碼區(qū)增加保護(hù)防止未授權(quán)的訪問;然后字節(jié)碼校驗(yàn)器(byte code verifier)進(jìn)行校驗(yàn),主要執(zhí)行下面的檢查:類符合JVM規(guī)范的類文件格式,沒有違反訪問限制,代碼沒有造成堆棧的上溢或者下溢,所有操作代碼的參數(shù)類型都是正確的,沒有非法的數(shù)據(jù)類型轉(zhuǎn)換(例如將整型數(shù)轉(zhuǎn)換成對(duì)象類型)發(fā)生;校驗(yàn)通過的字節(jié)碼被解釋器(interpreter)執(zhí)行,解釋器在必要時(shí)通過運(yùn)行時(shí)系統(tǒng)執(zhí)行對(duì)底層硬件的合適調(diào)用。后三個(gè)答案是SL275中的原話。
  
  33、Given the following code:
  public class Person{
  static int arr[] = new int[10];
  public static void main(String a[]) {
  System.out.println(arr[1];)
  }
  }
  Which statement is correct?
  A. When compilation some error will occur.
  B. It is correct when compilation but will cause error when running.
  C. The output is zero.
  D. The output is null.
  (c)
  題目:給出下面的代碼:
  …
  那個(gè)敘述是對(duì)的。
  A. 編譯時(shí)將發(fā)生錯(cuò)誤。
  B. 編譯時(shí)正確但是運(yùn)行時(shí)出錯(cuò)。
  C. 輸出為0。
  D. 輸出為null
  int型數(shù)組是類對(duì)象,它在類被加載時(shí)完成初始化,在前面題目中已經(jīng)有敘述,由于是原始數(shù)據(jù)類型int,其初始值為0。
  34、Given the following code:
  public class Person{
  int arr[] = new int[10];
  public static void main(String a[]) {
  System.out.println(arr[1]);
  }
  }
  Which statement is correct?
  A. When compilation some error will occur.
  B. It is correct when compilation but will cause error when running.
  C. The output is zero.
  D. The output is null.
  (a)
  
  
  給出下面的代碼:
  …
  哪些敘述是對(duì)的。
  A. 編譯時(shí)出錯(cuò)。
  B. 編譯時(shí)正確而運(yùn)行時(shí)出錯(cuò)。
  C. 輸出0。
  D. 輸出null。
  實(shí)例變量在類的一個(gè)實(shí)例構(gòu)造時(shí)完成初始化,而且在類的靜態(tài)方法中不能直接訪問類的非靜態(tài)成員而只能訪問類成員(像上題中一樣),類的普通方法可以訪問類的所有成員和方法,而靜態(tài)方法只能訪問類的靜態(tài)成員和方法,因?yàn)殪o態(tài)方法屬于類,而普通方法及成員變量屬于類的實(shí)例,類方法(靜態(tài)方法)不能使用屬于某個(gè)不確定的類的實(shí)例的方法和變量,在靜態(tài)方法里面沒有隱含的this,而普通方法有。
  
  35、public class Parent {
  public int addValue( int a, int b) {
  int s;
  s = a+b;
  return s;
  }
  }
  class Child extends Parent {
  
  }
  Which methods can be added into class Child?
  A. int addValue( int a, int b ){// do something...}
  B. public void addValue (){// do something...}
  C. public int addValue( int a ){// do something...}
  D. public int addValue( int a, int b )throws MyException {//do something...}
  (bc)
  題目:哪些方法可以加入類Child中。
  此題涉及方法重載(overload),方法重寫(override)以及類派生時(shí)方法重寫的規(guī)則。方法重載的規(guī)則是:一、參數(shù)列表必須不同,個(gè)數(shù)的不同完全可以,如果個(gè)數(shù)相同則參數(shù)類型的不同不能引起歧意,例如int 和long,float和double就不能作為唯一的類型不同;二、返回值可以不同,但是不能是重載時(shí)唯一的不同點(diǎn)(這點(diǎn)和c++中不同,c++中返回類型必須一致)。方法重寫發(fā)生在類繼承時(shí),子類可以重寫一個(gè)父類中已有的方法,必須在返回類型和參數(shù)列表一樣時(shí)才能說是重寫,否則就是重載,java中方法重寫的一個(gè)重要而且容易被忽略的規(guī)則是重寫的方法的訪問權(quán)限不能比被重寫的方法的訪問權(quán)限低!重寫的另一個(gè)規(guī)則是重寫的方法不能比被重寫的方法拋棄(throws)更多種類的異常,其拋棄的異常只能少,或者是其子類,不能以拋棄異常的個(gè)數(shù)來判斷種類,而應(yīng)該是異常類層次結(jié)果上的種類。此題中答案a的錯(cuò)誤就是重寫的訪問權(quán)限比被重寫的方法的低,而b,c都屬于重載,d的錯(cuò)誤在于比被重寫的方法拋棄了更多種類的異常。
  
  36、A member variable defined in a class can be accessed only by the classes in the same package. Which modifier should be used to obtain the access control?
  A. private
  B. no modifier
  C. public
  D. protected
  (b)
  題目:一個(gè)類中定義的成員變量只能被同一包中的類訪問。下面的哪些修飾符可以獲得需要的訪問控制。
  參看前面的題目中的敘述。
  37、A public member vairable called MAX_LENGTH which is int type, the value of the variable remains constant value 100. Use a short statement to define the variable.
  A. public int MAX_LENGTH=100;
  B. final int MAX_LENGTH=100;
  C. final public int MAX_LENGTH=100;
  D. public final int MAX_LENGTH=100.
  (d)
  題目:共有成員變量MAX_LENGTH是一個(gè)int型值,變量的值保持常數(shù)值100。使用一個(gè)短聲明定義這個(gè)變量。
  Java中共有變量使用public定義,常量變量使用final,另外注意的是修飾符的順序,一個(gè)最完整的修飾是public static final int varial_a=100;這個(gè)順序不能錯(cuò),這和c++中也是不同的。而答案c恰恰錯(cuò)在修飾符的順序上。
  
  38、Which expressions are correct to declare an array of 10 String objects?
  A. char str[];
  B. char str[][];
  C. String str[];
  D. String str[10];
  (c)
  題目:哪些表達(dá)式是聲明一個(gè)含有10個(gè)String對(duì)象的數(shù)組。
  嚴(yán)格來說這個(gè)題目沒有給出一個(gè)正確的答案,唯一比較正確的是c,而完全滿足題目要求的應(yīng)該是:String str[]=new String[10];
  注意答案d的形式是不對(duì)的,這和c++也是不同的。
  
  39、Which fragments are correct in Java source file?
  A. package testpackage;
  public class Test{//do something...}
  B. import java.io.*;
  package testpackage;
  public class Test{// do something...}
  C. import java.io.*;
  class Person{// do something...}
  public class Test{// do something...}
  D. import java.io.*;
  import java.awt.*;
  public class Test{// do something...}
  (acd)
  題目:下面的那個(gè)java源文件代碼片斷是對(duì)的。
  Java中的package語句必須是源文件中除去說明以外的第一條語句,導(dǎo)入包語句可以有幾個(gè),但是必須位于package語句之后,其它類定義之前,一個(gè)源文件中可以有幾個(gè)類,但最多只能有一個(gè)是public的,如果有,則源文件的文件名必須和該類的類名相同。
  
  40:
  String s= "hello";
  String t = "hello";
  char c[] = {‘h‘,‘e‘,‘l‘,‘l‘,‘o‘} ;
  Which return true?
  A. s.equals(t);
  B. t.equals(c);
  C. s==t;
  D. t.equals(new String("hello"));
  E. t==c.
  (acd)
  題目:哪些返回true。
  這個(gè)在前面第10題的equals()方法和==操作符的討論中論述過。==操作符比較的是操作符兩端的操作數(shù)是否是同一個(gè)對(duì)象,而String的equals()方法比較的是兩個(gè)String對(duì)象的內(nèi)容是否一樣,其參數(shù)是一個(gè)String對(duì)象時(shí)才有可能返回true,其它對(duì)象都返回假。需要指出的是由于s和t并非使用new創(chuàng)建的,他們指向內(nèi)存池中的同一個(gè)字符串常量,因此其地址實(shí)際上是相同的(這個(gè)可以從反編譯一個(gè)簡單的測(cè)試程序的結(jié)果得到,限于篇幅不列出測(cè)試代碼和反編譯的分析),因此答案c也是正確的。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
SCJP試題分析修正版
最全的Java筆試題庫之選擇題篇-總共234道【1~60】
java經(jīng)典選擇題100例及答案
實(shí)現(xiàn)高效Java編程規(guī)范的十一條基礎(chǔ)規(guī)則
Java面試題集(1-50)
java 構(gòu)造函數(shù)初始化全過程以及順序
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服