nbhkdz.com冰点文库

《JAVA程序设计》期末考试试题汇总及答案

时间:2012-03-21

《JAVA 程序设计》期末考试试题 (一) 程序设计》
一、单选择题 1、编译 Java Application 源程序文件将产生相应的字节码文件,这些字节码文 、 件的扩展名为( A. java C. html 2、设 x = 1 , y = 2 , z = 3,则表达式 、 A. 3 C. 4 A. public C. static )。 B. .class D. .exe y+=z--/++x B. 3. 5 D. 5 )。 B. private D. protected )。 的值是( )。

3、不允许作为类及类成员的访问控制符的是( 、

、 4、为 AB 类的一个无形式参数无返回值的方法 method 书写方法头,使得使用类 名 AB 作为前缀就可以调用它,该方法头的形式为( A. static void method( ) C. final void method( ) B. public void method( ) D. abstract void method( )

二、填空题 、 1、开发与运行 Java 程序需要经过的三个主要步骤为 编译生成字节码 和 解释运行字节码 编辑源程序 。 、

2、在 Java 的基本数据类型中,char 型采用 Unicode 编码方案,每个 Unicode 码 、 占 用 用 2 2 字节内存空间,这样,无论是中文字符还是英文字符,都是占 字节内存空间。 0 true 。 和 false 。

3、设 x = 2 ,则表达式 ( x + + )/3 的值是 、 4、 x = 5, = 10, x < y 和 x >= y 的逻辑值分别为 、 若 y 则 5、 、 抽象(abstract)

方法是一种仅有方法头,没有具体方法体和操作实现的

方法,该方法必须在抽象类之中定义。 最终(final) 方法是不能被当前类的子类 重新定义的方法。 6、创建一个名为 MyPackage 的包的语句是 package 、 该语句应该放在程序的位置为: 应该在程序第一句 MyPackage ; , 。

7、设有数组定义:int 、 int s = 0 ;

MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 120 。

则执

行以下几个语句后的输出结果是

for (int i = 0 ; i < MyIntArray.length ; i + + ) if ( i % 2 = = 1 ) s += MyIntArray[i] ; System.out.println(s); 8、在 Java 程序中,通过类的定义只能实现 、 以实现 多 重继承关系。 单 重继承,但通过接口的定义可

三、写出下面程序的运行结果 1、 import java.io.*; 、 public class abc { public static void main(String args [ ]) { AB s = new AB("Hello!","I love JAVA."); System.out.println(s.toString( )); } } class AB { String s1; String s2; public AB(String str1, String str2) { s1 = str1; s2 = str2; } public String toString( ) { return s1+s2; } } 运行结果:Hello! I love JAVA.

2、 import java.io.* ; 、 public class abc { public static void main(String args[ ]) { int i, s = 0 ; int a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 }; for ( i = 0 ; i < a.length ; i ++ ) if ( a[i]%3 = = 0 ) s += a[i] ; System.out.println("s="+s); } } 运行结果:s = 180 3、import java.io.* ; 、 public class abc { public static void main(String args[ ]) { System.out.println("a="+a+"\nb="+b); } } class SubClass extends SuperClass { int c; SubClass(int aa, int bb, int cc) { super(aa, bb); c=cc; } } class SubSubClass extends SubClass { int a; SubSubClass(int aa, int bb, int cc) { super(aa, bb, cc);

A = aa+bb+cc; } void show() { System.out.println("a="+a+"\nb="+b+"\nc="+c); } } 运行结果:a=60 b=20 c=30

程序设计》 《JAVA 程序设计》期末考试试题 (二)
一.判断题
1.Java 的源代码中定义几个类,编译结果就生成几个以.class 为后缀的字节码文件。 √ ) (√ 2.Java 程序里,创建新的类对象用关键字 new,回收无用的类对象使用关键字 free。 (× ) × 3.Java 有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。 (× ) ×

4.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为 void。 (× ) × 5.在异常处理中,若 try 中的代码可能产生多种异常则可以对应多个 catch 语句,若 catch 中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。 6.拥有 abstract 方法的类是抽象类,但抽象类中可以没有 abstract 方法。 7.Java 的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。 8.静态初始化器是在其所属的类加载内存时由系统自动调用执行。 (√ ) √ (√ ) √ (× ) × (√ ) √

9.在 Java 中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋 值对象相同的新对象。 (× ) ×

二.单项选择题 1.Java application 中的主类需包含 main 方法,以下哪项是 main 方法的正确形 参?( ) B、String ar[] 、 C、Char arg D 、 StringBuffer A、 String args args[] 2.以下关于继承的叙述正确的是( ) 。

A、在 Java 中类只允许单一继承 、 B、在 Java 中一个类只能实现一个接口 C、在 Java 中一个类不能同时继承一个类和实现一个接口 D、在 Java 中接口只允许单一继承 3.paint()方法使用哪种类型的参数? ( A、Graphics 、 B、Graphics2D ) C、String ) D、char D、Color

4.以下哪个不是 Java 的原始数据类型( A、int B、Boolean 、

C、float ) 。 C、Applet

5.以下哪项可能包含菜单条( A、Panel B、Frame 、

D、Dialog ) D、public ) 。

6.若需要定义一个类域或类方法,应使用哪种修饰符?( A、static 、 B、package C、private

7.在浏览器中执行 applet 程序,以下选项中的哪个方法将被最先执行( A、init() 、 B、start() C、destroy() D、stop() )

8.给出下面代码,关于该程序以下哪个说法是正确的?( public class Person{ static int arr[] = new int[5]; public static void main(String a[]) { System.out.println(arr[0]); } A、编译时将产生错误 时将产生错误 C、输出零 、 D、输出空 }

B、编译时正确,运行

9.下列哪些语句关于 Java 内存回收的说明是正确的? ( A、程序员必须创建一个线程来释放内存 B、内存回收程序负责释放无用内存 、 C、内存回收程序允许程序员直接释放内存 D、内存回收程序可以在指定的时间释放内存对象 10.以下哪个关键字可以用来对对象加互斥锁?( A、transient B、synchronized 、 )



C、 serialize

D



static 11.以下代码段执行后的输出结果为( int int A、 、 x =-3; y =-10; -1 B、2 C、1 ) D、3 )

System.out.println(y%x);

12.有以下程序片段,下列哪个选项不能插入到行 1。 ( 1. 2 .public class 3. //do sth 4.} A、import java.awt.*; C、class OtherClass{ } B、package mypackage; Interesting{

D、public class MyClass{ } 、

13. 设有下面两个赋值语句: a = Integer.parseInt(“12”); b = Integer.valueOf(“12”).intValue(); 下述说法正确的是( ) 。

A、a 是整数类型变量,b 是整数类对象。 B、a 是整数类对象,b 是整数类型变量。 C、a 和 b 都是整数类对象并且值相等。 D、a 和 b 都是整数类型变量并且值相等。 、 14. FilterOutputStream 是 BufferedOutputStream、 DataOutputStream 及 PrintStream 的父类,以下哪个类可能是 FilterOutputStream 构造函数的参数类型? A、OutputStream 、 C、InputStream B、File D、BufferedOutputStream )语句。

15.在编写 Java Applet 程序时,需在程序的开头写上( A、import C、import java.awt.* ; java.io.* ; B、import 、 D、import

java.applet.Applet ; java.awt.Graphics ;

16.类 Parent、Child 定义如下: 1. 3. public class IOException { Parent aFun(float a, float b) throws } 2.{ public float

4.} 5.public class 6. 7.} 将以下哪种方法插入行 6 是不合法的。 ( A、float 、 aFun(float a, float b){ } Exception{ } ) Child extends Parent{

B、public int C、public float D、public int

aFun(int a, int b)throws aFun(float aFun(int a, p, int

float q){ } b)throws IOException{ } )修饰符修饰该接

17.在使用 interface 声明一个接口时,只可以使用( 口。 A、private B、protected

C、private protected ) 。

D、public 、

18、有以下方法的定义,请选择该方法的返回类型( ReturnType method(byte x, double y) { return (short) x/y*2; } A、byte B、short C、int

D、double 、 )

19、关于以下代码段的说法正确的是( 1.String s="abcde"; 2.StringBuffer s1=new StringBuffer("abcde"); 3.if(s.equals(s1)) 4. 6. s1=null; s=null; 5.if(s1.equals(s))

A、第 1 行编译错误,String 的构造器必须明确调用 B、第 3 行编译错误,因为 s 与 s1 有不同的类型 C、编译成功,但执行时在第 5 行有异常抛出 D、编译成功,过程中也没有异常抛出 、 20、编译并运行以下程序,以下描述哪个选项是正确的( 1. class X{ String toString( )i{ 2. protectied )

3. 4. }

return

super.toString();} B、编译通过但运行时出错 D、不能成功编译,行 3 出错

A、编译通过运行无异常 C、行 2 出错,不能成功编译 、 三.程序阅读题 1.以下程序的输出结果为 . class StringTest1 { 相等



public static void main(String[] args) { String s1="hello"; String s2=new String("hello"); if(s1.equals(s2)){ System.out.println("相等"); }else{ System.out.println("不相等"); } } } 2.以下程序段的输出结果为 . public class TestArray { public static void main(String int int i,j; a[ ] = { 5,9,6,8,7}; int k = i; j++ ) if ( a[j]<a[k] ) k = j; int temp =a[i]; a[i] = a[k]; a[k] = temp; args[ ]){ 5 6 7 8 9



for ( i = 0 ; i < a.length-1; i ++ ) { for ( j = i ; j < a.length ;

} for ( i =0 ; i<a.length; i++ ) System.out.print(a[i]+" "); System.out.println( ); } } 3.写出以下程序的功能。 . import java.io.*; public class TestFile { public static void main(String args[]) throws Exception { BufferedReader br = new BufferedReader( new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new FileWriter(“input.txt")); String s; while (true) { System.out.print("请输入一个字符串: "); System.out.flush(); s=br.readLine(); if (s.length()==0) break; bw.write(s); bw.newLine(); } bw.close(); } } 功能:从键盘逐一输入字符串,逐一输出至 input.txt 文件中,直至输入空行。 功能:从键盘逐一输入字符串, 文件中,直至输入空行。 4.阅读以下程序,写出输出结果。 . class Animal { Animal() {

System.out.print ("Animal } public class Dog() { System.out.print ("Dog "); Dog extends

");

}

Animal { }

public static void main(String[] args) { Dog snoppy= new } 输出结果:Animal 输出结果: Dog Dog(); }

《JAVA 程序设计》期末考试试题 (三) 程序设计》
一、单项选择题 1、如下哪个是 Java 中的标识符() A、public B、super C、3number D、width 、

2、如下哪个是 Java 中的标识符( ) A、fieldname 、 B、super C、3number D、#number

3、已知如下定义:String s = "story"; 下面哪个语句不是合法的( ) A、s += "books"; C、int len = s.length; 、 B、s = s + 100; D、String t = s + “abc”;

4、如下哪个是 Java 中有效的关键字() A、name B、hello C、false 、 D、good )

5、下面的代码段执行之后 count 的值是什么(
int count = 1; for (int i = 1; i <= 5; i++) { count += i; } System.out.println(count);

A、5

B、1

C、15

D、16 、

6、定义一个类,必须使用的关键字是( ) A、public B、class 、 C、interface D、static

7、定义一个接口必须使用的关键字是( A、public B、class

) D、static

C、interface 、

8、如果容器组件 p 的布局是 BorderLayout,则在 p 的下边中添加一个按钮 b, 应该使用的语句是( A、p.add(b); C、p.add(b,"South"); 、 ) B、p.add(b,"North"); D、b.add(p,"North");

9、声明并创建一个按钮对象 b,应该使用的语句是( ) A、Button b=new Button(); B、button b=new button(); 、 D、b.setLabel(“确定”); C、Button b=new b(); 10、Frame 对象默认的布局管理器是( A、FlowLayout C、CardLayout D、null



B、BorderLayout 、

11、下列哪一个 import 命令可以使我们在程序中创建输入/输出流对象() A、import java.sql.*; C、import java.io.*; 、 B、import java.util.*; D、import java.net.*;

12、下面哪一个 import 命令可以为我们提供编写网络应用程序的类() A、import java.sql.*; C、import java.io.*; B、import java.util.*; D、import java.net.*; 、

13、如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象() A、FileInputStream 、 C、DataOutputStream B、FileOutputStream D、FileWriter

二、填空题 1、如果将类 MyClass 声明为 public,它的文件名称必须是(MyClass.java)才能 正常编译。

2、Java 程序中的单行注释符是( // ) ,多行注释符是( /* */ ) 。 。 3、Java 中布尔类型的常量有两种,它们是(true)和(false) 4、Java 中用于定义小数的关键字有两个: (float) 和 (double) ,后者精度高 于前者。

5、Java 中用于两个数相等比较的运算符是: (==) ,用于不相等比较的运算符是 (<>) 。 6、在 Java 中定义一个字符串类型的变量 str 的语句是: (String str;) ,定义一 个具有 10 个元素的整型数组 a 的语句是: (int [] arr = new int[10];) 。 。 7、导入 mypackage 包中的所类的命令是( import mypackage.*; ) 8、当声明一个数组 int arr[] = new int[5]; 时,这代表这个数组所保存的变量类型 是(int) ,数组名是(arr) ,数组的大小为(5) ,数组元素下标的使用范围是(0 。 到 4) ) 9、 假设 x=13, y=4, 则表达式 x%y != 0 的值是 (true) 其数据类型是 , (boolean) 。 10、异常处理是由(try)(catch)和 finally 块三个关键所组成的程序块。 、 11、以下程序段的输出结果是(三角形 三角形) 三角形
int x = 5, y = 6, z = 4; if (x + y > z && x + z > y && z + y > x) System.out.println("三角形"); else System.out.println("不是三角形");

12、下面程序段的执行结果是(6 5 4 3 2)
int a[] = { 2, 3, 4, 5, 6 }; for (int i = a.length - 1; i >= 0; i--) System.out.print(a[i] + "");

三、程序阅读题 程序阅读题 1、以下程序的输出结果为_ Peter is 17 years old!___。 、

public class Person { String name; int age; public Person(String name, int age) { this.name = name; this.age = age; } public static void main(String[] args) { Person c = new Person("Peter", 17); System.out.println(c.name + " is " + c.age + " years old!"); } }

2、以下程序的输出结果为__课程号 、 课程号:101 课程名 课程名:ASP 学分 学分:3___。 课程号
public class Course { private String cNumber; private String cName; private int cUnit; public Course(String number, String name, int unit) { cNumber = number; cName = name; cUnit = unit; } public void printCourseInfo() { System.out.println("课程号:" + cNumber + " 课程名:" + cName + " 学 分:" + cUnit); } } class CourseTest { public static void main(String[] args) { Course c; c = new Course("101", "ASP", 3); c.printCourseInfo(); } }

汤姆猫体重: 3、以下程序的输出结果为__汤姆猫体重:20.0 斤___。 、 汤姆猫体重
public class Tom {

private float weight; private static String name; public void setWeight(float weight) { this.weight = weight; } private void out() { System.out.println(name + "体重:" + weight + "斤"); } public static void main(String[] args) { Tom.name = "汤姆猫"; Tom cat = new Tom(); cat.setWeight(20); cat.out(); } }

4、以下程序的输出结果_姓名 姓名:Tom 年龄 年龄:15 家庭住址 金水区 电话 家庭住址:金水区 电话:66123456 、 姓名 学校:九中 学校:九中_。
public class Father { String name, address, tel; int age; public Father(String name, int age) { this.name = name; this.age = age; } void out() { System.out.print("姓名:" + name); System.out.print(" 年龄:" + age); } void outOther() { System.out.print(" 家庭住址:" + address); System.out.print(" 电话:" + tel); } } class Son extends Father { String school;

public Son(String name, int age) { super(name, age); } void out() { super.out(); super.outOther(); System.out.println(" 学校:" + school); } public static void main(String args[]) { Son son = new Son("Tom", 15); son.address = "金水区"; son.school = "九中"; son.tel = "66123456"; son.out(); } }

5、下列程序的运行结果是__12345____。 、
public class MyClass { int a[] = { 1, 2, 3, 4, 5 }; void out() { for (int j = 0; j < a.length; j++) System.out.print(a[j] + ""); } public static void main(String[] args) { MyClass my = new MyClass(); my.out(); } }

四、简答题 1、简述 Java 中异常处理的机制? 、 答:首先 Java 的异常是面向对象的。一个 Java 的 Exception 是一个描述异常情 况的对象.当出现异常情况时, 一个 Exception 对象就产生了,并放到异常的成员函 数里。 Java 的异常处理是通过 5 个关键词来实现的: try,catch,throw,throws 和 finally。

1.异常处理:在 Java 语言的错误处理结构由 try,catch,finally 三个块组成。 其中 try 块存放将可能发生异常的 Java 语言,并管理相关的异常指针;catch 块 紧跟在 try 块后面,用来激发被捕获的异常;finally 块包含清除程序没有释放的 资源,句柄等。不管 try 块中的代码如何退出,都将执行 finally 块。 2.抛出异常:Java 语言可以不在方法中直接捕获,而用 throw 语句将异常抛 给上层的调用者。Throw 语句就是来明确地抛出一个异常;首先你必需得到一个 Throwable 的实例句柄,通过参数传到 catch 中,或者采用 new 操作符来创建一 个。

2、什么是继承? 、 通过必要的说明能够实现某个类无需重新定义就拥有另一个类的某些属性和 答: 方法,并把这种关系称为继承,先定义的类称为父类,后定义的类称为子类,并 且允许多层的继承关系。

3、请简述重载和重写的区别? 答:方法的重写 Overriding 和重载 Overloading 是 Java 多态性的不同表现。 重写 Overriding 是父类与子类之间多态性的一种表现,重载 Overloading 是一个类中多态性的一种表现。 如果在子类中定义某方法与其父类有相同的名称和参数, 我们说该方法被重 写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而 言,父类中的定义如同被“屏蔽”了。 如果在一个类中定义了多个同名的方法, 它们或有不同的参数个数或有不同 的参数类型,则称为方法的重载(Overloading)。Overloaded 的方法是可以改变 返回值的类型。

五、程序设计题 程序设计题 1、按以下要求编写程序 (1) 创建一个 Rectangle 类,添加 width 和 height 两个成员变量 (2) 在 Rectangle 中添加两种方法分别计算矩形的周长和面积 (3) 编程利用 Rectangle 输出一个矩形的周长和面积 解答: 解答:
public class Rectangle { float width, height; public Rectangle(float width, float height) { this.width = width; this.height = height; } public float getLength(){

return (this.width + this.height) * 2; } public float getArea(){ return this.width * this.height; } public static void main(String [] args) { Rectangle rect = new Rectangle(10, 20); System.out.println("周长是:" + rect.getLength()); System.out.println("面积是:" + rect.getArea()); } }

2、按以下要求编写程序 、 (1) 编写 Animal 接口,接口中声明 run() 方法 (2) 定义 Bird 类和 Fish 类实现 Animal 接口 (3) 编写 Bird 类和 Fish 类的测试程序,并调用其中的 run()方法 解答: 解答:
public interface Animal { void run(); } class Bird implements Animal { public void run() { System.out.println("鸟儿在飞..."); } } class Fish implements Animal { public void run() { System.out.println("鱼儿在游..."); } }

public class TestAnimal { public static void main(String[] args) { Bird bird = new Bird(); bird.run(); Fish fish = new Fish();

fish.run(); } }

3、编写一个 Frame 框架应用程序,要求如下: 、 (1) 在窗口设置两个菜单“文件”、“编辑” (2) 在“文件”菜单里添加三个菜单项“打开”、“保存”、“关闭” (3) 在“编辑”菜单里添加两个菜单项“复制”、“粘贴” (4) 点击关闭菜单项时,使程序关闭。 解答: 解答:
import java.awt.Color; import java.awt.Frame; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; /* * 主窗体 */ public class MyFrame extends Frame { private static final long serialVersionUID = 6895463895656626294L; private Frame frmMain; MenuBar mb; Menu mnuFile; Menu mnuEdit; MenuItem miOpen; MenuItem miSave; MenuItem miClose; MenuItem miCopy; MenuItem miPaste; public MyFrame() { frmMain = new Frame("主窗体"); // 创建菜单栏 mb = new MenuBar(); // 窗体 // 菜单栏 // "文件"菜单 // "编辑"菜单 // "打开"菜单项 // "保存"菜单项 // "关闭"菜单项 // "复制"菜单项 // "粘贴"菜单项

// 创建菜单 mnuFile = new Menu("文件"); mnuEdit = new Menu("编辑"); // 创建菜单项 miOpen = new MenuItem("打开"); miSave = new MenuItem("保存"); miClose = new MenuItem("关闭"); miCopy = new MenuItem("复制"); miPaste = new MenuItem("粘贴"); } public void showFrame() { frmMain.setSize(800, 600); frmMain.setLocation(100, 100); frmMain.setBackground(Color.white); frmMain.setVisible(true); frmMain.setLayout(null); frmMain.addWindowListener(new WindowHandler()); // 注册窗口监听器 // 将菜单栏放入窗体中 frmMain.setMenuBar(mb); // 将菜单放入菜单栏中 mb.add(mnuFile); mb.add(mnuEdit); // 将菜单项放入菜单中 mnuFile.add(miOpen); mnuFile.add(miSave); mnuFile.add(miClose); mnuEdit.add(miCopy); mnuEdit.add(miPaste); // 注册动作事件监听器 miClose.setActionCommand("miClose_Clicked"); miClose.addActionListener(new MenuHandler()); } // 定义一个内部类,在这个类中编写窗口关闭事件处理程序。 private class WindowHandler extends WindowAdapter {

public void windowClosing(WindowEvent e) { System.exit(0); // 退出应用程序,状态码 0 表示正常终止,非 0 表示异 常终止。 } } // 定义一个内部类,在这个类中编写动作事件处理程序。 private class MenuHandler implements ActionListener { public void actionPerformed(ActionEvent e) { if (e.getActionCommand() == "miClose_Clicked") { System.exit(0); // 退出应用程序 } } } }

public class TestMyFrame { public static void main(String[] args) { // 启动主窗体 MyFrame guiWindow = new MyFrame(); guiWindow.showFrame(); } }

程序设计》 《JAVA 程序设计》期末考试试题 (四)
一、 单选题
1、下列程序段执行后的结果是( 、 )。 String s = new String("abcdefg"); for (int i=0; i<s.length(); i+=2){ System.out.print(s.charAt(i)); } A) aceg B) ACEG ). C) abcdefg D) abcd 2、有整型数组:int[] x={12,35,8,7,2};,则调用方法 Arrays.sort(x)后,数组 x 中 、 的元素值依次是(

A) 2 C) 35

7 12

8 8

12 7

35 2

B) 12 D) 8

35 7

8 12

7 35

2 2

、 3、下面的程序段创建了 BufferedReader 类的对象 in,以便读取本机 c 盘 my 文 件夹下的文件 1.txt。File 构造函数中正确的路径和文件名的表示是( )。 File f = new File(填代码处); file =new FileReader(f); in=new BufferedReader(file); A) "./1.txt" B) "../my/1.txt" C) "c:\\my\\1.txt" D) "c:\ my\1.txt" )。 4、应用程序的 main 方法中有以下语句,则输出的结果是 ( 、 String s1=new String("abc"); String s2=new String("abc"); boolean b1=s1.equals(s2); boolean b2=(s1==s2); System.out.print(b1+" A)true false "+b2); C) true true D)false )。 false B) false true

5、应用程序的 main 方法中有以下语句,则输出的结果是 ( 、 Hashtable hashtable=new Hashtable(); hashtable.put("x","12345"); hashtable.put("y","67890"); hashtable.put("a","abcde"); System.out.println(hashtable.get("a")); A) a B) abcde C) 12345 D) 67890 6、下面语句的功能是( )。 、

RandomAccessFile raf2 = new RandomAccessFile("1.txt","rw" ); A)打开当前目录下的文件 1.txt,既可以向文件写数据,也可以从文件读数据。 B)打开当前目录下的文件 1.txt,但只能向文件写入数据,不能从文件读取数据。 C)打开当前目录下的文件 1.txt,但不能向文件写入数据,只能从文件读取数据。 D) 以上说法都不对。 7、应用程序的 main 方法中有以下语句,则输出的结果是 ( 、 String int int int s="12345#aaa#bbb#67890"; n=s.indexOf("#"); k=s.indexOf("#",n+1); m=s.indexOf("#",k+1); )。

String s2=s.substring(m+1);

System.out.println(s2); A) 123456 B) 67890 C) aaa )。 D) bbb 8、下面程序段执行后 b 的值是( 、 Integer integ =new Integer(9); boolean b = integ instanceof Object; A) 9 B) true java Test C) 1 aaa bb c D) false 9、应用程序 Test.java 的源程序如下,在命令行键入: 、 回车后输出的结果是 ( public class Test { public static void main(String args[]) { int int } } A) 3 2 int B)1 2 C) 1 3 D) 3 3 )。 10、应用程序的 main 方法中有以下语句,则输出的结果是 ( 、 b[][]={{1}, {2,2}, {2,2,2}}; int sum=0; for(int i=0;i<b.length;i++) { for(int j=0;j<b[i].length;j++) { sum*=b[i][j]; } } System.out.println("sum="+sum); A) 32 B)11 C) 2 D) 3 )。 11、应用程序的 main 方法中有以下语句,则执行后输出的结果是 ( 、 int[] x={125,21,5,168,98}; int max=x[0]; if(x[i]> max) max =x[i]; } for(int i=1;i<x.length;i++){ k1=args.length; k2=args[1].length(); "+k2); )。

System.out.print(k1+"

System.out.println(max); A) 125 B) 5 C) 98 D) 168 )。 12、程序 Test.java 编译运行后输出的结果是( 、 public class Test { String s1="java"; public static void main(String args[]) { int z=2; Test t=new Test(); System.out.println(t.s1+z); } } A) java2 B)2 C)没有输出结果 D)java )。 13、应用程序的 main 方法中有以下语句,则输出的结果是 ( 、 String s1="0.5", s2="12"; double x=Double.parseDouble(s1); int A) 12.5 y=Integer.parseInt(s2); B) 120.5 C) 12 D) “12.5” System.out.println(x+y); 14、下面的程序创建了一个文件输出流对象,用来向文件 test.txt 中输出数据, 、 假设程序当前目录下不存在文件 test.txt,编译下面的程序 Test.java 后,将该程序 运行 3 次,则文件 test.txt 的内容是( )。 import java.io.*; public class Test { public static void main(String args[]) { try { String s="ABCDE"; byte b[]=s.getBytes(); FileOutputStream file=new FileOutputStream("test.txt",true); file.write(b); file.close(); } catch(IOException e) { System.out.println(e.toString()); }

} } A) ABCABC B) ABCDE C) Test obj) 方法 D) ABCDE ABCDE ABCDE 15、下面那些方法不是接口 Collection 中已声明的方法( )? 、 A)添加元素的 add(Object B)删除元素的 remove(Object obj)方法 C)得到元素个数的 length()方法 D)返回迭代器的 iterator()方法,迭代器用于元素遍历

二、多选题
1、下面 main()方法的定义哪些是正确的( )? 、 A) public static void main(String args[]) {} C) public static void main(String[] args) {} B) public static void main(String[]) {} D)public static void main(String [] x) {}

2、线程对象的生命周期中,通常经历下面哪些状态( 、 A)新建 B)运行 C)就绪 )。 D)死亡

) 。

3、下面说法正确的是( 、

A) final 可修饰类、属性(变量)、方法。 B) abstract 可修饰类、方法。 C) 抽象方法只有方法头,没有方法体。 D) 关键字 final 和 abstract 不能同时使用。 4、下面关于 java 中输入/输出流的说法正确的是( 、

)。

A) FileInputStream 与 FileOutputStream 类用读、写字节流。 B) Reader 与 Writer 类用来读、写字符流。 C) RandomAccessFile 既可以用来读文件,也可以用来写文件。 D) File 类用来处理与文件相关的操作。

5、下面说法正确的是( )。 、 A)如果某公共接口被声明在一个源文件中,则接口必须与源文件具有相同名字。 B)如果源文件包含 import 语句,则该语句必须是除空行和注释行外的第一个语 句行。 C)如果某源文件包含 package 语句,则该语句必须是第一个非空、非注释行。

D)接口中的方法必定是抽象方法,但可以不用关键字 abstract 修饰。 、 6、下面关于 Java 中异常处理 try 块的说法正确的是( B) catch 块后必须有 finally 块。 C)可能抛出异常的方法调用应放在 try 块中。 D)对抛出的异常的处理必须放在 try 块中 、 7、下面关于进程、线程的说法正确的是( )。 )?

A) try 块后通常应有一个 catch 块,用来处理 try 块中抛出的异常。

A)进程是程序的一次动态执行过程。 一个进程在其执行过程中, 可以产生多个线 程——多线程,形成多条执行线索。 B)线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的 控制流。线程本身不能自动运行,栖身于某个进程之中,由进程启动执行。 C)Java 多线程的运行与平台相关。 D)对于单处理器系统,多个线程分时间片获取 CPU 或其他系统资源来运行。对 于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务。

8、关于 BufferedReader 类的 readLine()方法,以下说法正确的是() 、 。 A)方法 readLine()每次读取一行数据。 B)方法 readLine()每次读取一个字节。 C)该方法可能抛出 IOException 异常,调用该方法时通常应将它放到 try 块中, 并通过 catch 块处理异常。 D)如果读到流的末尾,该方法返回的结果为 null。

三、程序阅读题
1、阅读下面的程序,回答问题( 问 3 分, 问 3 分,共 6 分)。 、 import java.awt.*; import javax.swing.*; public class T extends JFrame { public T ( ) { super("GridLayout"); Container con=this.getContentPane(); con.setLayout(new GridLayout(2,3)); con.add(new JButton("a")); con.add(new JButton("b"));

con.add(new JButton("c")); con.add(new JButton("d")); con.add(new JButton("e")); con.add(new JButton("f")); setSize(200, 80); setVisible(true); } public static void main(String args[]) { new T(); } } 画图表示程序运行后的图形界面。 如果程序通过实现某个接口处理按钮的动作事件, 则该接口名为何?接口中的 方法头声明如何? 答案: 答案:

接口名:ActionListener 接口中的方法:public void actionPerformed(ActionEvent e) 2、阅读下面的程序,回答问题( 问 3 分, 问 3 分,共 6 分)。 、 。 import java.util.*; { Set set = new TreeSet(); set.add(new Integer(10)); set.add(new Integer(5)); set.add(new Integer(15)); set.add(new Integer(5)); set.add(new Integer(10)); System.out.println("size = " + set.size()); Iterator it=set.iterator(); "); while(it.hasNext()){ System.out.print(it.next()+" public static void main(String args[]) { public class T

} } } 程序运行后输出的结果如何? 说明 java 中的集合(Set 接口)和映射(Map 接口)的主要区别。 答案: 答案: size = 3 5 10 15 Set 接口是不包含重复元素的集合;Map 接口将键映射到值,键可以重复,但 每个键最多只能映射一个值。

3、阅读下面的程序,并回答问题( 问 3 分, 问 3 分,共 6 分)。 、
import java.io.*; public class Test { public static void main(String args[]) throws IOException { BufferedReader buf=new BufferedReader( new InputStreamReader(System.in)); while(true) { String str=buf.readLine();

if(str.equals("quit")) break; int x=Integer.parseInt(str); System.out.println(x*x); } } }

编译运行上面的程序: 从键盘输入 5,回车后输出的结果如何? 从键盘输入 quit,回车后程序执行情况如何? 答案: 答案: 25 终止应用程序的运行。

《JAVA 程序设计》期末考试试题 (五) 程序设计》
一、 单选题
1、当某一线程正处于休眠状态,而另一个线程用 Thread 类中的 interrupt() 方 、 法中断它时,抛出的异常类型是( A) IOException C) InterruptedException ) 。 B) RuntimeException D) ClassNotFoundException

、 2、下面的程序段的功能是( )。 File file1=new File("d:\\xxx\\yyy\\zzz"); file1.mkdirs(); A)在当前目录下生成子目录:\xxx\yyy\zzz C)在当前目录下生成文件 xxx.yyy.zzz B)生成目录: e:\xxx\yyy\zzz D)以上说法都不对 )。

3、应用程序的 main 方法中有以下语句,则输出的结果是 ( 、 String s = "xxxxxxxxxxxxxxx#123#456#zzzzz"; int n = s.indexOf("#"); int k = s.indexOf("#", n+1); String s2 = s.substring(n+1, k); System.out.println(s2); A) 123456 B) 123 C) xxxxxxxxxxxxxxx )。

D) zzzzz

4、关于下面的程序 Test.java 说法正确的是( 、 public class Test { String x="1"; int y;

public static void main(String args[]) { int z=2; System.out.println(x+y+z); } } A)3 B)102 C) 12 D)程序有编译错误 )。

、 5、应用程序的 main 方法中有以下语句,则输出的结果是 (

int

b[][]={{1, 1, 1}, {2,2}, {3}};

int sum=0; for(int i=0; i<b.length; i++) { for(int j=0; j<b[i].length; j++) { sum+=b[i][j]; } } System.out.println("sum="+sum); A) 10 B)6 C) 9 D) 13 )。

6、应用程序的 main 方法中有以下语句,则执行后输出的结果是 ( 、 int[] x = {125,21,5,168,98}; int min = x[0]; for (int i=1; i<x.length; i++){ if(x[i] < min) min = x[i]; } System.out.println(min); A) 125 B) 5 C) 98 D) 168 )。

7、应用程序的 main 方法中有以下语句,则输出的结果是 ( 、 Hashtable hashtable=new Hashtable(); hashtable.put("100","aaa"); hashtable.put("200","bbb"); hashtable.put("300","ccc"); System.out.println(hashtable.get("300").toString() + hashtable.get("200").toString() + hashtable.get("100").toString()); A) aaa B) bbb C) ccc D) cccbbbaaa

8、以下关于 java 异常说法不正确的是( 、

) 。

A) Throwable 类是 Java 语言中 Error 类和 Exception 类的父类。 B)当异常对象是 Exception 类(或其子类)的实例时,能通过 Java 虚拟机或者 throw 语句抛出该异常对象,并能通过 try…catch…finally 处理。

C)如果只用一个 catch 块捕捉多个异常对象,则 catch 子句中的参数类型应是所 有异常对象的父类。 D)以上说法都不对。 9、下面的程序创建了一个文件输出流对象,用来向文件 test.txt 中输出数据,假 、 设程序当前目录下不存在文件 test.txt,编译下面的程序 Test.java 后,将该程序运 行 3 次,则文件 test.txt 的内容是( )。 import java.io.*; public class Test { public static void main(String args[]) { try { String s="ABCDE"; byte b[]=s.getBytes(); FileOutputStream file=new FileOutputStream("test.txt", true); file.write(b); file.close(); } catch(IOException e) { System.out.println(e.toString()); } } } A) ABCABC B) ABCDE C)Test D) ABCDE ABCDE ABCDE

10、下面说法不正确的是( )? 、 A)列表(List)、集合(Set)和映射(Map)都是 java.util 包中的接口。 B)List 接口是可以包含重复元素的有序集合。 C)Set 接口是不包含重复元素的集合。 D)Map 接口将键映射到值,键可以重复,但每个键最多只能映射一个值。

二、多选题
1、下面哪些关键字能用来控制对类成员的访问( )? 、 A) public B) protected C) private D) default

2、下面关于 Java 中异常处理 try 块的说法正确的是( 、 B) catch 块后必须有 finally 块。 C)可能抛出异常的方法调用应放在 try 块中。 D)对抛出的异常的处理必须放在 try 块中 3、线程对象的生命周期中,通常经历下面哪些状态( 、 A)新建 B)运行 C)就绪 D)死亡

)?

A) try 块后通常应有一个 catch 块,用来处理 try 块中抛出的异常。

) 。

4、定义如下的二维数组 b,下面的说法正确的是( 、 int b[][]={{1, 2, 3}, {4, 5},{6, 7, 8}}}; A)b.length 的值是 3。 A) C)b[1][1]的值是 5。 C)

)。

B)b[1].length 的值是 3。 D) 二维数组 b 的第一行有 3 个元素

5、类 B 是一个抽象类,类 C 是类 B 的非抽象子类,下列创建对象 x1 的语句中 、 正确的是( )。 B) B x1= new C( ); D) C x1= new B( ); )。 A) B x1= new B( ); C) C x1=new C( );

6、下面关于进程、线程的说法正确的是( 、

A)进程是程序的一次动态执行过程。 一个进程在其执行过程中, 可以产生多个线 程——多线程,形成多条执行线索。 B)线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的 控制流。线程本身不能自动运行,栖身于某个进程之中,由进程启动执行。 C)Java 多线程的运行与平台相关。 D)对于单处理器系统,多个线程分时间片获取 CPU 或其他系统资源来运行。对 于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务。

7、下面关于外部类和内部类成员的相互访问的规则中,正确的选项是( 、 A)内部类可以直接访问外部类的成员 B)外部类可以直接访问内部类的成员 C)外部类不能访问内部类的成员 D)外部类可通过创建内部类的实例来访问内部类的成员

)。

三、程序阅读题
1、阅读下面的程序代码,并回答问题( 问 3 分, 问 3 分,共 6 分)。 、
String s1 = new String("abcde"); String s2 = new String("abcde"); boolean b1= s1.equals(s2); boolean b2 = s1== s2; System.out.print(b1+" "+b2);

程序段执行后,在命令行的输出结果如何? 解释输出(1)的结果的原因? 答案: 答案: true false equals 方法比较两个字符串的内容是否相等;运算符“==”判断两个对象是否 指向同一个引用,即是否为同一个对象。

2、阅读下面的程序,并回答问题( 问 3 分, 问 3 分,共 6 分)。 、
import java.io.*; public class Test { public static void main(String args[]) throws IOException { BufferedReader buf=new BufferedReader( new InputStreamReader(System.in)); while(true) { String str = buf.readLine(); if(str.equals("quit")) break; int x=Integer.parseInt(str); System.out.println(x*x); } } }

编译运行上面的程序: 从键盘输入 10,回车后输出的结果如何? 从键盘输入 exit,回车后程序能正确执行吗?为什么? 答案: 答案: 100 不能;因为方法 Integer.parseInt(str)不能将字符串“exit”转化为整数,抛出异 常。

3、写出下面的程序编译、运行后的结果(6 分)。 、
public class Test{ public static void main(String args[]) { new Student("Tom", 'm', 90, 88); new Student("Jack", 'm', 66, 89); new Student("Mary", 'f', 76, 86); System.out.println("name\tsex\tchinese\tenglish"); Student.print(); } }

class Student { protected protected protected protected protected String char int int name; sex; chinese; english;

Student next;

static Student list;

Student (String name, char sex, int chinese, int english) this.name=name; this.sex=sex; this.chinese=chinese; this.english=english; this.next=list; list=this; } static void print() { Student friend=list; if (friend==null) System.out.println("The list is empty."); else { do{ System.out.println(friend.toString());

{

friend=friend.next; }while(friend!=null); } } public String toString() { return new String(name+"\t"+sex+"\t"+chinese+"\t"+english); } } 答案: 答案:

name Mary Jack Tom

sex f m m

chinese english 76 86 66 89 90 88

程序设计》 《JAVA 程序设计》期末考试试题 (六)
一、填空题 1.定义类的保留字是( class 3.线程的优先级在( 1 ),定义接口的保留字是( interface )。

2.Socket 通常也称为 ( 套接字 ),用于描述( IP 地址 ) 和 ( 端口 )。 )至( 10 )之间,数值越大( 任务越紧急 )。 4.构造方法是一种特殊的成员方法,构造方法名与( 类名 ) 相同。 5.Java 语言只允许单继承,指每个类只能有一个 ( 父类 )。 。 6.Java 源程序的扩展名是( .java ),经过编译后的程序的扩展名是( .class ) 7. 在一个时间只能由一个线程访问的资源称为 ( 临界资源 ) 。 访问临界资源的 代码( 临界代码 )。 8. 在多线程系统中,多个线程之间有 ( 同步 ) 和 ( 互斥 ) 两种关系。

二、选择题 1.关于选择结构下列哪个说法正确? A.if 语句和 else 语句必须成对出现 B.if 语句可以没有 else 语句对应 . C.switch 结构中每个 case 语句中必须用 break 语句 D.switch 结构中必须有 default 语句 2.while 循环和 do…while 循环的区别是: ( )





A.没有区别,这两个结构任何情况下效果一样 B.while 循环比 do…while 循环执行效率高 C.while 循环是先循环后判断,所以循环体至少被执行一次 D.do…while 循环是先循环后判断,所以循环体至少被执行一次 . 3.关于 for 循环和 while 循环的说法哪个正确?





A.while 循环先判断后执行,for 循环先执行后判断。 B.while 循环判断条件一般是程序结果,for 循环的判断条件一般是非程序结果 . C.两种循环任何时候都不可以替换 D.两种循环结构中都必须有循环体,循环体不能为空 4.下列修饰符中与访问控制无关的是 A.private C.protected 5. void 的含义: A.方法没有返回值 . C.没有意义 6. return 语句:





B.public D.final .



) B. 方法体为空 D. 定义方法时必须使用



) B.方法都必须含有 D.不能用来返回对象

A.只能让方法返回数值 C.方法中可以有多句 return .

7.关于对象成员占用内存的说法哪个正确? A.同一个类的对象共用同一段内存





B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间 、 C.对象的方法不占用内存 D.以上都不对 8.下列说法哪个正确? A.不需要定义类,就能创建对象 B.对象中必须有属性和方法 C.属性可以是简单变量,也可以是一个对象 . D、属性必须是简单变量

9.下列说法哪个正确?





A、一个程序可以包含多个源文件 、 B、一个源文件中只能有一个类 C、一个源文件中可以有多个公共类 D、一个源文件只能供一个程序使用 10.关于方法 main()的说法哪个正确?( A.方法 main()只能放在公共类中 B main()的头定义可以根据情况任意更改 C.一个类中可以没有 main()方法 . D.所有对象的创建都必须放在 main()方法中 11.构造函数何时被调用? A、创建对象时 、 C、使用对象的方法时 12. 抽象方法: A、可以有方法体 B、可以出现在非抽象类中 C、是没有方法体的方法 、 D、抽象类中的方法都是抽象方法 13.关于继承的说法正确的是:





) B、类定义时 D、使用对象的属性时









A、子类将继承父类所有的属性和方法。 B、子类将继承父类的非私有属性和方法。 、 C、子类只继承父类 public 方法和属性 D、子类只继承父类的方法,而不继承属性 14.关于构造函数的说法哪个正确? A、一个类只能有一个构造函数 B、一个类可以有多个不同名的构造函数 C、构造函数与类同名 、 D、构造函数必须自己定义,不能使用父类的构造函数





15. this 和 super: A、都可以用在 main()方法中 B、都是指一个内存地址 C、不能用在 main()方法中 、 D、意义相同 16.关于 super 的说法正确的是: A、是指当前对象的内存地址 B、是指当前对象的父类对象的内存地址 C、是指当前对象的父类 D、可以用在 main()方法中 17.覆盖与重载的关系是





A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中 、 B.覆盖方法可以不同名,而重载方法必须同名 C.final 修饰的方法可以被覆盖,但不能被重载 D.覆盖与重载是同一回事 18.关于接口哪个正确? B.一个类只能实现一个接口 C.接口间不能有继承关系 D.接口和抽象类是同一回事 19.异常包含下列哪些内容? B.程序中的语法错误 C.程序的编译错误 D.以上都是 20. 对于已经被定义过可能抛出异常的语句,在编程时: A、必须使用 try/catch 语句处理异常,或用 throws 将其抛出 、 B.如果程序错误,必须使用 try/catch 语句处理异常





A、实现一个接口必须实现接口的所有方法 、





A.程序执行过程中遇到的事先没有预料到的情况 .





C.可以置之不理 D.只能使用 try/catch 语句处理 21. 字符流与字节流的区别在于( A.前者带有缓冲,后者没有 B.前者是块读写,后者是字节读写 C. 二者没有区别,可以互换使用 D. 每次读写的字节数不同 22.下列流中哪个不属于字节流 A.FileInputStream B.BufferedInputStream C. FilterInputStream D. InputStreamReader 三、程序填空题 1.public class Sum{ public static void main(String [] args){ int j=10; System.out.println("j is : "+j); calculate(j); System.out.println("At last, j is : "+j); } static void calculate (int j){ for (int i = 0;i<10;i++) j++; System.out.println("j in calculate() is: "+j); } } 输出结果为: j is : j in calculate() is : At last j is : (1) (2) (3)







答案:(1) 10; (2) 20; (3) 10。 答案: ; ; 。

2. 按要求填空 abstract class SuperAbstract{ void a(){…} abstract void b(); abstract int c(int i); } interface AsSuper { void x(); } abstract class SubAbstract extends SuperAbstract implements AsSuper { public void b(){…} abstract String f(); } public class InheritAbstract extends SubAbstract{ public void x(){…} public int c(int i ) {…} public String f(){…} public static void main(String args[]){ InheritAbstract instance=new InheritAbstract(); instance.x(); instance.a(); instance.b(); instance.c(100); System.out.println(instance.f()); } } 在以上这段程序中: 抽象类有:SuperAbstract 和 非抽象类有: 接口有: (1) (2) (3) (写出类名) (写出类名) (写出接口名)

AsSuper 中的 x()方法是(4)方法,所以在 InheritAbstract 中必须对它进行(5) 答案: 答案:

(1) SuperAbstract; ; (2) InheritAbstract; ; (3) AsSuper; ; (4) 抽象; 抽象; (5) 覆盖和实现。 覆盖和实现。 3. 按注释完成程序 public class Leaf { private int i = 0; //此属性值用于检验 Leaf increment(){ //定义方法 increment(),返回值是 Leaf 类的对象 i++; return (1) ;//将当前对象的地址作为返回值返回 } void print() { System.out.println(" i = " + i); } public static void main(String args[]){ Leaf x = (2); //创建 Leaf 类的对象 x x.increment().increment().increment().print(); }//多次调用方法 increment(),返回的都是 x 的地址,i 值表示调用次数 } 输出结果为 i = (3) 答案: 答案: (1) this; ; (2) new Leaf(); ; (3) 3 4. 按注释提示完成文件复制的程序 //FileStream 源代码如下: import java.io.*; class FileStream { public static void main(String args []) { try { File inFile = new File("file1.txt"); //指定源文件

File outFile = new File("file2.txt"); //指定目标文件 FileInputStream fis =(1); ( ) FileOutputStream fos = new FileOutputStream(outFile); int c; //逐字节从源文件中输入,再输出到 fos 流 while ((c = fis.read ())!=-1) (2); ) fis.close(); fos.close(); } catch (Exception e) { System.out.println("FileStreamsTest: "+e); } } } 答案: 答案: (1) new FileInputStream(inFile); (2) fos.write(c); 5. 阅读程序,给出结果: // AbstractClassDemo.java 源代码如下: abstract class Shape { abstract void display(); } class Circle extends Shape { void display() { } } class Rectangle extends Shape { void display() { } } //实现抽象类的方法 System.out.println("Rectangle"); //实现抽象类的方法 System.out.println("Circle"); //定义抽象类 Shape 和抽象方法 display

class Triangle extends Shape { void display() { } } public class AbstractClassDemo{ public static void main(String args[]){ (new Circle()).display(); //定义无名对象来调用对应的 display 方法 (new Rectangle()).display(); (new Triangle()).display(); } } 输出结果是 ? 答案: 答案:(1) Circle; (2) Rectangle; (3) Triangle。 ; ; 。 //实现抽象类的方法 System.out.println("Triangle");

《JAVA 程序设计》期末考试试题 (七) 序设计》
一、选择题 1. 请说出下列代码的执行结果 : String s = "abcd"; String s1 = new String(s); if (s = = s1) System.out.println("the same"); if (s.equals(s1)) System.out.println("equals"); A. the same C. the same equals B. equals D. 什么结果都不输出

2. 下列有关 Java 中接口的说法哪个是正确的? A. 接口中含有具体方法的实现代码 B. 若一个类要实现一个接口,则用到 “implements” 关键字 C. 若一个类要实现一个接口,则用到“ extends ”关键字 D. 接口不允许继承 3. 下列代码的执行结果是什么?

String s1 = "aaa"; s1.concat("bbb"); System.out.println(s1); A. The string "aaa". B. The string "aaabbb". C. The string "bbbaaa". D. The string "bbb". 4. 如果有一个对象 myListener ( 其中 myListener 对象实现了 ActionListener 接口 ), 下列哪条语句使得 myListener 对象能够接受处理来自于 smallButton 按钮对象的动作事件 ? A. smallButton.add(myListener); B. smallButton.addListener(myListener); C. smallButton.addActionListener(myListener); D. smallButton.addItem(myListener);

二.读程序题 1. 读下列代码,说出这段程序的功能。 import java.io.*; public class Test{ public static void main( String [] argv) { try { BufferedReader is = new BufferedReader( new InputStreamReader(System.in)); String inputLine; While ((inputLine = is.readLine ())!= null) { System.out.println(inputLine); } is.close(); }catch (IOException e) { System.out.println("IOException: " + e); } } }

答案:读取键盘输入,显示到屏幕上,直到键盘输入为空为止。 答案: 读取键盘输入,显示到屏幕上,直到键盘输入为空为止。

2、 读下列程序,写出正确的运行结果。 、 class test { public static void main (String [] args ){ int x=9, y; if (x>=0) if (x>0) y=1; else y=0; else y=-1; System.out.println(y); } } 答案:1 答案: 3、 读程序,写出正确的运行结果。 、 public class Father{ int a=100; public void miner(){ a--; } public static void main(String[] args){ Father x = new Father(); Son y = new Son(); System.out.println(y.a); System.out.println( y.getA()); y.miner(); System.out.println(y.a); System.out.println(y.getA()); } } class Son extends Father{ int a = 0;

public void plus(){ a++; } public int getA() { return super.a; } } 答案: 答案: 0 100 0 99 三 . 简答题 1. Java 语言的特点。 答: 简单性:Java 风格类似于 C++,但它摒弃了 C++中容易引起程序错误的地方 面向对象:Java 语言的设计是完全面向对象 分布式: 解释执行: 健壮性:Java 提供自动垃圾回收机制,异常处理机制,进行严格的类型检查 平台无关性: 安全性 多线程 动态性

2. 请描述 AWT 事件模型。 答: 结合 AWT 事件模型并举例来说: import java.awt.event.*; 1. 监听对象必须实现对应事件监听器的接口 class MyFirstFrame extends Frame implements ActionListener {...} 2.明确事件监听器的接口形式

public void actionPerformed ( ActionEvent event) {…} 3. MyFirstFrame 类必须实现接口 ActionListener 中的所有方法。 4. 注册监听对象. 为了把 MyFirstFrame 对象注册为两个按钮的事件监听对象, 必须在 MyFirstFrame 的构造函数中添加语句如下: cancelButton.addActionListener(this); okButton.addActionListener(this); 3. 在 Java 中,怎样创建一个线程? 答: 1、定义类来实现 Runnable 接口 class TestThread implements Runnable { public void run() { …} } 2、继承 Thread 类来实现 class TestThread extends Thread { TestThread(String name) { super(name); start(); } public void run() {…} }


《JAVA程序设计》期末考试试题汇总及答案.doc

《JAVA程序设计》期末考试试题汇总及答案_IT/计算机_专业资料。《JAVA程序设计》期末考试试题汇总及答案 一共七份 《JAVA 程序设计》期末考试试题 (一) 程序设计》...

《JAVA程序设计》期末考试试题汇总及答案课案.doc

《JAVA程序设计》期末考试试题汇总及答案课案 - 一、单选择题 1、编译 Ja

JAVA程序设计期末考试题(多套含答案).doc

JAVA程序设计期末考试题(多套含答案) - 《JAVA 程序设计》期末考试试题 (五) 一、 单选题 1、当某一线程正处于休眠状态,而另一个线程用 Thread 类中的 ...

Java程序设计期末试卷及答案.doc

Java程序设计期末试卷及答案_IT认证_资格考试/认证_教育专区。大学JAVA语言考试试卷及其答案 广东科技学院 2018-2019 学年第二学期《 Java 程设计》期中考试试卷( ...

《JAVA程序设计》期末考试及答案.doc

《JAVA程序设计》期末考试及答案 - 《JAVA 程序设计》 期末考试试卷

2017年JAVA程序设计期末考试题(多套含答案).pdf

2017年JAVA程序设计期末考试题(多套含答案)_从业资格考试_资格考试/认证_教育专区。2017年,最新,期末,考试,试卷,试题,答案JAVA程序设计 ...

Java程序设计期末试卷(附答案).doc

Java程序设计期末试卷(附答案)_IT认证_资格考试/认证_教育专区。一、单项

Java程序设计试题1及答案.doc

Java程序设计试题1及答案 - 《JAVA 语言程序设计》期末考试模拟试题 2

《JAVA程序设计》期末考试试题.doc

《JAVA程序设计》期末考试试题 - 《JAVA 程序设计》期末考试试题 一、选

JAVA程序设计期末试题及答案.doc

JAVA程序设计期末试题及答案_IT/计算机_专业资料。java程序设计试题、供参考 Java 程序设计 1.使用 Java 语言编写的源程序保存时的文件扩展名是( )。(A) .class...

《JAVA程序设计》期末考试试题汇总及答案.txt

《JAVA程序设计》期末考试试题汇总及答案 - /***ONE***...

《JAVA程序设计》试卷含答案.doc

《JAVA程序设计》试卷含答案 - 准考证号(学号): 姓名: 班级: …○……

《JAVA程序设计》期末考试试题汇总及答案.pdf

《JAVA程序设计》期末考试试题汇总及答案 - 《JAVA 程序设计》期末考试试

《JAVA程序设计》试卷 (A)附答案.pdf

四川师范大学成都学院 2014-2015 学年第二学期期末考试《JAVA 程序设计》试卷 (A)答卷说明:1、本试卷共 7 页,五个大题,满分 100 分,120 分钟完卷。 2、闭...

java程序设计试题及答案.doc

java程序设计试题及答案 - java 程序设计试题及答案 一、判断题 1、当

《JAVA程序设计》期末考试试题_(二).pdf

《JAVA程序设计》期末考试试题_(二)_从业资格考试_资格考试/认证_教育专区。《JAVA 程序设计》期末考试试题 (二)一.判断题 1.Java 的源代码中定义几个类,编译...

JAVA程序设计期末考试试卷A及其参考答案评分标准.pdf

JAVA程序设计期末考试试卷A及其参考答案评分标准_电子/电路_工程科技_专业资料。...(++x)+1 y=(x++)+1 的结果,使 y 分别为( ) A)42,42 B)41,...

《JAVA程序设计》期末考试试题_(六).pdf

《JAVA程序设计》期末考试试题_(六) - 《JAVA 程序设计》期末考试试题 (六) 一、填空题 1.定义类的保留字是( class 3.线程的优先级在( 1 )至( ),定义...

《JAVA程序设计》期末考试试题_(二).doc

《JAVA程序设计》期末考试试题_(二)_工学_高等教育_教育专区。《JAVA 程序设计》期末考试试题 (二)一.判断题 1.Java 的源代码中定义几个类,编译结果就生成几...

Java程序设计试题1及答案.doc

Java程序设计试题1及答案 - 《JAVA 语言程序设计》期末考试模拟试题 2