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

JAVA认证历年真题:SCJP认证套题解析(2

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

 21、Which of the following assignment is not correct? 
A. float f = 11.1; 
B. double d = 5.3E12; 
C. double d = 3.14159; 
D. double d = 3.14D. 
(a) 
题目:下面的哪些赋值语句是不对的。 
浮点数的赋值是带有小数点的数字缺省是double型的,如果在浮点数后面加f或者F则是float,后面加d或者D则是double,科学计数法形式的浮点数也是double型的,而double的精度比float高,将一个高精度的double赋值给一个低精度的float时需要进行强制类型转换,反之则不需要。 
22、Given the uncompleted code of a class: 
class Person { 
String name, department; 
int age; 
public Person(String n){ name = n; } 
public Person(String n, int a){ name = n; age = a; } 
public Person(String n, String d, int a) { 
// doing the same as two arguments version of constructor 
// including assignment name=n,age=a 
department = d; 


Which expression can be added at the "doing the same as..." part of the constructor? 
A. Person(n,a); 
B. this(Person(n,a)); 
C. this(n,a); 
D. this(name,age). 
(c) 
题目:给出下面的不完整的类代码: 
… 
下面的哪些表达式可以加到构造方法中的"doing the same as..."处? 
在同一个类的不同构造方法中调用该类的其它构造方法需要使用this(…)的形式,而且必须是在构造方法的第一行调用,这个和普通的方法重载调用的方式不同,普通的方法可以直接使用方法名加参数来调用,而且调用位置没有限制,因此答案A是不行的,B的语法就是错误的,D的错误在于在父类型的构造函数被调用前不能引用类的成员。构造方法是一个类对象实例化的起点(虽然严格来说首先执行的并不是构造方法的第一个语句,而是内存的分配),因此在构造方法中不能将成员作为参数引用。

23、Which of the following statements about variables and their scopes are true?

A. Instance variables are member variables of a class. 
C. Local variables defined inside a method are created when the method is executed. 
(acd) 
A. 实例变量是类的成员变量。 
C. 在方法中定义的局部变量在该方法被执行时创建 
类中有几种变量,分别是:局部变量(英文可以为:local"automatic"temporary"stack variable)是定义在方法里的变量;实例变量(英文为:instance variable)是在方法外而在类声明内定义的变量,有时也叫成员变量;类变量(英文为:class variable)是用关键字static声明的实例变量,他们的生存期分别是:局部变量在定义该变量的方法被调用时被创建,而在该方法退出后被撤销;实例变量在使用new Xxxx()创建该类的实例时被创建,而其生存期和该类的实例对象的生存期相同;类变量在该类被加载时被创建,不一定要用new Xxxx()创建,所有该类的实例对象共享该类变量,其生存期是类的生存期。任何变量在使用前都必须初始化,但是需要指出的是局部变量必须显式初始化,而实例变量不必,原始类型的实例变量在该类的构造方法被调用时为它分配的缺省的值,整型是0,布尔型是false,而浮点型是0.0f,引用类型(类类型)的实例变量的缺省值是null(没有进行实际的初始化,对它的使用将引起NullPointException),类变量的规则和实例变量一样,不同的是类变量的初始化是在类被加载时。

|||

24、public void test() { 
System.out.println("condition 1"); 
System.out.println("condition 2"); 
System.out.println("condition 3"); 

System.out.println("finally"); 

A. condition 1 
C. condition 3 
(ad) 
如果try块中的语句在执行时发生异常,则执行从该处中断而进入catch块,根据异常的类型进行匹配,最前面的优先进行匹配比较,只要该异常是catch中指定的异常的子类就匹配成功进而执行相应的catch中的内容,而finally块中的内容无论是否发生异常都将被执行。

25、Given the following code: 
void printValue(int m){ 

10 ) 
public static void main(String arg) { 
Test t= new Test(); 

Which will be output? 
B. The value is 9 
D. The value is 11 
题目:给出下面的代码: 
输出将是什么? 

26、Which of the following statements about declaration are true? 
B. Declaration of primitive types such as boolean, byte and so on allocates memory space for the variable. 
D. Declaration of nonprimitive types such as String, Vector ans so on allocates memory space for the object. 
题目:下面的有关声明的哪些叙述是对的。 
B. 对原始数据类型例如boolean,byte的变量的声明将为之分配内存空间。 
D. 非原始数据类型例如String,Vector的变量的声明会为该对象分配内存。 

27、In the Java API documentation which sections are included in a class document?
B. A list of methods in its super class 
D. The class hierarchy 
题目:在Java API文档中下面的哪些部分被包括在内 
B. 父类的方法的列表 
D. 类层次 

28、Given the following code:

1) public void modify() { 
3) i = 100; 
0 ) { 
6) System.out.println (" The value of j is " + j ); 
8) i--; 
10) } 
A. line 4 
C. line 7 
(c) 
… 
这个问题在前面有关变量的类型及其作用域的问题中讨论过,局部变量在使用前必须显式初始化,而代码中的变量k在使用前没有。

29、Which of the following statements about variables and scope are true? 
B. Local variables are also called automatic variables. 
D. A method parameter variable continues to exist for as long as the object is needed in which the method is defined. 
题目:下面有关变量及其作用域的陈述哪些是对的。 
B. 局部变量也叫自动变量。 
D. 在方法中定义的方法的参变量只要该对象被需要就一直存在。 

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? 
B. no modifier 
D. private 
题目:类的设计要求它的某个成员变量不能被外部类直接访问。应该使用下面的哪些修饰符获得需要的访问控制。 

31Given the following code fragment: 
2) if ((str != null) && (str.length() > 10)) { 
4) } 
6) System.out.println("less than 5"); 
8) else { System.out.println("end"); } 
A. line 1 
C. line 5 
(c) 
… 
此题需要将代码仔细看清楚,查询没有逻辑错误,if …else的使用没有问题,也没有拼写错误,错误在于第5行的"与"操作符的使用,逻辑操作符(logical operator)的"与"应该是&&,而在执行"与"操作的时候,如果第一个条件为false,那么第二个条件判断运算是不做的,但是这里是位逻辑操作符(bitwise logical operator)的"与",在进行这个运算时,无论第一个条件的结果是什么都会执行第二个的运算,因此,假设str=null,那么第5句的str.length()就会导致NullPointerException,因此本题的错误在于此。

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 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. 
题目:下面有关java代码安全性的叙述哪些是对的。 
B. 运行时解释器执行代码。 
D. 类加载器通过分离本机文件系统的类和从网络导入的类增加安全性。 

33、Given the following code: 
static int arr = new int[10]; 
System.out.println(arr[1];) 

A. When compilation some error will occur. 
C. The output is zero. 
(c) 
… 
A. 编译时将发生错误。 
C. 输出为0。 
int型数组是类对象,它在类被加载时完成初始化,在前面题目中已经有叙述,由于是原始数据类型int,其初始值为0。 ||| 
public class Person{ 
public static void main(String a) { 

Which statement is correct? 
B. It is correct when compilation but will cause error when running. 
D. The output is null. 
给出下面的代码: 
哪些叙述是对的。 
B. 编译时正确而运行时出错。 
D. 输出null。 

35、public class Parent { 
int s; 
return s; 


A. int addValue( int a, int b ){// do something...} 
C. public int addValue( int a ){// do something...}

D. public int addValue( int a, int b )throws MyException {//do something...} 
题目:哪些方法可以加入类Child中。 

36、A member variable defined in a class can be accessed only by the classes in the same package. Which modifier should be used to obtain the access control? 
B. no modifier 
D. protected 
题目:一个类中定义的成员变量只能被同一包中的类访问。下面的哪些修饰符可以获得需要的访问控制。 

37、A public member vairable called MAX_LENGTH which is int type, the value of the variable remains constant value 100. Use a short statement to define the variable.
B. final int MAX_LENGTH=100; 
D. public final int MAX_LENGTH=100. 
题目:共有成员变量MAX_LENGTH是一个int型值,变量的值保持常数值100。使用一个短声明定义这个变量。 

38、Which expressions are correct to declare an array of 10 String objects? 
B. char str; 
D. String str[10]; 
题目:哪些表达式是声明一个含有10个String对象的数组。 
注意答案d的形式是不对的,这和c++也是不同的。

39、Which fragments are correct in Java source file? 
public class Test{//do something...} 
package testpackage; 
C. import java.io.*; 
public class Test{// do something...} 
import java.awt.*; 
(acd) 
Java中的package语句必须是源文件中除去说明以外的第一条语句,导入包语句可以有几个,但是必须位于package语句之后,其它类定义之前,一个源文件中可以有几个类,但最多只能有一个是public的,如果有,则源文件的文件名必须和该类的类名相同。

40: 
String t = "hello"; 
Which return true? 

B. t.equals(c); 
D. t.equals(new String("hello")); 
(acd) 
这个在前面第10题的equals()方法和==操作符的讨论中论述过。==操作符比较的是操作符两端的操作数是否是同一个对象,而String的equals()方法比较的是两个String对象的内容是否一样,其参数是一个String对象时才有可能返回true,其它对象都返回假。需要指出的是由于s和t并非使用new创建的,他们指向内存池中的同一个字符串常量,因此其地址实际上是相同的(这个可以从反编译一个简单的测试程序的结果得到,限于篇幅不列出测试代码和反编译的分析),因此答案c也是正确的。

责编:罗莉

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

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

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

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

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

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

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

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

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

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

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