Java SE考试题1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java SE阶段测试
一:基本语法
1.下列哪些数据类型不属于基本数据类型:(多选)
A. Boolean
B. int
C. String
D. Short
E. char
2.下列哪些写法是错误的:
A. boolean b = (boolean)3;
B. int a = (int)true;
C. int a = false;
D. long b = (long)3.14
3.写出下列程序的输出结果:
int a = 10, b = 4;
System.out.println(a / b);
System.out.println(a % b);
System.out.println(a = b);
System.out.println(a++);
4.请写代码实现将字符串变量s转换为int型,将int型变量i转换为字符串型。
5.设计一个方法,传入整形数字,不用取余运算符“%”判断该数字是奇数还是偶数。
6.写出下列程序的输出结果:
int a = Integer.MAX_VALUE, b = Integer.MIN_VALUE;
System.out.println(a + b);
System.out.println(a>>28);
System.out.println(b>>28);
System.out.println(b>>>28);
byte c = (byte) 128;
System.out.println(c);
7.写出下列程序的输出结果:
public class Test {
public static void main(String[] args) {
int a = test(3);
System.out.println(a);
}
private static int test(int i) {
int r = 0;
try {
if (i > 3) return r = i;
throw new NumberFormatException();
} catch (NumberFormatException e) {
r = 1;
return r;
} catch (RuntimeException e) {
r = 2;
return r;
} finally {
r = -1;
}
}
}
8.写出下列程序的输出结果:
int x,y;
x = y = 3;
x = ((y=6)>(x=6))?x++:++x;
System.out.println(x);
System.out.println(y);
9.写出下列程序的输出结果:
public class Test {
public static void main(String[] args) {
Object x = new Object() {
public boolean equals(Object obj) {
return obj.getClass().equals(this.getClass());
}
};
Object y = new Object() {
public boolean equals(Object obj) {
return obj.getClass().equals(this.getClass());
}
};
System.out.println(x.equals(y));
}
}
10.写一段最短的代码造成Java堆内存溢出。
二:面向对象的语法规则
6.如果类C1继承自类C2,并实现了接口I1,而类C2实现了接口I2,请挑出下面代
码的错误的部分:
A. C2 instance = new C1();
B. C1 instance = new C2();
C. I1 instance = new C1();
D. I2 instance = new C1();
7.请列出java中4种访问权限修饰符的区别(可以列表说明)
8.请列出抽象类与接口的语法区别(至少列出4点)
9.请举出static关键字的几种用法,并分析为何使用static修饰的方法是不符合面向
对象精神的。
10.java语言中对构造函数有哪些语法要求?
11.请说明方法重写与方法重载的区别。
三:异常处理与调试
12.Java对异常可以分为受检查异常,非受检查异常和错误,它们典型的代表类是哪三
个?它们三个共同的父类是谁?
13.请写出一般程序遇到何种情况时会出现下面的异常:
A. ng.NullPointerException;
B. ng.NumberFormatException;
C. ng.ArrayIndexOutOfBoundsException;
D. java.io.NotSerializableException;
E. ng.ClassCastException
F. ng.StackOverflowError
14.请举例说明关键字throw与throws的区别。
15.请比较final、finally、finalize三者之间的区别。
四:Java SE常用工具包
16.请画出java集合框架的结构图(表示出接口与各个实现类之间的关系即可)。
17.请比较ArrayList与LinkedList的区别。
18.如果要按照自定义规则比较某类的两个对象是否相等,应该重写该类的
__________方法,如果要按照自定义规则比较某类的两个对象的大小,应令该类实现___________接口,并重写______________方法,如果要在控制台输出对象,应该重写该类的________方法
19.现有一个Map集合定义如下:Map map = new TreeMap(),请分析该集合对
存放的键、值有何要求,写一段代码对该集合进行遍历。
20.请写一段代码,将文件C:\1.txt的内容倒置后复制到F:\2.txt,如果1.txt内容
为”ABC”,复制后2.txt的内容应为”CBA”。
五:代码阅读、编写
21.请设计一个方法,传入整型i,打印i行由星号组成的空心三角形,如i=5时打印如下
结果:
*
* *
* *
* *
* * * * *
22.百鸡百钱问题:《算经》中一个问题:公鸡1只5元钱,母鸡1只3元钱,小鸡3只
1元钱,现在某人用100元钱买了100只鸡,问买了公鸡母鸡小鸡各几只?