JavaSE测试题
一、选择题(各题至少有一个正确答案,每题1.5分,共计30分)
1、以下选项中,是基本数据类型的有(BE ),是引用类型的有( AD)。
A、String
B、int
C、private
D、Integer
E、boolean
F、abstract
2、设整型变量a和n的值分别为7和3,则表达式a+=n-2的结果是? (D)
A、1
B、2
C、7
D、8
3、下述哪个说法是不正确的?( A)
A、局部变量在使用之前无需初始化,因为有该变量类型的默认值
B、类成员变量由系统自动进行初始化,也无需初始化
C、参数的作用域就是所在的方法
D、for语句中定义的变量,当for语句执行完时,该变量就消亡了
4、下列数组的定义合法的是:( C)
A、int a ={ 1,2,3};
B、int d[] = {1…3};
C、int []a[] = new int[3][];
D、char [][]c = new char[][4];
5、执行代码 String s;后,一下的结论正确的是? (B)
A、s为""(空字符串)
B、s为null
C、s为"s"
D、s为0(零)
6、Java 编译程序的文件名是(C )
A、java.exe
B、javadoc.exe
C、javac.exe
D、jar.exe
7、下列说法中错误的有(C)
A、在类方法中可以用this来调用本类的方法
B、在类方法中调用本类的类方法时可直接调用
C、在类方法中只能调用本类中的方法
D、在类方法中绝对不能调用实例方法
8、下列说法错误的有()
A、java面向对象语言允许单独的过程与函数的存在
B、java面向对象语言允许单独的方法存在
C、java语言中的方法属于类中的成员(member)
D、java语言中的方法必定隶属某一类(对象),调用方法与过程或者函数相同
9、执行如下程序代码
int a = 0,c = 0;
do{
--c;
a=a-1;
}while(a>0);
System.out.println(c);
后,c的值是(C)
A、0
B、1
C、-1
D、死循环
10、String s=new String(“xyz”);创建了几个对象。(2)
A、0
B、1
C、2
D、3
11、方法重载(overloading)必须满足(CE) 。
A. 在不同class中定义的方法
B. 在同一类型中定义的方法
C. 方法名必须相同
D. 返回类型必须相同
E. 参数一定不同
F. 参数可以相同
12、下列说法哪个是正确的?( C )
A、子类不能定义和父类同名同参的方法
B、子类只能继承父类的方法,而不能重载
C、重载就是一个类有多个同名但有不同形参和方法体的方法
D、子类只能覆盖父类的方法,而不能重载
13、要串行化某些类的对象,这些类就必须实现(A )
A. Serializable 接口
B. java.io.Comparable 接口
C. java.io.DataImput接口
D. DataOutput接口
14、Collection是集合类的上级接口,继承与他的接口主要有 (ACD)
A. List
B. HashMap
C. Vector
D. Set
15、byte变量的取值范围是(B) 。
A. 0 - 65535
B. -128 – 127
C. -256 – 255
D. 0 – 32767
16、java中当一个对象被当作参数传递到一个方法后是(D)
A. 引用传递
B. 对象传递
C. 类型传递
D. 值传递
17、BufferedReader的父类是(B )
A. FileReader
B. Reader
C. FipeReader
D. InputStreamReader
18、集合类保存在类包(A )
A. java.util
B. java.io
C. java.lang
D. java.text
19、将键值对(key–value)保存到映射(Map)对象中的方法是( B )。
A.add(Object key,Object value)
B.put(Object key,Object value)
C.insert(Object key,Object value)
D.get(Object key,Object value)
20、Java不支持何种继承( A)
A. 多重继承
B. 单重继承
C. 多接口实现
D. 单接口实现
二、判断题(每题1分,共计10分)
1、方法重载就是一个类中有多个同名但有不同形参和方法体的方法 ( T)
2、抽象类可有构造方法,因此也能用new进行实例化. ( F)
3、一个类可以继承多个父类,实现多个接口. ( F)
4、抽象类中不能包含final修饰的方法 ( T)
5、类A和类B在同一个包中,则除了私有成员外,类A可以访问类B的所有成员.( T)
6、要在程序中实现多线程,必须在源程序前面使用import语句显示的导入Thread类.(F)
7、catch 块后必须有finally. ( F)
8、run方法是运行线程的主体,若run方法运行结束,线程就消亡了. ( T)
9、System.in 是标准输入流,能用read方法读取键盘的输入 ( T)
10、用catch(Exception exception)语句可以捕获所有异常和所以错误.(F )
三、填空题(每空2.5分,共计25分)
1、请补齐所缺部分
Public interface User{
( public ) (static) ( final) String name="张三";
}
2、public class TestThread implements Runnable{
public void run(){
for(int i = 0; i < 10000; i++)
System.out.println(i);
}
public static void main(String[] args){
TestThread tt = new TestThread();
Thread t = _ new TestThread()_;
t.__start()__;
3、创建线程(Thread)的方式有两种,一种是继承类_Thread_ ,另一种是实现接口_Runnable_。启动线程的方法是__start()_ 。线程启动后运行的是__run()__ 里的代码。
4、基于TCP的java网络编程中,服务器端阻塞用Socket 对象的___accept()_
四、简答题(每题5分,共计25分)
1、java 中会存在内存泄漏吗? 请简单描述.
2、int 和Integer 有什么区别?
3、"=="与equals的区别?
4、String, StringBuffer StringBuilder 的区别。
5、什么是GC?原理是什么?会马上执行吗?
五、编程题(共计10分)
1、假定有一个乱序数组:int[] array = new int{5,4,1,3,7,8,6,9,2},
采用一种排序算法将其按照从小到大的顺序排列输出。(5分)
2、EAN-13码验证。(5分)
EAN-13即European Article Number(欧洲物品编码的缩写),其中共计13位代码的EAN-13是比较通用的一般终端产品的条形码协议和标准,主要应用于超级市场和其它零售业,随便拿起身边的一个从超市买来的商品都可以从包装上看到其条形码就是采用了EAN-13的验证机制,具体验证规则如下:
要求:编写Java代码,实现EAN-13验证机制,并使用从超市购买的一些商品(如:中性笔)进行验证测试。
联系客服