当前位置:首页 > 全部子站 > IT > 思科认证

JAVA认证历年真题:SCJP考试真题和解析(2)

来源:长理培训发布时间:2017-12-19 11:31:58

   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 

  答案 C

  解析 短整型的数据类型的长度是16 bits,有符号。另外需要说明的是java中所有的整(Integral)数(包括byte,short,int,long)全是有符号的。 Which declarations of identifiers are legal? 

  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? 

  B. long number = 0345;

  C. long number = 0345L;

  D. long number = 0x345L 

  答案 D

  解析 十六进制数以0x开头,long型数以L(大小写均可,一般使用大写,因为小写的l和数字1不易区分)。

  4.Which of the following fragments might cause errors? 
String t = " good ";

  B. String s = "Gone with the wind";
t = s + "one";


String standard = s.toUpperCase();

  D. String s = "home directory";

  翻译下面的哪些程序片断可能导致错误。

  答案 B,D

  解析 
B:String是一种Object,而不是简单的字符数组,不能使用下标运算符取其值的某个元素,错误。

  C:toUpperCase()方法是String对象的一个方法,作用是将字符串的内容全部转换为大写并返回转换后的结果(String类型)。

  D:String类型不能进行减(-)运算,错误。

|||

  5. Which are syntactically valid statement at// point x? 
private int a;
}
public int b;
Person p = new Person();
int i;

// point x
}

  A. i = m;

  B. i = b;

  C. i = p.a;

  D. i = p.change(30);

  E. i = t.b. 

  答案 D,E

  解析

  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 

  答案 B 
解析

  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? 

  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(真)?
B. 第二行的声明分配一个到Vector对象的引用的内存空间。
D. 第三行语句创建一个Vector类对象。

  答案 A,D,E

  解析

  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? 

  B. 0x10

  C. 08

  D. 0x8 
下面的哪些答案可以用以表示八进制值8。

  答案 A

  解析  八进制值以0开头,以0x开头的为十六进制值,八进制中不能出现数字8,最大只有7。

  9. Which are not Java keywords? 

  B. sizeof

  C. const

  D. super

E. void 
哪些不是Java关键字。

  答案 A,B

  解析

  B:不是,Java中不需要这个操作符,所有的类型(原始类型)的大小都是固定的。

  C、D、E都是,需要说明的是const是java中未被使用的关键字。

  10. Which of the following statements are true? 

  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


A. In Java programming language only allows single inheritance.

  B. In Java programming language allows a class to implement only one 

  C. In Java programming language a class cannot extend a class and implement 

  D. In Java programming language single inheritance makes code more 
翻译

  A.在java中只允许单一继承。

  B.在java中一个类只能实现一个接口。

  C.在java中一个类不能同时继承一个类和实现一个接口。

  D.java的单一继承使代码更可靠。

  答案 A,D 
解析 在java中一个类只能有一个直接父类,但是可以实现多个接口,在继承的同时可以实现接口,之所以取消多继承的原因是多继承使得代码产生很多问题,而使用单一继承则可以使代码更可靠。

  12. 

  2) public void printValue(int i, int j) {/*…*/ }

  3) public void printValue(int i){/*...*/ }


  5) public class Teacher extends Person {

  6) public void printValue() {/*...*/ }

  7) public void printValue(int i) {/*...*/}

  8) public static void main(String args){

  9) Person t = new Teacher();

  10) t.printValue(10);

  11) }

  12) }

  Which method will the statement on line 10 call? 

  B. on line 3

  C. on line 6

  D. on line 7 
第十行的声明将调用哪些方法。

  答案 D

  解析 变量t是一个Person对象,但是它是用Teacher实例化的,这个问题涉及到java的编译时多态和运行时多态的问题,就编译时多态来说,t实际上是一个Person类,这涉及到类型的自动转换(将一个子类的实例赋值给一个父类的变量是不用进行强制类型转换,反之则需要

  13. Which are not Java primitive types? 

  B. Boolean

  C. unit

  D. float 
下面哪些不是java的原始数据类型。

  答案 B,C

  解析 Java的原始数据类型一共就八个,分别是:byte,short,int,long,boolean,char,float,double。注意这些是大小写敏感的,而Boolean是booelan的封装类(wrapper class)。

  14. Use the operators "", which statements are true? 

1111 1110 0000 0000 0000 0000 0000 0000

  D. 1100 0000 0000 0000 0000 0000 0000 0000>>5 gives

  0000 0110 0000 0000 0000 0000 0000 0000 
使用""操作符的哪些陈述是对的。

  答案 A,C
解析 Java的移位操作符一共有三种,分别是">>",">>>",">>"只对int型和long型有效,对byte或者short的操作将导致自动类型转换,而且是带符号的。

  15. Which of the following range of int is correct? 

  B. 0 -- 232-1

  C. ?215 -- 215-1

  D. ?231 -- 231-1 
int的取值范围是哪个。

  答案 D

  解析 int型是32位的。参看第一题的论述。

16. Which keyword should be used to enable interaction with the lock of an 
A. transient

  B. synchronized

  C. serialize

  D. static 
下面的哪些关键字通常用来对对象的加锁,该标记使得对对象的访问是排他的

  答案 B 
解析 由于java是多线程的语言,多个线程可以"同时"访问同一数据区,而在处理某些数据时不希望其它的线程修改那些数据的值或者某些操作是不可打断的,要做到这个,可以使用synchronized关键字声明这一点。

  17. Which is the return type of the method main()? 

  B. void

  C. boolean

  D. static 
main()方法的返回类型是什么?

  答案 B

  解析  在java中,程序运行的入口就是main()方法,它必须是这样的形式:public static void main(String args)。但是严格来讲这个题目的答案还可以加上a和c,因为并没有限定是程序入口的main()方法,而main()方法是可以重载的。一般意义上的main()当然就是指我们刚开始所说的main()方法了。

  18. Given the following code:

  if (x>0) { System.out.println("first"); }

  else if (x>-3) { System.out.println("second"); }

  else { System.out.println("third"); }

  Which range of x value would print the string "second"? 
0

  B. x > -3

  C. x 0时打印"first",x>-3&&x

责编:罗莉

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程
在线题库
面授课程更多>>
图书商城更多>>
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)
返回顶部