




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、60道SCJP考试真题精解 1. Which of the following range of short is correct? A. -27 - 27-1B. 0 - 216-1C. ?215 - 215-1D. ?231 - 231-1翻译下面哪些是short型的取值范围。答案C解析短整型的数据类型的长度是16 bits,有符号。另外需要说明的是java中所有的整(Integral)数(包括byte,short,int,long)全是有符号的。2. Which declarations of identifiers are legal?A. $personsB. TwoUsersC.
2、*pointD. thisE. _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翻
3、译哪些是将一个十六进制值赋值给一个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 = s3 + one;C. String s = Gone with the wind;String stand
4、ard = 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
5、 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 xA. i = m;B. i = b;C. i = p.a;D. i = p.change(30);E. i = t.b.翻译在/ p
6、oint 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
7、 the buttonss position in the Frame might be changed?A. BorderLayoutB. FlowLayoutC. CardLayoutD. GridLayout翻译当Frame的大小被改变时Frame中的按钮的位置可能被改变时使用的哪一个布局管理器。答案B解析A:该布局管理器将容器划分为五个部分,容器大小的改变不会影响其中的组件的位置而是影响他们的大小。B:该布局管理器根据放入其中的组件的最合适大小调整组件的位置,根据组件放入的顺序安排,一行不能容纳时放入下一行,因此容器的大小改变可能改变组件的位置。C:该布局管理器显示放入该容器的当前页中
8、的组件,一次显示一个,容器大小的改变不能影响其中组件的位置。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 s
9、pace 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 objec
10、t 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
11、=0 ,执行到第二步后a=10)3.执行构造函数。4.变量被分配为一个到内存堆中的新对象的引用。8. Which of the following answer is correct to express the value 8 in octal number?A. 010B. 0x10C. 08D. 0x8翻译下面的哪些答案可以用以表示八进制值8。答案A解析八进制值以0开头,以0x开头的为十六进制值,八进制中不能出现数字8,最大只有7。9. Which are not Java keywords?A. TRUEB. sizeofC. constD. superE. void翻译哪些不是Jav
12、a关键字。答案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
13、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()
14、方法只有在两个对象的内容一致时返回true。D. 类File重写方法equals()在两个分立的对象的内容和类型一致时返回true。答案A,D解析严格来说这个问题的答案是不确定的,因为equals()方法是可以被重载的,但是按照java语言的本意来说:如果没有重写(override)新类的equals(),则该方法和 = 操作符一样在两个变量指向同一对象时返回真,但是java推荐的是使用equals()方法来判断两个对象的内容是否一样,就像String类的equals()方法所做的那样:判定两个String对象的内容是否相同,而=操作符返回true的唯一条件是两个变量指向同一对象。从这个意义上
15、来说选择给定的答案。从更严格的意义来说正确答案应该只有d11. 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 oneinterface.C. In Java programming language a class cannot extend a class and implementa interf
16、ace together.D. In Java programming language single inheritance makes code morereliable.翻译下面关于继承的哪些叙述是正确的。A.在java中只允许单一继承。B.在java中一个类只能实现一个接口。C.在java中一个类不能同时继承一个类和实现一个接口。D.java的单一继承使代码更可靠。答案A,D解析在java中一个类只能有一个直接父类,但是可以实现多个接口,在继承的同时可以实现接口,之所以取消多继承的原因是多继承使得代码产生很多问题,而使用单一继承则可以使代码更可靠。12.1) class Person
17、2) public void printValue(int i, int j) /*/ 3) public void printValue(int i)/*.*/ 4) 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 me
18、thod will the statement on line 10 call?A. on line 2B. on line 3C. on line 6D. on line 7翻译第十行的声明将调用哪些方法。答案D解析变量t是一个Person对象,但是它是用Teacher实例化的,这个问题涉及到java的编译时多态和运行时多态的问题,就编译时多态来说,t实际上是一个Person类,这涉及到类型的自动转换(将一个子类的实例赋值给一个父类的变量是不用进行强制类型转换,反之则需要进行强制类型转换,而且被赋值的变量实际上应该是一个子类的对象),如果对t调用了子类中新增的方法则造成编译时错误编译将不能通
19、过,而在运行时,运行时系统将根据t实际指向的类型调用对应的方法,对于本例来说,t.print(10)将调用t实际指向的Teacher类的对应方法。在java中,可以用一个子类的实例实例化父类的一个变量,而变量在编译时是一个父类实例,在运行时可能是一个子类实例。13. Which are not Java primitive types?A. shortB. BooleanC. unitD. float翻译下面哪些不是java的原始数据类型。答案B,C解析Java的原始数据类型一共就八个,分别是:byte,short,int,long,boolean,char,float,double。注意这些
20、是大小写敏感的,而Boolean是booelan的封装类(wrapper class)。14. Use the operators , which statements are true?A. 0000 0100 0000 0000 0000 0000 0000 00005 gives1000 0000 0000 0000 0000 0000 0000 0000B. 0000 0100 0000 0000 0000 0000 0000 00005 gives1111 1110 0000 0000 0000 0000 0000 0000D. 1100 0000 0000 0000 0000 00
21、00 0000 00005 gives0000 0110 0000 0000 0000 0000 0000 0000翻译使用操作符的哪些陈述是对的。答案A,C解析Java的移位操作符一共有三种,分别是”,”,”32的结果是a而不是0,同理,对long型数是对右操作数取64的模,a64=a;还有一点需要注意的是移位操作符”只对int型和long型有效,对byte或者short的操作将导致自动类型转换,而且是带符号的。15. Which of the following range of int is correct?A. -27 - 27-1B. 0 - 232-1C. ?215 - 215-1
22、D. ?231 - 231-1翻译int的取值范围是哪个。答案D解析int型是32位的。参看第一题的论述。16. Which keyword should be used to enable interaction with the lock of anobject? The flag allows exclusive access to that object.A. transientB. synchronizedC. serializeD. static翻译下面的哪些关键字通常用来对对象的加锁,该标记使得对对象的访问是排他的答案B解析由于java是多线程的语言,多个线程可以”同时”访问同一
23、数据区,而在处理某些数据时不希望其它的线程修改那些数据的值或者某些操作是不可打断的,要做到这个,可以使用synchronized关键字声明这一点。17. Which is the return type of the method main()?A. intB. voidC. booleanD. static翻译main()方法的返回类型是什么?答案B解析在java中,程序运行的入口就是main()方法,它必须是这样的形式:public static void main(String args)。但是严格来讲这个题目的答案还可以加上a和c,因为并没有限定是程序入口的main()方法,而main
24、()方法是可以重载的。一般意义上的main()当然就是指我们刚开始所说的main()方法了。18. Given the following code:if (x0) 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?A. x 0B. x -3C. x = -3D. x -3翻译给出下面的代码:x的取值在什么范围内时将打印字符串second。
25、答案D解析x0时打印first,x-3&x=0时打印second,x 10 )public static void main(String arg) int i=10;Test t= new Test();t.printValue(i);Which will be output?A. The value is 8B. The value is 9C. The value is 10D. The value is 11(c)题目:给出下面的代码:输出将是什么?此题考察的是do while循环和 - 操作符的知识,dowhile最少被执行一次,在执行完do中的内容后判断while中的条件是否为tr
26、ue,如果为true的话就再执行do中的内容,然后再进行判断,以此类推直到while的判断为false时退出循环执行循环后面的内容,而操作符的规则是在变量右边的- 将先进行运算,然后才是使变量的值减一,而在变量左边的是先将变量的值减一再运算.26、Which of the following statements about declaration are true?A. Declaration of primitive types such as boolean, byte and so on does not allocate memory space for the variable.B
27、. Declaration of primitive types such as boolean, byte and so on allocates memory space for the variable.C. Declaration of nonprimitive types such as String, Vector and so on does not allocate memory space for the object.D. Declaration of nonprimitive types such as String, Vector ans so on allocates
28、 memory space for the object.(ad)题目:下面的有关声明的哪些叙述是对的。A. 对原始数据类型例如boolean,byte的变量的声明不会为该变量分配内存空间。B. 对原始数据类型例如boolean,byte的变量的声明将为之分配内存空间。C. 非原始数据类型例如String,Vector的变量的声明不会为该对象分配内存。D. 非原始数据类型例如String,Vector的变量的声明会为该对象分配内存。对原始数据类型的变量的声明将为之分配内存并赋予一个缺省值,参见23题的叙述,而非原始数据类型的变量必须用new Xxxx()分配内存及初始化。但是严格来讲此题的答案
29、有待确定,因为只有原始类型的实例变量和类变量的声明在类对象被创建/类被加载时完成内存的自动分配,而原始类型的局部变量必须显式初始化,从这点来看原始类型的局部变量没有被自动分配内存,SL275中只提出了非原始数据类型的变量必须使用new Xxxx()完成内存的分配而没有指出原始数据类型的变量是否在声明时即自动进行内存分配,而从局部变量不能在显式初始化前使用这点来看在声明时没有进行内存分配。因此答案a的正确性还有待官方的确定。27、In the Java API documentation which sections are included in a class document?A. The
30、 description of the class and its purposeB. A list of methods in its super classC. A list of member variableD. The class hierarchy(acd)题目:在Java API文档中下面的哪些部分被包括在内A. 类及用途的描述B. 父类的方法的列表C. 成员变量的列表D. 类层次类文档的内容主要是:类层次、类及用途描述、成员变量列表、构造方法列表、成员方法列表、从类层次上继承的方法列表、成员变量的详细说明、构造方法详细说明、成员方法详细说明。28、Given the follo
31、wing code:1) public void modify() 2) int i, j, k;3) i = 100;4) while ( i 0 ) 5) j = i * 2;6) System.out.println ( The value of j is + j );7) k = k + 1;8) i-;9) 10) Which line might cause an error during compilation?A. line 4B. line 6C. line 7D. line 8(c)题目:给出下面的代码:哪些行在编译时可能产生错误。这个问题在前面有关变量的类型及其作用域的问
32、题中讨论过,局部变量在使用前必须显式初始化,而代码中的变量k在使用前没有。29、Which of the following statements about variables and scope are true?A. Local variables defined inside a method are destroyed when the method is exited.B. Local variables are also called automatic variables.C. Variables defined outside a method are created whe
33、n the object is constructed.D. A method parameter variable continues to exist for as long as the object is needed in which the method is defined.(abc)题目:下面有关变量及其作用域的陈述哪些是对的。A. 在方法里面定义的局部变量在方法退出的时候被撤销。B. 局部变量也叫自动变量。C. 在方法外面定义的变量(译注:即实例变量)在对象被构造时创建。D. 在方法中定义的方法的参变量只要该对象被需要就一直存在。本题还是讨论变量的类型及作用域,参看前面的叙述
34、。30、A class design requires that a member variable cannot be accessible directly outside the class. Which modifier should be used to obtain the access control?A. publicB. no modifierC. protectedD. private(d)题目:类的设计要求它的某个成员变量不能被外部类直接访问。应该使用下面的哪些修饰符获得需要的访问控制。这个在前面也有叙述,java有四种访问类型,分别为:public,protected,
35、default,private,其中public变量可以被所有的外部类访问,而pretected的可以被同一个包及该类的子类访问,default即没有任何修饰符的变量可以被同一个包中的类访问,而private变量只能在被该类内部被访问。题目中的外部类应该理解为除该类自身的所有其它类,因此只有使用private可以达到要求。31、Given the following code fragment:1) String str = null;2) if (str != null) & (str.length() 10) 3) System.out.println(more than 10);4) 5
36、) else if (str != null) & (str.length() 5) 6) System.out.println(less than 5);7) 8) else System.out.println(end); Which line will cause error?A. line 1B. line 2C. line 5D. line 8(c)题目:给出下面的代码片断:哪些行将导致错误。此题需要将代码仔细看清楚,查询没有逻辑错误,if else的使用没有问题,也没有拼写错误,错误在于第5行的“与”操作符的使用,逻辑操作符(logical operator)的“与”应该是&,而&
37、是位逻辑操作符(bitwise logical operator)的“与”,使用的对象不一样,逻辑操作符的“与”的左右操作数都应该是布尔型(logical boolan)的值,而位逻辑操作符的左右操作数都是整型(integral)值。32、Which statements about Java code security are true?A. The bytecode verifier loads all classes needed for the execution of a program.B. Executing code is performed by the runtime in
38、terpreter.C. At runtime the bytecodes are loaded, checked and run in an interpreter.D. The class loader adds security by separating the namespaces for the classes of the local file system from those imported from network sources.(bcd)题目:下面有关java代码安全性的叙述哪些是对的。A. 字节码校验器加载查询执行需要的所有类。B. 运行时解释器执行代码。C. 在运
39、行时,字节码被加载,验证然后在解释器里面运行。D. 类加载器通过分离本机文件系统的类和从网络导入的类增加安全性。SL275中描述的Java程序运行的过程是这样的:类加载器(class loader)加载程序运行所需要的所有类,它通过区分本机文件系统的类和网络系统导入的类增加安全性,这可以限制任何的特洛伊木马程序,因为本机类总是先被加载,一旦所有的类被加载完,执行文件的内存划分就固定了,在这个时候特定的内存地址被分配给对应的符号引用,查找表(lookuo table)也被建立,由于内存划分发生在运行时,解释器在受限制的代码区增加保护防止未授权的访问;然后字节码校验器(byte code verifier)进行校验,主要执行下面的检查:类符合JVM规范的类文件格式,没有违反访问限制,代码没有造成堆栈的上溢或者下溢,所有操作代码的参数类型都
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- “肾藏精主水”探讨补肾活血复方调节p38MAPK-NF-κB-AQP4心衰水液代谢障碍机制研究
- 改性生物炭对含酚废水的吸附性能研究
- 结构拉缝粘弹性阻尼器的减震性能研究
- 《宋代教育》翻译实践报告(第六章节选一)
- 颌面部影像技术课件
- 企业培训沟通课件
- 《智能网联整车综合测试》课件-车道保持控制场景测试评价
- 2025年湖北省中考招生考试数学真题试卷(真题+答案)
- 《电子产品制造技术》课件-第6章 电子产品的调试与检验
- 预检分诊知识课件
- 2024年天津高考数学真题试题(原卷版+含解析)
- 《大数据分析技术》课程标准
- 最简单封阳台安全免责协议书
- 2024年危险化学品经营单位安全管理人员考试练习题(附答案)
- (正式版)JBT 3300-2024 平衡重式叉车 整机试验方法
- 《无人机航迹规划》课程标准(高职)
- 养老院健康档案模板
- 夏季高温期间建筑施工安全注意事项
- 2024年中小学教师职称审定答辩题目
- 钢丝绳吊装时最大允许吊装重物对应表
- 《金融反欺诈与大数据风控研究报告(2023)》
评论
0/150
提交评论