1、JAVA语言程序设计期末考试试题及答案3(应考必备题库)一、单项选择题1、如下哪个是Java中的标识符() A、public B、superC、3number D、width2、如下哪个是Java中的标识符( )A、fieldname B、superC、3number D、#number3、已知如下定义:String s = story; 下面哪个语句不是合法的( )A、s += books;B、s = s + 100;C、int len = s.length;D、String t = s + “abc”;4、如下哪个是Java中有效的关键字() A、nameB、helloC、false D、
2、good5、下面的代码段执行之后count的值是什么( )int count = 1;for (int i = 1; i = 5; i+) count += i;System.out.println(count);A、5 B、1C、15 D、166、定义一个类,必须使用的关键字是( )A、publicB、classC、interfaceD、static7、定义一个接口必须使用的关键字是( )A、public B、classC、interfaceD、static8、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是( )A、p.add(b);B、p.a
3、dd(b,North);C、p.add(b,South);D、b.add(p,North);9、声明并创建一个按钮对象b,应该使用的语句是( )A、Button b=new Button();B、button b=new button();C、Button b=new b();D、b.setLabel(“确定”);10、Frame对象默认的布局管理器是( )A、FlowLayoutB、BorderLayoutC、CardLayoutD、null11、下列哪一个import命令可以使我们在程序中创建输入/输出流对象()A、import java.sql.*;B、import java.util.
4、*;C、import java.io.*;D、import .*;12、下面哪一个import命令可以为我们提供编写网络应用程序的类()A、import java.sql.*;B、import java.util.*;C、import java.io.*;D、import .*;13、如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象()A、FileInputStream B、FileOutputStream C、DataOutputStream D、FileWriter二、填空题1、如果将类MyClass声明为public,它的文件名称必须是(MyClass.java)才能正常编译。
5、2、Java程序中的单行注释符是( / ),多行注释符是( /* */ )。3、Java中布尔类型的常量有两种,它们是(true)和(false)。4、Java中用于定义小数的关键字有两个:(float) 和 (double),后者精度高于前者。5、Java中用于两个数相等比较的运算符是:(=),用于不相等比较的运算符是()。6、在Java中定义一个字符串类型的变量str的语句是:(String str;) ,定义一个具有10个元素的整型数组a的语句是:(int arr = new int10;) 。7、导入mypackage包中的所类的命令是( import mypackage.*; )。8
6、、当声明一个数组int arr = new int5; 时,这代表这个数组所保存的变量类型是(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(三角形);elseSystem.out.pr
7、intln(不是三角形);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(ai + );三、程序阅读题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(S
8、tring 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;cUn
9、it = 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
10、 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 S
11、tring 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(
12、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,
13、 5 ;void out() for (int j = 0; j a.length; j+)System.out.print(aj + );public static void main(String args) MyClass my = new MyClass();my.out();四、简答题1、简述Java中异常处理的机制?答:首先Java的异常是面向对象的。一个Java的Exception是一个描述异常情况的对象.当出现异常情况时,一个Exception对象就产生了,并放到异常的成员函数里。Java的异常处理是通过5个关键词来实现的:try,catch,throw,throws和fina
14、lly。1.异常处理:在Java语言的错误处理结构由try,catch,finally三个块组成。其中try块存放将可能发生异常的Java语言,并管理相关的异常指针;catch块紧跟在try块后面,用来激发被捕获的异常;finally块包含清除程序没有释放的资源,句柄等。不管try块中的代码如何退出,都将执行 finally块。2.抛出异常:Java语言可以不在方法中直接捕获,而用throw语句将异常抛给上层的调用者。Throw语句就是来明确地抛出一个异常;首先你必需得到一个Throwable的实例句柄,通过参数传到catch中,或者采用new操作符来创建一个。2、什么是继承?答:通过必要的说
15、明能够实现某个类无需重新定义就拥有另一个类的某些属性和方法,并把这种关系称为继承,先定义的类称为父类,后定义的类称为子类,并且允许多层的继承关系。3、请简述重载和重写的区别?答:方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或
16、有不同的参数个数或有不同的参数类型,则称为方法的重载(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.he
17、ight = 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、按以下要求编写程
18、序(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
19、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;im
20、port 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;
21、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(文
22、件);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(t
23、rue);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.setAct
24、ionCommand(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();