SCJP认证试题解析之一Word文档下载推荐.docx
- 文档编号:16506640
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:30
- 大小:35.64KB
SCJP认证试题解析之一Word文档下载推荐.docx
《SCJP认证试题解析之一Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《SCJP认证试题解析之一Word文档下载推荐.docx(30页珍藏版)》请在冰豆网上搜索。
B.longnumber=0345;
C.longnumber=0345L;
D.longnumber=0x345L
翻译哪些是将一个十六进制值赋值给一个long型变量。
答案 D
解析 十六进制数以0x开头,long型数以L(大小写均可,一般使用大写,因为小写的l和数字1不易区分)。
4.Whichofthefollowingfragmentsmightcauseerrors?
A.Strings="
Gonewiththewind"
;
Stringt="
good"
Stringk=s+t;
B.Strings="
Stringt;
t=s[3]+"
one"
C.Strings="
Stringstandard=s.toUpperCase();
D.Strings="
homedirectory"
Stringt=s-"
directory"
翻译下面的哪些程序片断可能导致错误。
答案 B,D
解析
A:
String类型可以直接使用+进行连接运算。
B:
String是一种Object,而不是简单的字符数组,不能使用下标运算符取其值的某个元素,错误。
C:
toUpperCase()方法是String对象的一个方法,作用是将字符串的内容全部转换为大写并返回转换后的结果(String类型)。
D:
String类型不能进行减(-)运算,错误。
5.Whicharesyntacticallyvalidstatementat//pointx?
classPerson{
privateinta;
publicintchange(intm){returnm;
}
}
publicclassTeacherextendsPerson{
publicintb;
publicstaticvoidmain(Stringarg[]){
Personp=newPerson();
Teachert=newTeacher();
inti;
//pointx
A.i=m;
B.i=b;
C.i=p.a;
D.i=p.change(30);
E.i=t.b.
翻译在//pointx处的哪些申明是句法上合法的。
答案 D,E
解析
m没有被申明过,不能使用。
虽然b是类Teacher的public成员变量,但是在静态方法中不能使用类中的非静态成员。
a是类Person的private成员,在类外不能直接引用。
change(intm)方法是public方法,并且返回一个int型值,可以通过类的实例变量p引用并赋值给一个int型变量。
E:
b是类Teacher的public成员变量,且是int型,可以通过类的实例变量t引用并赋值给一个int型变量
SCJP认证试题解析之二
11.Whichstatementsaboutinheritancearetrue?
A.InJavaprogramminglanguageonlyallowssingleinheritance.
B.InJavaprogramminglanguageallowsaclasstoimplementonlyone
interface.
C.InJavaprogramminglanguageaclasscannotextendaclassandimplement
ainterfacetogether.
D.InJavaprogramminglanguagesingleinheritancemakescodemore
reliable.
翻译
下面关于继承的哪些叙述是正确的。
A.在java中只允许单一继承。
B.在java中一个类只能实现一个接口。
C.在java中一个类不能同时继承一个类和实现一个接口。
D.java的单一继承使代码更可靠。
答案 A,D
解析 在java中一个类只能有一个直接父类,但是可以实现多个接口,在继承的同时可以实现接口,之所以取消多继承的原因是多继承使得代码产生很多问题,而使用单一继承则可以使代码更可靠。
12.
1)classPerson{
2)publicvoidprintValue(inti,intj){/*…*/}
3)publicvoidprintValue(inti){/*...*/}
4)}
5)publicclassTeacherextendsPerson{
6)publicvoidprintValue(){/*...*/}
7)publicvoidprintValue(inti){/*...*/}
8)publicstaticvoidmain(Stringargs[]){
9)Persont=newTeacher();
10)t.printValue(10);
11)}
12)}
Whichmethodwillthestatementonline10call?
A.online2
B.online3
C.online6
D.online7
第十行的声明将调用哪些方法。
解析 变量t是一个Person对象,但是它是用Teacher实例化的,这个问题涉及到java的编译时多态和运行时多态的问题,就编译时多态来说,t实际上是一个Person类,这涉及到类型的自动转换(将一个子类的实例赋值给一个父类的变量是不用进行强制类型转换,反之则需要
进行强制类型转换,而且被赋值的变量实际上应该是一个子类的对象),如果对t调用了子类中新增的方法则造成编译时错误编译将不能通过,而在运行时,运行时系统将根据t实际指向的类型调用对应的方法,对于本例来说,t.print(10)将调用t实际指向的Teacher类的对应方法。
在java中,可以用一个子类的实例实例化父类的一个变量,而变量在编译时是一个父类实例,在运行时可能是一个子类实例。
13.WhicharenotJavaprimitivetypes?
A.short
B.Boolean
C.unit
D.float
下面哪些不是java的原始数据类型。
答案 B,C
解析 Java的原始数据类型一共就八个,分别是:
byte,short,int,long,boolean,char,float,double。
注意这些是大小写敏感的,而Boolean是booelan的封装类(wrapperclass)。
14.Usetheoperators"
<
"
"
>
whichstatementsaretrue?
A.00000100000000000000000000000000<
5gives
10000000000000000000000000000000
B.00000100000000000000000000000000<
11111100000000000000000000000000
C.11000000000000000000000000000000>
11111110000000000000000000000000
D.11000000000000000000000000000000>
00000110000000000000000000000000
使用"
和"
操作符的哪些陈述是对的。
答案 A,C
解析 Java的移位操作符一共有三种,分别是”>
”,”>
”,”<
”,执行的操作分别是有符号右移,无符号右移,左移,有符号右移的意思是说移入的最高位和原最高符号位相同,无符号右移是移入位始终补零,左移时最低位始终补零,最高位被舍弃。
移位操作符另一个非常值得注意的特点是其右操作数是取模运算的,意思是说对于一个int型数据而言,对它移位32位的结果是保持不变而非变成零,即:
a>
32的结果是a而不是0,同理,对long型数是对右操作数取64的模,a>
64==a;
还有一点需要注意的是移位操作符”>
”只对int型和long型有效,对byte或者short的操作将导致自动类型转换,而且是带符号的。
15.Whichofthefollowingrangeofintiscorrect?
B.0--232-1
6.Whichlayoutmanagerisusedwhentheframeisresizedthebuttons'
spositionintheFramemightbechanged?
A.BorderLayout
B.FlowLayout
C.CardLayout
D.GridLayout
翻译当Frame的大小被改变时Frame中的按钮的位置可能被改变时使用的哪一个布局管理器。
答案 B
该布局管理器将容器划分为五个部分,容器大小的改变不会影响其中的组件的位置而是影响他们的大小。
该布局管理器根据放入其中的组件的最合适大小调整组件的位置,根据组件放入的顺序安排,一行不能容纳时放入下一行,因此容器的大小改变可能改变组件的位置。
该布局管理器显示放入该容器的当前页中的组件,一次显示一个,容器大小的改变不能影响其中组件的位置。
该布局管理器将容器划分为固定的网格,组件加入后占据一个单元,各组件的相对位置不会因为容器的大小变化而变化,改变的只是组件的大小。
7.Giventhefollowingcodefragment:
1)publicvoidcreate(){
2)VectormyVect;
3)myVect=newVector();
Whichofthefollowingstatementsaretrue?
A.Thedeclarationonline2doesnotallocatememoryspaceforthevariablemyVect.
B.Thedeclarationonline2allocatesmemoryspaceforareferencetoaVectorobject.
C.Thestatementonline2createsanobjectofclassVector.
D.Thestatementonline3createsanobjectofclassVector.
E.Thestatementonline3allocatesmemoryspaceforanobjectofclassVector
给出下面的代码片断。
。
下面的哪些陈述为true(真)?
A.第二行的声明不会为变量myVect分配内存空间。
B.第二行的声明分配一个到Vector对象的引用的内存空间。
C.第二行语句创建一个Vector类对象。
D.第三行语句创建一个Vector类对象。
E.第三行语句为一个Vector类对象分配内存空间。
答案 A,D,E
SL-275中指出:
要为一个新对象分配空间必须执行newXxx()调用,new调用执行以下的操作:
1.为新对象分配空间并将其成员初始化为0或者null。
2.执行类体中的初始化。
(例如在类中有一个成员声明inta=10;
在第一步后a=0,执行到第二步后a=10)
3.执行构造函数。
4.变量被分配为一个到内存堆中的新对象的引用。
8.Whichofthefollowingansweriscorrecttoexpressthevalue8inoctalnumber?
A.010
B.0x10
C.08
D.0x8
下面的哪些答案可以用以表示八进制值8。
答案 A
解析 八进制值以0开头,以0x开头的为十六进制值,八进制中不能出现数字8,最大只有7。
9.WhicharenotJavakeywords?
A.TRUE
B.sizeof
C.const
D.super
E.void
哪些不是Java关键字。
答案 A,B
不是,Java中有true,但是这也不是关键字而是字面量(literal)。
不是,Java中不需要这个操作符,所有的类型(原始类型)的大小都是固定的。
C、D、E都是,需要说明的是const是java中未被使用的关键字。
10.Whichofthefollowingstatementsaretrue?
A.Theequals()methoddeterminesifreferencevaluesrefertothesameobject.
B.The==operatordeterminesifthecontentsandtypeoftwoseparateobjectsmatch.
C.Theequals()methodreturnstrueonlywhenthecontentsoftwoobjectsmatch.
D.TheclassFileoverridesequals()toreturntrueifthecontentsandtypeoftwoseparateobjectsmatch.
下面的哪些叙述为真。
A.equals()方法判定引用值是否指向同一对象。
B.==操作符判定两个分立的对象的内容和类型是否一致。
C.equals()方法只有在两个对象的内容一致时返回true。
D.类File重写方法equals()在两个分立的对象的内容和类型一致时返回true。
解析 严格来说这个问题的答案是不确定的,因为equals()方法是可以被重载的,但是按照java语言的本意来说:
如果没有重写(override)新类的equals(),则该方法和==操作符一样在两个变量指向同一对象时返回真,但是java推荐的是使用equals()方法来判断两个对象的内容是否一样,就像String类的equals()方法所做的那样:
判定两个String对象的内容是否相同,而==操作符返回true的唯一条件是两个变量指向同一对象。
从这个意义上来说选择给定的答案。
从更严格的意义来说正确答案应该只有d
SCJP认证试题解析之三
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SCJP 认证 试题 解析 之一