Java基础阶段考试(总分200分)
Java基础阶段考试(总分200分) (1)
选择题(每题2分共20分) (2)
1、下面的代码输出的结果是___ (华为) (2)
2、哪些方法可以写在A的子类中______(华为) (3)
3、下列代码打印出的结果为___(华为) (3)
4、Str ing str = new String(“JavaSky”); 创建了几个对象?__(中兴) (3)
5、请阅读如下语句,在选项中找出结果为true的语句(多选)______(上海中信)
3
6、给出以下代码,请问该程序的运行结果是什么?( ) (4)
7、给出以下代码,请问该程序的运行结果是什么?() (4)
8、欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正
确的?() (5)
9、关于异常处理机制的叙述哪一个正确() (5)
10、下列代码执行的结果是() (5)
填空题(每空1分20分) (6)
1、面向对象的基本特性____ , ____ , ___ (6)
2、public class A{} 它的父类是__ (6)
3、Math.round(11.5)结果为___ Math.round(-11.5)结果为__ (6)
4、带有___修饰符的类称为最终类. 带有____修饰符的类称为抽像类. 带有___ 、
__、__修饰符的方法不能是抽像方法. (6)
5、将源文件编译成字节码文件的命令是___,执行字节码文件的命令是__ (6)
6、JDK的中文意思是___,JRE的中文意思是___,JVM的中文意思是___,POJO的中
文意思是___ (6)
论述题(每题5分共60分)(要求没道论述题不能少于20字) (7)
1、谈谈final,finally,finalize的区别 (7)
2、谈谈overload、override的区别 (7)
3、谈谈abstract class、interface的区别 (7)
4、“==”和equals 方法的区别 (7)
5、请说明List,Set,Map类型对象的结构特点 (7)
6、比较两个对象是否相等时一定要重写equals方法和hashCode吗?请说明你的见
解和原因。 (8)
7、说出ArrayList,Vector, LinkedList的存储性能和特性 (8)
8、int 和Integer 有什么区别 (8)
9、成员变量和局部变量有什么区别 (8)
10、请说明String,StringBuilder,StringBuffer的区别 (8)
11、请说明& 和&& 的区别 (8)
12、请说明short s1=1; s1=s1+1;有错吗?为什么?short s2=2; s2+=1;有错吗?为
什么? (9)
编程题(100分)要求:编码一定要规范(项目名ks_姓名) (9)
1、请打印如下格式的九九乘法表(5分) (9)
2、请使用冒泡排序法对下列数组中信息进行排序(5分)。并采用二分法查找7
排在排好序数组中的位置(5分)。 (9)
3、请用单例模式编写类Singleton (5分) (10)
4、请算出2012-09-01 和2011-05-12 之间差多少天(5分) (10)
5、打印出100到999所有的"水仙花数",所谓"水仙花数"是指一个三位数,
其各位数字立方和等于该数本身。如: (10)
6、喝酒中的敲7,计算一下从1到200哪些数敲7;(就是数字中含七的数要敲,
七的倍数也要敲)(5分) (10)
7、写两个方法实现实现32选7 (10分) (10)
8、编写一个方法接收两个int类型的正整数返回这两个数的最大公约数(5分)
(10)
11、将员工的信息放在如下的字符串中(20分) (11)
12、有如下的学生信息(10分) (11)
选择题(每题2分共20分)6
1、下面的代码输出的结果是c_ (华为)
A. ABDCBDCB
B. ABCDABCD
C. ABDCBDC
D. ABDCBCD
E. Compilation fails.
F. An exception is thrown at runtime.
2、哪些方法可以写在A的子类中_a e__(华为)
class A {
protected int method1(int a, int b) { return 0; }
}
Which two are valid in a class that extends class A? (Choose two)
A. public int method1(int a, int b) { return 0; }
B. private int method1(int a, int b) { return 0; }
C. private int method1(int a, long b) { return 0; }
D. public short method1(int a, int b) { return 0; }
E. static protected int method1(int a, int b) { return 0; }
3、下列代码打印出的结果为__ c_(华为)
A.0 B.1 C.-1 D.死循环
4、S tring str = new String(“JavaShiDai”); 创建了几个对
象?_ 2_(中兴)
A 1个
B 2个
C 3个
D 不确定
5、请阅读如下语句,在选项中找出结果为true的语句(多
选)__b d e _ __(上海中信)
String sTemp1 = “ABC”;
String sTemp2 = new String(“ABC”);
String sTemp3 = sTemp1;
a) sTemp1 == sTemp2;
b) sTemp3 == sTemp1;
c) sTemp2 == sTemp3;
d) sTemp2.equals(sTemp3);
e) sTemp1.equals(sTemp3);
6、给出以下代码,请问该程序的运行结果是什么?( c )
A 打印输出-1
B 打印输出0
C 打印输出129
D 打印输出一个非常大的负数
E 打印输出一个非常大的正数
7、给出以下代码,请问该程序的运行结果是什么?(A)
A.第2行代码编译错误。
B 第3行代码编译错误。
C 代码编译通过。
D 第1行代码编译错误
8、欲构造ArrayList类的一个实例,此类继承了List接
口,下列哪个方法是正确的?(b)
9、关于异常处理机制的叙述哪一个正确(c)
10、下列代码执行的结果是(a)
A 、20 9
B 、10 10 C、21 11 D、20 11
填空题(每空1分20分)14
1、面向对象的基本特性_封装___ , _继承___ , _多态_
2、public class A{} 它的父类是_Object_
3、Math.round(11.6)结果为_12_ Math.round(-11.6)结果为_-12_+0.5向下取整
4、带有_final__ 修饰符的类称为最终类. 带有_ abstract___修饰符的类称为抽像类. 带有___ 、__、_ _修饰符的方法不能是抽像方法.
5、将源文件编译成字节码文件的命令是_ javac__,执行字节码文件的命令是_java _
6、JDK的中文意思是__ Java开发工具包_,JRE的中文意思是__Java运行环境_,JVM的中文意思是__java虚拟机_,POJO的中文意思是__
7、所有异常的父类是_ Exception__,异常分为___,___,用于捕获异常的关键字是_ try
论述题(每题5分共60分)(要求没道论述题不能少于20字)
1、谈谈final,finally,finalize的区别
答:(1)final是修饰词,被final修饰的变量视为常量,只可被赋值一次;被final修饰的
类不可被继承;被final修饰的方法不可被调用。
(2)finally用于异常捕获,无论是否发生异常写在finally代码块中的程序都会被执行,切执行完后程序终止,所以finally一定要放在所有执行代码最后。
(3)finalize是Java垃圾回收机制中的,当Java垃圾回收机制执行时自动执行的程序。
2、谈谈overload、override的区别
3、谈谈abstract class、interface的区别
4、“==”和equals 方法的区别
答:“==”基本数据类型比较的是变量的值,引用数据类型比较的是储存地址。
equals只能用于引用数据类型,比较的是引用数据类型变量的值。
5、请说明List, Set,Map类型对象的结构特点
答:List和Set都是conlltion的子类List是有序放置的,Set是无序的。
Set和Map都使用哈希编码。
6、比较两个对象是否相等时一定要重写equals方法和hashCode吗?请说明你的见解和原因。
7、说出ArrayList, Vector, LinkedList的存储性能和特性
8、int 和Integer 有什么区别
答:int只能向高精度转化,切不能转为引用数据类型。Integer可以进行强转9、成员变量和局部变量有什么区别(待补充)
声明在类中的变量叫成员变量。声明在方法中的变量叫局部变量。
1.局部变量在使用前必须初始化。成员变量可以不用初始化,因为每个类型
的成员变量都有一个初始值。
2.局部变量前不能加权限修饰符,成员变量前可有四种权限修饰符。
3.局部变量前不能加static,成员变量前可加static
4.局部变量的作用范围在其方法内的代码块内,成员变量的作用范围在整个
类的范围内。
10、请说明String,StringBuilder,StringBuffer的区别
答:String要开辟新的空间,StringBuilder和StringBuffer不需要创建新的空间。
StringBuffer的底层用法与StringBuilder相同。StringBuilder是线程不同步的,StringBuffer是线程同步的。效率上来说StringBuilder更高一些。
11、请说明& 和&& 的区别
答:&是位运算符,&&是逻辑运算符。&&得出的结果只能是boolean类型。&可得出具体结果
12、请说明short s1=1; s1=s1+1;有错吗?为什么?short s2=2; s2+=1;有错吗?为什么?
答:short s1=1; s1=s1+1;有错S1是short类型的在进行运算时会自动转为int类型所以不可向S1赋值。
short s2=2; s2+=1;没错进行位运算,变量的类型不变
编程题(100分)要求:编码一定要规范(项目名ks_姓名)1、请打印如下格式的九九乘法表(5分)
2、请使用冒泡排序法对下列数组中信息进行排序(5分)。并采用二分法查找7排在排好序数组中的位置(5分)。
int[] arr={5,28,7,3,12,89,21};
3、请用单例模式编写类Singleton (5分)
4、请算出2012-09-01 和2011-05-12 之间差多少天(5分)
5、打印出100到999所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。如:
153就是个水仙花数(1的立方+5的立方+3的立方==153)(5分)
6、喝酒中的敲7,计算一下从1到200哪些数敲7;(就是数字中含七的数要敲,七的倍数也要敲)(5分)
7、写两个方法实现实现32选7 (10分)
8、编写一个方法接收两个int类型的正整数返回这两个数的最大公约数(5分)
9、编写程序,其功能是查找这样的六位数:这个六位数上的数字各不相同,而且这个数6倍的数依然是这个6位数,而且恰恰由这六位数组成。如126873的6倍就是761238,这样的数就符合。要求显示满足要求的全部六位数。(10分)
10、图形打印题
编写方法方法打印如下图形(10分)
1
5 2
8 6 3
10 9 7 4
11、将员工的信息放在如下的字符串中(20分)
employees="532622************,小赵,男;23062219890216131,小刘,女;23062219830216132,小李,男;532622************,老张,男;532622************,老孙,女";
0、设计一个类Employee用于保存员工的信息(Employee的属性,至少包含:身份证号,姓名,性别,生日(日期类型))
1、要求将员工信息放入一个Employee[]中
2、如果员工的身份证信息不满18位长请随机用(A,B,C,D,F,E,R,X,Y)这九个字母去补齐(假
设长度为17或18)
3、对员工根据生日信息从小到大进行排序
4、输出每个员工信息要求输出形式如小赵(532622************) 男,生日1990年07月
16日。
提示尽量体现封装思想
12、有如下的学生信息(10分)
学号姓名年龄分数
T001 张三18 89.5
T002 李四24 95.5
T003 王五35 67
要求
1、将每个学生信息保存到一个Map对象中并将每个Map对象保存到List对象中
2、在List对象中找到”王五”并将它的分数改为87
3、在李四之前插入一个学生信息(
T005 赵六26 85
)
4、从List对象中遍历出每个学生信息.