JAVA认证真题:SCJP考试真题及解析
来源:优易学  2011-11-28 10:45:22   【优易学:中国教育考试门户网】   资料下载   IT书店
  例题1:

  Choose the three valid identifiers from those listed below.

  A. IDoLikeTheLongNameClass

  B. $byte

  C. const

  D. _ok

  E. 3_case

  解答:A, B, D

  点评:Java中的标示符必须是字母、美元符($)或下划线(_)开头。关键字与保留字不能作为标示符。选项C中的const是Java的保留字,所以不能作标示符。选项E中的3_case以数字开头,违反了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

  点评:在Java中垃圾收集是不能被强迫立即执行的。调用System.gc()或Runtime.gc()静态方法不能保证垃圾收集器的立即执行,因为,也许存在着更高优先级的线程。所以选项B、D不正确。选项C的错误在于,System.gc()方法是不接受参数的。选项E中的方法可以使对象在下次垃圾收集器运行时被收集。
  例题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

  点评:在第12行,16位长的char型变量ch在编译时会自动转化为一个32位长的int型,并在运行时传给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

  点评:选项A错,因为if语句后需要一个boolean类型的表达式。逻辑操作有^、&、| 和 &&、||,但是“&|”是非法的,所以选项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

  点评: 在Java中代码重用有两种可能的方式,即组合(“has a”关系)和继承(“is a”关系)。“has a”关系是通过定义类的属性的方式实现的;而“is a”关系是通过类继承实现的。本例中选项A、B、C体现了“is a”关系;选项D、E体现了“has a”关系。

  例题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

  点评:TreeSet类实现了Set接口。Set的特点是其中的元素惟一,选项C正确。由于采用了树形存储方式,将元素有序地组织起来,所以选项A也正确。

[1] [2] [3] [4] 下一页

责任编辑:小草

文章搜索:
 相关文章
热点资讯
热门课程培训