IBM Java测试题
Java第一阶段综合测试题
考试时间:2个小时 考试类型:闭卷
姓名:________ 班级:________ 考试分数:_______
一、单选题(每题2分,共40分) 1. 以下关于异常的说法正确的是:( )
,. 一旦出现异常,程序运行就终止了
,. 如果一个方法申明将抛出某个异常,它就必须真的抛出那个异常
,. 在catch子句中匹配异常是一种精确匹配
,. 可能抛出系统异常的方法是不需要申明异常的 2. 下面关于Java的引用,说法正确的是:( )
,. 应用实际上就是指针
,. 应用本身是Primitive
,. 引用就是对象本身
,. 一个对象只能被一个引用所指引
3. 对于import java.util包,以下那种说法是错误的,( )
,. Vector类属于java.util包
,. Vector类放在…,java/util/目录下
,. Vector类放在java.util文件中
,. Vector类是Sun公司的产品
4. 如下代码
public class Test {
public int aMethod() {
static int i = 0;
i++;
return i;
}
public static void main (String args[]) {
Test test = new Test();
test.aMethod();
int j = test.aMethod();
System.out.println(j);
}
}
输出结果是什么,( D )
A. 0
B. 1
C. 2
D. 编译失败
5. 如下代码:
public class Foo { public static void main(String[] args) {
try {
return;
} finally {
System.out.println( "Finally" );
}
}
}
A ) 输出结果是什么?(
A. Finally
B.编译失败
C. 代码正常运行但没有任何输出.
D. 运行时抛出异常
6. 下面的语句会产生什么样的输出?( A ) System.out.println(4&7);
A.4
B.5
C.6
D.7
E.0
7. 下面的程序中,temp的最终值是什么,( B ) long temp=(int)3.9; temp%=2;
A .0
B .1
C .2
D .3
E .4
8. 下面哪个不是JAVA关键字( A )
A integer
B double
C float
D default
9. 下列哪种说法是正确的( )
A( 实例方法可直接调用超类的实例方法
B( 实例方法可直接调用超类的类方法
C( 实例方法可直接调用其他类的实例方法
D( 实例方法可直接调用本类的类方法
10. 下列标识符(名字)命名
原则
组织架构调整原则组织架构设计原则组织架构设置原则财政预算编制原则问卷调查设计原则
中,正确的是( D )
A. 类名的首字母小写
B. 变量和方法名的首写字母大写
C. 接口名的首写字母小写
D. 常量完全大写
11. 下列关于构造方法的叙述中,错误的是( C )
A. Java语言规定构造方法名与类名必须相同
B. Java语言规定构造方法没有返回值,但不用void声明
C. Java语言规定构造方法不可以重载
D. Java语言规定构造方法只能通过new自动调用
12. 类Test1定义如下:
1(public class Test1{
2( public float aMethod(float a,float b){ return 0;}
3(
4(}
将以下哪种方法插入行3是不合法的。( B )
A、public float aMethod(float a, float b,float c){ return 0;}
B、public float aMethod(float c,float d){ return 0;}
C、public int aMethod(int a, int b){ return 0;}
D、private float aMethod(int a,int b,int c){ return 0;} 13. 哪个语句创建了一个数组实例,( A )
A. int[] ia = new int [15];
B. float fa = new float [20];
C. char*+ ca = “Some String”;
D. int ia [][] = {4, 5, 6} {1, 2, 3}; 14. 以public修饰的类如:public class Car,…- 则Car( A )
A、可被其它程序包中的类使用 B、仅能被本程序包中的类使用
C、不能被任意其它类使用 D、不能被其它类继承的实例 15. 构造函数何时被调用( B )
A.类定义时 B.创建对象时
C.调用对象方法时 D.使用对象的变量时
16. Java程序的执行过程中用到一套JDK工具,其中java.exe是指( B )
A.Java文档生成器 B.Java解释器
C.Java编译器 D.Java类分解器
17. break语句(C )
A、只中断最内层的循环 B、只中断最外层的循环
C、借助于标号,可以实现任何外层循环中断 D、只中断某一层的循环 18. Java语言中下面哪个可以用作正确的变量名称( B )
A、3D B、name C、extends D、implements 19. 如下代码:
class Super {
public Integer getLenght() { return new Integer(4); }
}
public class Sub extends Super {
public Long getLenght() { return new Long(5); }
public static void main(String[] args) {
Super sooper = new Super();
Sub sub = new Sub();
System.out.println(sooper.getLenght().toString() + "," +
sub.getLenght().toString() );
}
}
E ) 输出是什么?(
A. 4,4
B. 4,5
C. 5,4
D. 5,5
E. 编译失败.
二:多选题(每题3分,共30分)
1. 下面哪个语句正确地声明一个整型的二维数组,( CDE )
A. int a[][] = new int[][];
B. int a[10][10] = new int[][];
C. int a[][] = new int[10][10];
D. int [][]a = new int[10][10];
E. int []a[] = new int[10][10];
2. 下面哪些不是java的简单数据类型? ( BC )
A. short B. Boolean C. Double D. float
3. 下面哪些语句能够正确地生成5个空字符串,( AB )
A.String a[]=new String[5];for(int i=0;i<5;a[i,,+=“”);
B.String a*+=,“”,“”,“”,“”,“”-;
C.String a[5];
D.String[5]a;
E.String []a=new String[5];for(int i=0;i<5;a[i++]=null); 4. 下列标识符不合法的有( ACD )
A(new B($Usdollars C(1234 D(car.taxi 5. 下列说法错误的有( )
A( 数组是一种对象
B( 数组属于一种原生类
C( int number=[]={31,23,33,43,35,63}
D( 数组的大小可以任意改变
6. 不能用来修饰interface的有( ACD )
A(private B(public C(protected D(static 7. 下列说法错误的有( )
A( 在类方法中可用this来调用本类的类方法
B( 在类方法中调用本类的类方法时可直接调用
C( 在类方法中只能调用本类中的类方法
D( 在类方法中绝对不能调用实例方法
8. 如下代码
class A {
A() { }
}
class B extends A {
}
哪两个说明是正确的,( BD )
A. B类的构造器应该是 public.
B. B类的构造器应该是没有参数
C. B类的构造器应该调用this().
D. B类的构造器应该调用super().
9. 在接口中以下哪条定义是正确的? ( CDE )
A. void methoda(); 接口中的成员方法都是“公有的”“抽象的”“实例”成员方法
B. public double methoda();
C. public final double methoda();
D. static void methoda(double d1);
E. protected void methoda(double d1); 10. 以下哪四个能使用throw抛出? ( CDEF )
A. Error (不需要用throw抛出)
B. Event (不需要用throw抛出)
C. Object (可以用throw抛出)
D. Throwable(可以用throw抛出)
E. Exception (可以用throw抛出)
F. RuntimeException (可以用也可以不用throw抛出)
三:简答题(每题5分,共15分)
1. Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
2. swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
3. 多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
四:编程题(共15分)
1、 设计一个简单的类:Worker。该类包含id、姓名、薪水和年龄,
要求
对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗
有私有的属性、有
参和无参的构造方法、 public类型的setter和getter方法和toString方法 public class Worker
{
private int id;//id
private String name;//姓名
private double pay;//薪水
private int age;//年龄
public Worker(){}
public Worker(int id,String name,double pay,int age)
{
this.id=id; this.name=name; this.pay=pay; this.age=age;
}
public void setId(int id)
{
this.id=id;
}
public int getId()
{
return this.id;
}
public void setName(String name)
{
this.name=name;
}
public String getName()
{
return this.name;
}
public void setPay(double pay)
{
this.pay=pay;
}
public double getPay()
{
return this.pay;
}
public void setAge(int age)
{
this.age=age;
}
public int getAge()
{
return this.age;
}
public String toString()
{
return “id:” + id + “\nname:” + name + “\npay” + pay + “\nage:” + age;
}
}
2、设计一个测试类:WorkerTest,该类首先用set方法传值,然后用构造方法传值,并将该对象打印出来
public class WorkerTest
{
public static void main(String args[])
{
Worker worker = new Worker(3,”aaa”,324.32,32);
System.out.println(worker);
worker.setName(“bbb”);
System.out.println(worker);
}
}
3、用switch和Scanner知识,在控制台上实现:
如:输入1时,打印一句:“这是第一格”;输入2时,打印一句:“这是第二格”;..........
.;当随便输入时,打印“你输入有误”
import java.util.Scanner;
public class Worker
{
public static void main(String args[])
{
Scanner scan=new Scanner(System.in);
switch(scan.nextInt())
{
case 1:
System.out.println("这是第一格");
break;
case 2:
System.out.println("这是第二格");
break;
default:
System.out.println("你输入有误");
}
}
}
1. 用循环控制语句打印输出:1,3,5,…….,99=,结果 int result=1;
System.out.print(1+””);
for(int i=3;i<100;i+=2)
{
System.out.print(”+”+i);
result += i;
}
System.out.print(”=”+result);