全国软考程序员考试部分例题

/  2007-11-09 03:24:36  来源:网页教学网收集整理 

Webjx网页教学提示:本文详细讲解了全国软考程序员考试部分例题。

   例题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”关系。

共2页: 上一页 1 [2] 下一页
更多

推荐文章