没有合适的资源?快使用搜索试试~ 我知道了~
java基础考试题及答案.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 184 浏览量
2021-12-05
23:35:57
上传
评论
收藏 33KB DOCX 举报
温馨提示
试读
16页
java基础考试题及答案.docx
资源详情
资源评论
资源推荐
新员工考试
一、 选择题(共 30 题,每题 2 分)
1. 下面哪些是合法的标识符(多选题)
A. $persons
B. TwoUsers
C. *point
D. this
E. _endline
答案 A,B,E
分析 Java 的标识符可以以一个 Unicode 字符,下滑线( _),美元符( $)开始,后
续字符可以是前面的符号和数字,没有长度限制,大小写敏感,不能是保留字( this 保留
字)。
2. 哪些是将一个十六进制值赋值给一个 long 型变量(单选题)
A. long number = 345L;
B. long number = 0345;
C. long number = 0345L;
D. long number = 0x345L 答案 D
分析 十六进制数以 0x 开头, long 型数以 L(大小写均可,一般使用大写,因为小 写的
l 和数字 1 不易区分)。
3. 下面的哪些程序片断可能导致错误 (多选题)
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 类型不能进行减( - )运算,错误。
4. 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.
答案 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 型变量。
5. 下面的代码片断(多选题) :
1) public void create() {
2) Vector myVect;
3) myVect = new Vector();
4) } 下面的哪些陈述正确
A. 第二行的声明不会为变量 myVect 分配内存空间。
B. 第二行的声明分配一个到 Vector 对象的引用的内存空间。
C. 第二行语句创建一个 Vector 类对象。
D. 第三行语句创建一个 Vector 类对象。
E. 第三行语句为一个 Vector 类对象分配内存空间。
答案 A,D,E
分析 要为一个新对象分配空间必须执行 new Xxx() 调用, new 调用执行以下的操作:
1.为新对象分配空间并将其成员初始化为 0 或者 null 。
2.执行类体中的初始化。(例如在类中有一个成员声明 int a=10; 在第一步后 a=0 ,
执行到第二步后 a=10)
3.执行构造函数。 4.变量被分配为一个到内存堆中的新对象的引用。
6. 下面的哪些答案可以用以表示八进制值 8 (单选题)
A. 010
B. 0x10
C. 08
D. 0x8
答案 A
分析 八进制值以 0 开头,以 0x 开头的为十六进制值, 八进制中不能出现数字 8,
最大只有 7。
1) class Person {
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) }
第十行的声明将调用哪些方法 (单选题)
A. on line 2
B. on line 3
C. on line 6
D. on line 7
答案 D
分析 变量 t 是一个 Person 对象,但是它是用 Teacher 实例化的, 这个问题涉及 到
java 的编译时多态和运行时多态的问题,就编译时多态来说, t 实际上是一个 Person 类,这
涉及到类型的自动转换(将一个子类的实例赋值给一个父类的变量是不用进行强制 类型转换,
反之则需要
进行强制类型转换, 而且被赋值的变量实际上应该是一个子类的对象) ,如果对 t 调用
了子类中新增的方法则造成编译时错误编译将不能通过,而在运行时,运行时系统将根据 t
实际指向的类型调用对应的方法,对于本例来说, t.print(10) 将调用 t 实际指向的 Teacher
类的对应方法。在 java 中,可以用一个子类的实例实例化父类的一个变量,而变 量在编译
时是一个父类实例,在运行时可能是一个子类实例。
7. 给出下面的代码:(单选题)
x 的取值在什么范围内时将打印字符串 "second" 。
A. x > 0
B. x > -3
C. x <= -3
D. x <= 0 & x > -3
答案 D
分析 x>0 时打印 "first" ,x>-3&&x<=0 时打印 "second" ,x<=-3 时打印 "third" 。 这
个题目没有什么难的,只要理解 if 语句的语法就可以了。
8. 下面的哪些赋值语句是不正确的(单选题)
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 时 需要进行
强制类型转换,反之则不需要。
9. 给出下面的不完整的类代码 : (单选题)
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;
}
}
下面的哪些表达式可以加到构造方法中的 "doing the same as..." 处?
A. Person(n,a);
B. this(Person(n,a));
C. this(n,a);
D. this(name,age).
答案 C
分析:
在同一个类的不同构造方法中调用该类的其它构造方法需要使用 this( ⋯) 的形式, 而
且必须是在构造方法的第一行调用,这个和普通的方法重载调用的方式不同,普通的方 法可
以直接使用方法名加参数来调用,而且调用位置没有限制,因此答案 A 是不行的, B 的语法
就是错误的, D 的错误在于在父类型的构造函数被调用前不能引用类的成员。构造 方法是
一个类对象实例化的起点(虽然严格来说首先执行的并不是构造方法的第一个语 句,而是内
存的分配) ,因此在构造方法中不能将成员作为参数引用。
10. public void test() {// (多选题)
try {
oneMethod();
} catch (ArrayIndexOutOfBoundsException e) {
} catch(Exception e) {
} finally {
}
在 oneMethod() 方法运行正常的情况下将显示什么?
A. condition 1
B. condition 2
C. condition 3
D. finally
答案 ad
分析:
如果 try 块中的语句在执行时发生异常,则执行从该处中断而进入 catch 块,根 据
异常的类型进行匹配,最前面的优先进行匹配比较,只要该异常是 catch 中指定的异常 的子
类就匹配成功进而执行相应的 catch 中的内容,而 finally 块中的内容无论是否发生 异常都将
被执行。
11. 给出下面的代码:(单选题)
public class Test {
void printValue(int m){
while( --m > 10 )
}
public static void main(String arg[]) {
int i=10;
剩余15页未读,继续阅读
badaogu
- 粉丝: 0
- 资源: 3万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0