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

http://www.webjx.com/  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] 下一页
更多

推荐文章

     
钱柜娱乐