资源描述
一、判断题
1.java中用于编译源文件的命令是javac。( ü )
2.abstract和final不能同时修饰一个类。( ü )
3.一个意料之外的或出错的情形是一个异常( ü )。
4.如果线程死亡,它便不能运行( ü )。
5.在括号里表明一个数组变量的整数是指针( û )。
6.静态的成员方法中可以调用非静态的成员方法。( û )
7.Applet是用HTML语言编写的( û )。(java语言编写的)227
8.二维数组的初始化 int[][] arr =new int[][4]是合法的。( û )
9.在括号里表明一个数组变量的整数是指针( û )。
10.java语言是平台无关的语言。( ü )
11. 关键字Supper总是指向所使用的类的父类( ü )。
12. 在switch结构中,default case必须出现( û )。Default不是必须出现的51
13.在方法定义中,所有可能发生的异常都必须用try{} catch{}捕捉。(û )146
14.一个类实现一个接口,则该类必须实现接口中的所有方法。( û )非抽象类必须实现所有抽象方法,否则为抽象类
15.线程使用sleep方法休眠后会释放该线程同步锁定的对象。( û )
16. 使用相同方法名来表示不同的实现被称作为隐藏( û )。静态
17. 当使用冒泡排序按升序排序时,第一遍数组遍历完成后,原来数组里的第一个数排在了数组的末尾( û )。
18.把方法声明为synchronized,就可以保证不发生死锁( û )。
二、填空题(每空1分,共10分)
1.导入mypackage包中的所类的命令是( import mypackage.*; )。
2.运行Java程序需要(JVM 解释器jvm ),它直接对Java字节码进行解释。Java虚拟机
3.Java程序可以方便地被移植到网络上的不同机器,同时Java的类库中也实现了与不同平台的接口,是这些类库可以移植。
4.Java程序的字节码文件的扩展名是( .class )。
5.在类声明之前用( final )修饰,声明类是不能被再继承的类,即它不能再有子类。
6.符点型可以表示带有小数部分的数值。它分为两种:( float )和double,分别代表单精度和双精度数值。
7.( 布尔/Boolean )的数据类型,用于对两个数值通过关系运算符进行比较,判断比较的结果是真或是假。
8.在实现接口ActionListener的方法actionPerformed()中,常用的有两个获得事件源的方法,它们是getActionCommand()和( getSource() )。
9.在Java程序中( main )方法非常重要,是整个程序的入口。
10.符点型可以表示带有小数部分的数值。它分为两种:( float )和double分别代表单精度和双精度数值。
不同平台的Java的( )特点。
11.线程从阻塞状态恢复到就绪状态,有三种途径:自动恢复、用resume()方法恢复和用( notify() )方法恢复。
12.数组的下标是从( 0 )开始的。
13.被调用的方法中的( return )语句可以将表达式的值返回调用它的方法。
14.Java的核心是面向对象程序设计,它有三个特性:封装、( 多态 )、继承。
15.Java程序分为两种: Java Application程序和( Java Applet )程序。
18.System.out.println()语句的作用是(把小括号中的内容显示在屏幕上,并且增加新的一行)。
20.Java允许对特殊的字符使用转义序列。转义序列以( 反斜杠(\) )开始,后面跟一个对编译器来说有特殊意义的字符。
21.Read()方法的返回类型是( 字符数据int类型
23.面向对象的编程现有类派生出新类,这称为( 继承 )。
24.(对象)类创建的实例。
25. 提供注解但不可执行的程序语句被称为( 注释语句
三、单项选择题(每小题2分,共20分)
1.以下程序代码的输出结果是( B ) (2009-01 Java自考)
int x = 10;
while (x > 7)
{ System.out.print("*"); x--;}
A.** B.***
C.* D.****
2.把程序组件看作与现实世界中的具体对象相似的对象是( 面向对象程序设计 )
A. 命令行操作系统 B. 面向过程程序设计
C. 面向对象程序设计 D. 机器语言
3.以下关于AWT与Swing之间关系的叙述,正确的是( A )
AWT最早出现,并且是SWing技术的基础。Swing是java为开发GUI提供的更加使用的新技术。它与AWT在很多方面基本一致,但比AWT提供更加丰富的组件以及很多新的特性和功能。
A.Swing是AWT的提高和扩展
B.在写GUI程序时,AWT和Swing不能同时使用
C.AWT和Swing在不同的平台上都有相同的表示
D.AWT中的类是从Swing继承的
4.用Runnable接口实现多线程的主要工作是( D )(2009-01 Java自考)
A.声明实现Runnable接口的类,在类内实现run()方法,让线程调用start()方法。
B.声明实现Runnable接口的类,在类内实现run()方法,在类内声明线程对象,在init()方法中创建新线程,启动新线程。
C.声明实现Runnable接口的类,在类内实现run()方法,在类内声明线程对象,在Init()方法或start()方法中创建新线程,在start()方法中启动新线程。
D.声明实现Runnable接口的类,在类内实现run()方法,在init()方法中创建新线程,在start()方法中启动新线程。
5.下列关于构造方法的描述中,错误的是( A )
A. 可以重载 B. 方法名与类名相同
C. 无返回类型 D. 有些程序没有构造方法
6.程序如果要按行输入输出文件的字符流,最合理的方法是采用( A )c(2009-01 Java自考)
A.BufferedReader类和BufferedWriter类
B.InputStream类和OutputStream类
C.FileReader类和FileWriter类
D.File_Reader类和File_Writer类
7.定义一个接口必须使用的关键字是( C )
A、public B、class
C、interface D、static
8.Frame对象默认的布局管理器是( B )P204
A、FlowLayout B、BorderLayout
C、CardLayout D、null
9.下列关于包的描述中,错误的是( B )包是相关类和接口的集合
A. 包是一种特殊的类
B. 包是若干个类的集合
C. 包是用package语句创建的
D. 包有有名包和无名包两种
10.关于方法重载和方法重写下列说法正确的是( D )
A. 方法 重载就是被重载的方法的参数类型必须不同
B. 方法重写支持多态性,但方法重载不支持
C. 方法重写就是指子类中的方法与其超类中的同名
D 父类中的方法非全部能被子类重写。
11.下列说法正确的是( A )
A. 类是对象的模板
B. 在类体内说明成员变量时不允许赋初值
C. 使用构造方法只能给非静态成员赋初值
D. 对象成员的表示只能使用运算符“.”
12.保存包含Java程序语言源代码的文本文件使用的扩展名是( A )
A. Java B. .class
C. .txt D. .src
13.下列哪个方法不是applet程序的组成部分( D)(init()start()、stop()、destroy())
A init() B start()
C stop() D new()
14.下列关于包的描述中,错误的是( A )
A. 包是一种特殊的类
B. 包是若干个类的集合
C. 包是用package语句创建的
D. 包有有名包和无名包两种
15.关于访问权限,下列说法中正确的是(C )。
A. 一个类成员在一个包内有默认的访问方式,它可以被其他包访问。
B. 包中的子类不可以访问一个protected成员
C. 声明为public的成员,可以被程序中任何代码访问
D. 被声明为public的类可以驻留在不相同名的文件中。
16.关于方法重载和方法重写下列说法正确的是( D )
A. 方法 重载就是被重载的方法的参数类型必须不同
B. 方法重写支持多态性,但方法重载不支持
C. 方法重写就是指子类中的方法与其超类中的同名
D 父类中的方法非全部能被子类重写。
17.永不停止的循环叫( D )
A.反复循环 B. 无限循环
C. 结构化循环 D. 不合法的循环
18.具有相同类型和名字的一列变量叫( B )
A.寄存器 B.数组
C.列表 D.索引
19.关于访问权限,下列说法中正确的是( C )。
A. 一个类成员在一个包内有默认的访问方式,它可以被其他包访问。(public类才可以被其他包中成员访问)
B. 包中的子类不可以访问一个protected成员(同一包中的类可以访问protected成员)
C. 声明为public的成员,可以被程序中任何代码访问
D. 被声明为public的类可以驻留在不相同名的文件中。(public类的类名必须与文件名相同)
20.下列哪个方法不是applet程序的组成部分( D )
A init() B start()
C stop() D new()
四、名词解释(每小题4分,共20分)
1.请写出在类的方法的定义之前,加上修饰字public、private的区别。
Public修饰的方法为公用方法,任何类的方法都可以访问他。
Private修饰的方法,本类内部可以访问。
2.异常
异常是指在程序运行过程中出现的非正常事件。
3.类体内容有哪两种重要的成员?
成员变量和成员方法
类的成员变量定义了类的属性,所定义的成员变量,可以被类内的所有访问。
成员方法描述对象所具有的功能或操作,反映对象的行为,是具有某种相对独立功能的程序模块。
4.子类通过怎样的办法可以隐藏继承的成员变量?
当在子类中定义和父类中同名的成员变量时,子类就隐藏了继承的成员变量,子类重新声明定义了这个成员变量。
5.向量类
Java.util.Vector提供了向量(Vector)类以实现类似动态数组的功能。创建了一个向量类的对象后,可以往其中随意地插入不同的类的对象,既不需顾及类型也不需预先选定向量的容量,并可方便地进行查找。
6.多态性
多态是指对于一种服务功能,可以具有不同的实现方式,即多种形态。多态形象地描述了现实世界的复杂形态,使程序具有良好的扩展性。在继承的基础上,方法重载是实现多态的方式之一。
发送消息给某个对象,让该对象自行决定响应何种行为。
通过将子类对象引用赋值给超类对象引用变量来实现动态方法调用。
7.String类和StringBuffer类有何不同?
String类创建的字符串对象是不可修改的,也就是说,String字符串不能修改、删除或替换字符串中的某个字符,即String对象一旦创建,那么实体是不可以在发生变化的。
StringBuffer类,该类能创建可修改的字符串序列,也就是说,该类的对象的实体的内存空间可以自动的改变大小,便于存放一个可变的字符串。
8.线程进程中的一段代码,不占有资源
线程是指正在执行的一个指令序列。在java语言中是指一个线程对象的start()方法执行开始,运行run()方法体中的那一段相对独立的过程。
9.接口是一系列方法的声明,是一些方法特征的集合
接口是面向对象编程的又一重要概念,在实际问题中,有些互不相干的类具有某种相同的行为,这时可以采用借口来定义这种行为,接口只定义提供什么功能,而不定义功能的具体实现,这一点与抽象类似。
五、编程题
1.按以下要求编写程序
(1) 创建一个Rectangle类,添加width和height两个成员变量
(2) 在Rectangle中添加两种方法分别计算矩形的周长和面积
(3) 编程利用Rectangle输出一个矩形的周长和面积
package rectangles;
import java.util.Scanner;
public class Rectangle{
int height;
int width;
public void Rectangle (int height,int width){//带参数的构造方法
this.height=height;
this.width=width;
}
public void setHigh (int height){//设置高度
this.height=height;
}
public void setWidth(int width){//设置宽度
this.width=width;
}
public int getHigh(){//获得高度
return height;
}
public int getWidth(){//获得宽度
return width;
}
public int getArea(){//计算面积
return height*width;
}
public int getPerimeter(){//计算周长
return height*2+width*2;
}
}
public class RectangleDermo {
public static void main(String[]args){
int x=0;
int y=0;
System.out.println("输入用于测试的两个参数数字:");
Scanner Scan=new Scanner(System.in);
System.out.print("Hight=");
x=Scan.nextInt();//从键盘获取参数数字x,y
System.out.print("Width=");
y=Scan.nextInt();
Rectangle r=new Rectangle(x,y);
System.out.println("矩形的面积是:"+r.getArea());
System.out.println("矩形的周长是:"+r.getPerimeter());
}
}Public class RectangleDermo
2.计算器操作界面设计,要求:利用容器、组件和布局等创建一个计算器的界面,包括加、减、乘、除运算键。
public class Calculator{
private String result = "0";
private int op = 0,add = 1,sub = 2,mul = 3,div = 4;
private double stringToDouble(String x){
double y = Double.parseDouble(x);
return y;
}
private void operate(String x){
double x1 = stringToDouble(x);
double y = stringToDouble(result);
switch (op){
case 0:
result = x;
break;
case 1:
result = String.valueOf(y+x1);
break;
case 2:
result = String.valueOf(y-x1);
break;
case 3:
result = String.valueOf(y*x1);
break;
case 4:
if(x1!=0){
result = String.valueOf(y/x1);
}else{
result = "The divisor can't be zero!";
}
break;
}
}
public String opAdd(String x){
operate(x);
op = add;
return result;
}
public String opSubtract(String x){
operate(x);
op = sub;
return result;
}
public String opMultiply(String x){
operate(x);
op = mul;
return result;
}
public String opDivide(String x){
operate(x);
op = div;
return result;
}
public String opEquals(String x){
operate(x);
op = 0;
return result;
}
public void opClean(){
op = 0;
result = "0";
}
}
3.计算1+2+3+…+100的值
public class Sss {
public static void main(String[] args) {
int sum=0;
for(int i=1;i<=100;i++){
sum+=i;
}
System.out.println("sum: "+sum);
}
}
4.按以下要求编写程序
(1) 编写Animal接口,接口中声明run() 方法
(2) 定义Bird类和Fish类实现Animal接口
(3) 编写Bird类和Fish类的测试程序,并调用其中的run()方法
interface Animal {
public void run();
}
class Bird implements Animal {
public void run() {
System.out.println("i am a bird !");
}
}
class Fish implements Animal {
public void run() {
System.out.println("i am a fish !");
}
}
public class Tes {
public static void main(String[] args) {
Bird bird = new Bird();
Fish fish= new Fish();
bird.run();
fish.run();
}
}
11
展开阅读全文