JA V A考试题
一填空题
1 定义类用的关键字是class;继承类用的关键子是_______;实现接口用的关键字是_________
2 线程的五种状态分别是产生就绪_______ _______ 结束;
3 对窗口的监听用的是________接口,该接口中的方法较多,为了便于实现该接口,可以使用__________;
4 Panel和Applet容器的默认布局模式是________,Window、Frame、Dialog容器的默认布局模式是_______.
5 开发与运行JA V A程序需要经过的三个主要步骤为编写源程序, _____________和______________。
6 JA V A中类成员的限定词有以下几种:public , __________ ,默认和private。其中,__________ 的开放范围最小。
7 在面向对象概念中,每个对象都是由____________和___________两个最基本的部分组成的。
8 一个if语句可以跟随___________个else if语句,但是只能有一个__________语句。
9 在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用_________字节内存空间,这样,无论是中文字符还是英文字符,都是占用_________字节内存空间。
10 程序的错误分为两种_________ ,__________。
11 面向对象的三大特征分别是继承,_____________ 和____________。
12 JA V A中类成员的限定词有以下几种:private, public, ___________ , __________ 。
13 若x = 5,y = 10,则x < y和x >= y的逻辑值分别为_________和_____________。
14 ________方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。_________方法是不能被当前类的子类重新定义的方法。
15 下列代码不能编译的原因是______________________________________。
class A{
private int x;
public static void main(String args[]) {
new B();
}
}
class B{
B() { System.out.println(x); }
}
16 在JA V A程序中,通过类的定义只能实现_______重继承,但通过接口的定义可以实现_____________重继承关系。
17 JA V A线程的实现方式有两种,一种是继承__________,另外一种是实现__________接口。
18 程序的错误分为两种______ ,_______。
19 若x = 5,y = 10,则x < y和x >= y的逻辑值分别为______和_______。
20 Java语言的核心类库是_________包,Java中所有类的基类是该包中的______类;二选择题
1 在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( )方法来完成一些画图操作。
A. start( )
B. stop( )
C. init( )
D. paint( )
2 为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。
A. static void method( )
B. public void method( )
C. final void method( )
D. abstract void method( )
3 关于对象成员占用内存的说法哪个正确?
A同一个类的对象共用同一段内存
B 同一个类的对象占用不同内存段,但静态成员共享相同的内存空间
C 对象的方法不占用内存
D 以上都不对。
4 Applet可以作下列那些操作?
A读取客户端文件
B 在客户端主机上创建新文件
C 在客户端装载程序库
D 读取客户端部分系统变量。
5 下面的选项中,哪一项不属于"汽车类"的行为()。
A、启动
B、刹车
C、减速
D、速度
6 下面的选项中,哪一项不属于"飞机"类的行为()
A、起飞
B、降落
C、速度
D、加速
7 java 类可以作为__________
A类型定义机制
B 数据封装机制
C 类型定义机制和数据封装机制
D上述都不对
8 下列关于Java语言特点的叙述中,错误的是()。
A、Java支持源程序"一次编写,到处运行"
B、Java是面向过程的编程语言
C、Java是跨平台的编程语言
D、Java支持多线程
9 下列不可作为java语言修饰符的是()
A a1
B $1
C _1
D goto
10 修饰符定义的变量值不能改变
A. static
B. abstract
C. final
D. native
11 有以下程序片段,下列哪个选项不能插入到行1。()
1).
2).public class Interesting{
3).//do sth
4). }
A、import java.awt.*;
B、package mypackage;
C、class OtherClass{ }
D、public class MyClass{ }
12 构造函数何时被调用?
A创建对象时
B 类定义时
C 使用对象的方法时
D 使用对象的属性时。
13 给出下面代码:
public class Person{
static int arr[] = new int[10];
public static void main(String a[]) {
System.out.println(arr[1]);
}
}
那个语句是正确的?()
A、编译时将产生错误;
B、编译时正确,运行时将产生错误;
C、输出零; D 、输出空。
14 下列选项中不属于基本数据类型的是()。
A、byte
B、boolean
C、String
D、char
15 character流与byte流的区别在于
A每次读入的字节数不同
B 前者带有缓冲,后者没有
C 前者是块读写,后者是字节读写
D 二者没有区别,可以互换使用。
16 System.out.println("5" + 2);的输出结果应该是()。
A、52
B、7
C、2
D、5
17 下面定义数组的语句错误的是()
A、String [ ] str;
B、String str [ ];
C、char [ ] [ ] str;
D、char str[2][5];
18 Applet中paint()方法使用哪种类型的参数? ( )
A、String B 、Graphics2D
C、Graphics
D、Color
19 .哪个关键字可以对对象加互斥锁?()
A、transient
B、synchronized
C、serialize
D、static
20 那些方法不可以使线程进入阻塞状态?
A sleep
B 等待IO资源
C notify
D wait
三问答题
1 一个线程从创建、启动到终止期间处于哪五个状态?互相之间如何转换?
2 什么是垃圾回收?哪些对象是垃圾回收线程回收的?JA V A的垃圾回收发生的时机是什么?
3 简述Java的事件处理机制,并举例说明编写程序时对事件进行处理的主要步骤。
4 详细说明重载和覆盖的区别,并说明说明覆盖时要注意的问题
5 JA V A语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?
6 Java中的异常处理机制的简单原理和应用。
7 JA V A应用程序和小程序有什么区别?
8 final, finally, finalize的区别。
9 JA V A语言的特征是什么
10 什么是面向对象的抽象、继承、封装和多态性?
四程序设计题
1 定义一个三角形类Triangle。该类包含三个int类型的变量a,b,c,分别表示三角形的三个边长。类中需要定义如下的方法:
public void set(int a,int b ,int c)
public boolean judge() ;//判断三角形是否合法
public double getArea(); // 求三角形面积,可以使用海伦公式
public int getPerimeter() ; //求三角形周长
说明需要进行异常处理。
2 编写并测试方法static boolean isFib(int n) ,方法用于判定给定的参数n是否斐波那契数列中的数。(斐波那契数列:1 1 2
3 5 8 13 21.....)
3 定义一个点Point类,该类用了两个变量表示屏幕坐标系上的一个点,其软件接口如下:
class Point{
public final static int EAST=1;
public final static int SOUTH=2;
public final static int WEST=3;
public final static int NORTH=4;
public Point();
public Point(int x,int y);
public Point(Point p);
public void move(int x,int y); //移动到指定位置
public void move(int way); //向指定位置移动一个单位
public double distance(int x, int y);//计算两个点之间的距离;
public double distance(Point p);//计算两个点之间的距离;
}
实现该类。
4 编写并测试方法static boolean isPalindrome(String str),方法判断参数字符串是否为”回文“。(当一个字符串顺读和倒读时都一样,该串就是回文。如“12321”就是回文)。
5 假设Factorial类中有一个静态的方法method(int n)方法,当n>=0时,方法返回n的阶乘,当n<0时,方法引发一个受检查的ArgumentException型异常。ArgumentException类应该提供一个能够接收并保存n值的构造方法,以及一个能够返回n值的实例方法。现在请定义一个Factorial类以及ArgumentException类。
6 编写一个函数,得到斐波那契数列,数列的形式1 1 2 3 5 8 ……,递归的形式如下:fn = fn-1+fn-2,函数的接口int fib(int n),请求得第n个斐波那契数(10分)
7 给出一个数组,要求取得这个数组的均方根,也就是每个元素的平方之后的平均。函数的形式float getA vg (float[] farr)(10分)
8 构造一个类来描述屏幕上的一个点,该类的构成包括点的x和y两个坐标,以及一些对点进行的操作,包括:取得点的坐标值,对点的坐标进行赋值,求两个点的距离,编写应用程序生成该类的对象并对其进行操作。(10分)
9 编写并测试方法static int[][] multiply(int[][] x) ,方法实现矩阵X的转置矩阵Z (10分)
10 编写程序,把n个随机数(0-99之间)平方存入一个文件中。(10分) 提示:可以使用用空格分隔的数字或者二进制的整型数均可。