WEB开发网
开发学院WEB开发Jsp SCJP认证套题解析(1) 阅读

SCJP认证套题解析(1)

 2008-01-05 18:21:38 来源:WEB开发网   
核心提示:写作本文的目的是总结自己学习java的知识点,也可以方便其它人学习java,SCJP认证套题解析(1),个人的感觉是java确实是一个很好的编程语言,而学习好java必须先把握java的特点,从更严格的意义来说正确答案应该只有d,11. Which statements about inheritance are tr

  写作本文的目的是总结自己学习java的知识点,也可以方便其它人学习java,个人的感觉是java确实是一个很好的编程语言,而学习好java必须先把握java的特点,而这些特点在scjp的套题中可以充分的体现出来,套题考核的知识点非常的到位,必须对java非常了解才可以做好这些题。
  
  假如文中有错误之处,欢迎指正!假如有和本文相关的任何问题也欢迎来信联系。谢谢。
  
  -------------------------------------
  
  1. Which of the following range of short is correct?
  A. -27 -- 27-1
  B. 0 -- 216-1
  C. ?215 -- 215-1
  D. ?231 -- 231-1
  翻译下面哪些是short型的取值范围。
  答案
  C 解析
  短整型的数据类型的长度是16 bits,有符号。另外需要说明的是java中所有的整(Integral)数(包括byte,short,int,long)全是有符号的。
  
  
  2. Which declarations of identifiers are legal?
  A. $persons
  B. TwoUsers
  C. *point
  D. this
  E. _endline
  翻译下面哪些是合法的标识符。
  答案
  A,B,E 解析
  Java的标识符可以以一个Unicode字符,下滑线(_),美元符($)开始,后续字符可以是前面的符号和数字,没有长度限制,大小写敏感,不能是保留字。
  
  3. Which statement of assigning a long type variable to a hexadecimal value is correct?
  A. long number = 345L;
  B. long number = 0345;
  C. long number = 0345L;
  D. long number = 0x345L
  翻译哪些是将一个十六进制值赋值给一个long型变量。
  答案
  D 解析
  十六进制数以0x开头,long型数以L(大小写均可,一般使用大写,因为小写的l和数字1不易区分)。
  4.Which of the following fragments might cause errors?
  A. String s = "Gone with the wind";
  String t = " good ";
  String k = s + t;
  
  B. String s = "Gone with the wind";
  String t;
  t = s[3] + "one";
  
  C. String s = "Gone with the wind";
  String standard = s.toUpperCase();
  
  D. String s = "home Directory";
  String t = s - "directory";
  
  翻译下面的哪些程序片断可能导致错误。
  答案B,D 解析
  A:String类型可以直接使用+进行连接运算。
  
  B:String是一种Object,而不是简单的字符数组,不能使用下标运算符取其值的某个元素,错误。
  
  C:toUpperCase()方法是String对象的一个方法,作用是将字符串的内容全部转换为大写并返回转换后的结果(String类型)。
  
  D:String类型不能进行减(-)运算,错误。
  
  
  
  
  5. Which are syntactically valid statement at// point x?
  class Person {
  PRivate int a;
  public int change(int m){ return m; }
  }
  public class Teacher extends Person {
  public int b;
  public static void main(String arg[]){
  Person p = new Person();
  Teacher t = new Teacher();
  int i;
  // point x
  }
  }
  A. i = m;
  B. i = b;
  C. i = p.a;
  D. i = p.change(30);
  E. i = t.b.
  翻译在// point x处的哪些申明是句法上合法的。
  答案D,E 解析
  A:m没有被申明过,不能使用。
  B:虽然b是类Teacher的public成员变量,但是在静态方法中不能使用类中的非静态成员。
  C:a是类Person的private成员,在类外不能直接引用。
  D:change(int m)方法是public方法,并且返回一个int型值,可以通过类的实例变量p引用并赋值给一个int型变量。
  E:b是类Teacher的public成员变量,且是int型,可以通过类的实例变量t引用并赋值给一个int型变量。
  6. Which layout manager is used when the frame is resized the buttons's position in the Frame might be changed?
  A. BorderLayout
  B. FlowLayout
  C. CardLayout
  D. GridLayout
  翻译当Frame的大小被改变时Frame中的按钮的位置可能被改变时使用的哪一个布局治理器。
  答案
  B 解析
  A:该布局治理器将容器划分为五个部分,容器大小的改变不会影响其中的组件的位置而是影响他们的大小。
  
  B:该布局治理器根据放入其中的组件的最合适大小调整组件的位置,根据组件放入的顺序安排,一行不能容纳时放入下一行,因此容器的大小改变可能改变组件的位置。
  C:该布局治理器显示放入该容器的当前页中的组件,一次显示一个,容器大小的改变不能影响其中组件的位置。
  D:该布局治理器将容器划分为固定的网格,组件加入后占据一个单元,各组件的相对位置不会因为容器的大小变化而变化,改变的只是组件的大小。
  7. Given the following code fragment:
  1) public void create() {
  2) Vector myVect;
  3) myVect = new Vector();
  4) }
  Which of the following statements are true?
  A. The declaration on line 2 does not allocate memory space for the variable myVect.
  B. The declaration on line 2 allocates memory space for a reference to a Vector object.
  C. The statement on line 2 creates an object of class Vector.
  D. The statement on line 3 creates an object of class Vector.
  E. The statement on line 3 allocates memory space for an object of class Vector
  翻译
  给出下面的代码片断。。。下面的哪些陈述为true(真)?
  A. 第二行的声明不会为变量myVect分配内存空间。
  B. 第二行的声明分配一个到Vector对象的引用的内存空间。
  C. 第二行语句创建一个Vector类对象。
  D. 第三行语句创建一个Vector类对象。
  E. 第三行语句为一个Vector类对象分配内存空间。
  答案A,D,E 解析
  SL-275中指出:要为一个新对象分配空间必须执行new Xxx()调用,new调用执行以下的操作:
  1.为新对象分配空间并将其成员初始化为0或者null。
  2.执行类体中的初始化。(例如在类中有一个成员声明int a=10;在第一步后a=0 ,执行到第二步后a=10)
  3.执行构造函数。
  4.变量被分配为一个到内存堆中的新对象的引用。
  8. Which of the following answer is correct to eXPress the value 8 in octal number?
  A. 010
  B. 0x10
  C. 08
  D. 0x8
  翻译
  下面的哪些答案可以用以表示八进制值8。
  答案
  A 解析
  八进制值以0开头,以0x开头的为十六进制值,八进制中不能出现数字8,最大只有7。
  9. Which are not Java keyWords?
  A. TRUE
  B. sizeof
  C. const
  D. super
  E. void
  翻译
  哪些不是Java要害字。
  答案A,B 解析
  A:不是,Java中有true,但是这也不是要害字而是字面量(literal)。
  B:不是,Java中不需要这个操作符,所有的类型(原始类型)的大小都是固定的。
  C、D、E都是,需要说明的是const是java中未被使用的要害字。
  10. Which of the following statements are true?
  A. The equals() method determines if reference values refer to the same object.
  
  B. The == Operator determines if the contents and type of two separate objects match.
  
  C. The equals() method returns true only when the contents of two objects match.
  
  D. The class File overrides equals() to return true if the contents and type of two separate objects match.
  翻译
  下面的哪些叙述为真。A. equals()方法判定引用值是否指向同一对象。
  
  B. == 操作符判定两个分立的对象的内容和类型是否一致。
  
  C. equals()方法只有在两个对象的内容一致时返回true。
  
  D. 类File重写方法equals()在两个分立的对象的内容和类型一致时返回true。
  答案A,D 解析
  严格来说这个问题的答案是不确定的,因为equals()方法是可以被重载的,但是按照java语言的本意来说:假如没有重写(override)新类的equals(),则该方法和 == 操作符一样在两个变量指向同一对象时返回真,但是java推荐的是使用equals()方法来判定两个对象的内容是否一样,就像String类的equals()方法所做的那样:判定两个String对象的内容是否相同,而==操作符返回true的唯一条件是两个变量指向同一对象。从这个意义上来说选择给定的答案。从更严格的意义来说正确答案应该只有d。
  11. Which statements about inheritance are true?
  A. In Java programming language only allows single inheritance.
  B. In Java programming language allows a class to implement only one
  interface.
  C. In Java programming language a class cannot extend a class and implement
  a interface together.
  D. In Java programming language single inheritance makes code more
  reliable.
  翻译
  下面关于继续的哪些叙述是正确的。
  
  A.在java中只答应单一继续。

Tags:SCJP 认证 解析

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接