《Java语言程序设计》模拟题(补)
一. 单项选择题
1. 关于Java语言叙述错误的是:( )。 A. Java语言具有跨平台性 B. Java是一种面向对象的语言 C. Java语言中的类可以多继承
D. Java的垃圾收集机制自动回收程序已不再使用的对象 2. 关于类和对象的叙述正确的是:( )。
A. Java的类分为两大部分:系统定义的类和用户自定义的类 B. 类的静态属性和全局变量的概念完全一样,只是表达形式不同 C. 类的成员至少有一个属性和一个方法 D. 类是对象的实例化
3. 下列属于容器的组件有:( )。 A. JButton
B. JPane
C. Canvas
D. JTextArea
4. 在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?( )。 A. ActionListener
B. MouseListener
C. MouseMotionListern D. ItemListener
5. paint()方法使用哪种类型的参数?( ) A. Graphics
B. Graphics2D
C. String
D. Color
6. A派生出子类B,B派生出子类C,并且在Java源代码中有如下声明: 1. A a0=new A(); 2. A a1 =new B(); 3. A a2=new C();
问以下哪个说法是正确的?( ) A. 只有第1行能通过编译
B. 第1、2行能通过编译,但第3行编译出错 C. 第1、2、3行能通过编译,但第2、3行运行时出错 D. 第1行、第2行和第3行的声明都是正确的 7. 类Test1定义如下: 1.public class Test1{ 2. 3. 4.}
将以下哪种方法插入行3是不合法的。( )
A. public float aMethod(float a, float b,float c){ }
第1页(共14页)
public float aMethod(float a,float b){ }
中国地质大学(北京)继续教育学院 2015年11课程考试
B. public float aMethod(float c,float d){ } C. public int aMethod(int a, int b){ } D. private float aMethod(int a,int b,int c){ }
8. 应用程序的main方法中有以下语句,则输出的结果是( )。
String s=\"12345#aaa#bbb#67890\"; int n=s.indexOf(\"#\"); int k=s.indexOf(\"#\ int m=s.indexOf(\"#\ String s2=s.substring(m+1); System.out.println(s2);
B.67890
C.aaa
D.bbb
A.123456
9. 在浏览器中执行applet程序,以下选项中的哪个方法将被最先执行( )。 A. init()
B. start()
C. destroy()
D. stop()
10. 如下哪个是Java中的标识符( )? A. public
B. super
C. 3number
D. width
11. 设x=1, y=2, z=3,则表达式y+=z--/++x的值是( )。 A. 3
B. 3.5
C. 4
D. 5
12. 在下述Java语言语句中,错误的创建数组的方法是( )。 A. int intArray [];intArray=new int[5]; C. int [] intArray ={1,2,3,4,5};
B. int intArray []=new int[5];
D. int intArray [5]={1,2,3,4,5};
13. 以下语句有语法错的是:( )。 A. int x=1;y=2;z=3 C. while (x>5);
B. for (int x=10,y=0;x>0;x++);
D. for(; ;);
14. 下列类定义中,不正确的是( )。 A. class x { .... } B. class x extends y { .... }
C. static class x implements y1,y2 { .... } D. public class x extends Applet { .... } 15. 在创建对象时必须( )。 A. 先声明对象,然后才能使用对象
B. 先声明对象,为对象分配内存空间,然后才能使用对象
C. 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象 D. 上述说法都对
第2页(共14页)
中国地质大学(北京)继续教育学院 2015年11课程考试
16. 以下关于构造函数的描述错误的是( )。 A. 构造函数的返回类型只能是void型。
B. 构造函数是类的一种特殊函数,它的方法名必须与类名相同。 C. 构造函数的主要作用是完成对类的对象的初始化工作。 D. 一般在创建新对象时,系统会自动调用构造函数。 二. 判断题
1. Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。( ) 2.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。 ( ) 3.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。
( )
4.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。
( )
5. Java程序从编写到执行的整个过程为: Java源程序→编译成字节码→解释执行。( ) 6.一个类只能有一个父类,同样,一个类只能实现一个接口。
( ) ( ) ( )
7.在Java语言中,关键字final修饰一个类后,该类就不能派生出子类。 8.类体中只能有变量定义和成员方法的定义,不能有其他语句。 9.一个源文件里可以有多个class声明。
( )
( )
10. Java程序里,创建新的类对象用关键字new。
11. Java源程序文件的扩展名是.java.每个类都编译为单独的字节码文件,它的文件名与类名相同,扩展名为 .class。
( )
12.一个源文件里只能有一个class用public修饰。 ( )
( )
13.子类方法和父类方法在形式上参数列表不同,就构成了覆盖。
14.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法,不能包含带有方法体的具体方法。
( )
( )
15. public static final int i = 10定义一个整数类型的公共常量。 三. 填空题
1. 面向对象程序设计所具有的基本特征是:抽象性,封装性, ,多态性。 2. 定义接口的保留字是 。
3. 数组x定义如下int x[ ][ ]=new int[3][2],则x..length 的值为 。 4. 若x=5,y=10,则x 第3页(共14页) 中国地质大学(北京)继续教育学院 2015年11课程考试 6. Applet常用的方法是:init()、run()、 和destroy()。 7. 在Java程序中,通过接口的定义可以实现 重继承关系。 8. 在子类中使用关键字 做前缀可调用被子类覆盖的父类中的方法。 9. 开发与运行Java程序需要经过的三个主要步骤为编辑源程序、 和解释运行字节码。 10. 如果将类MyClass声明为public,它的文件名称必须是 才能正常编译。 11. 在Java中定义一个字符串类型的变量str的语句是: 。 12. 方法是不能被当前类的子类重新定义的方法。 13. 在Java程序中,通过类的定义只能实现 重继承。 14. 设有数组定义:int MyIntArray[ ]={ 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是 。 四. 简答题 1. 写出下面程序的运行结果。 import java.io.*; public class abc { public static void main(String args [ ]) { AB s = new AB(\"Hello!\VA.\"); System.out.println(s.toString( )); } } class AB { String s1; String s2; 第4页(共14页) int s = 0 ; for (int i = 0 ; i < MyIntArray.length ; i + + ) if ( i % 2 = = 1 ) s += MyIntArray[i] ; System.out.println(s); 中国地质大学(北京)继续教育学院 2015年11课程考试 public AB(String str1, String str2) { s1 = str1; s2 = str2; } public String toString( ) { return s1+s2; } } 2. 写出以下程序的功能。 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(); 第5页(共14页) 中国地质大学(北京)继续教育学院 2015年11课程考试 } } 3. 写出下列程序的运行结果是。 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(); } } 4. 写出程序的运行结果。 class Parent{ private void method1(){ System.out.println(″Parent′s method1()″); } public void method2(){ System.out.println(″Parent′s method2()″); method 1(); } } class Child extends Parent{ public void methodl(){ System.out.println(″Child′s method1()″); } 第6页(共14页) 中国地质大学(北京)继续教育学院 2015年11课程考试 public static void main(String args[]){ Parent p = new Child(); p.method2(); } } 5. 写出程序的运行结果。 public class A{ int m=5; static int n=3; public static void main(String[] args){ A obj1=new A(); A obj2=new A(); obj1.m*=2; obj1.n*=4; obj2.m+=1; obj2.n+=6; System.out.println(\"obj1.m=\"+obj1.m); System.out.println(\"obj1.n=\"+obj1.n); System.out.println(\"obj2.m=\"+obj2.m); System.out.println(\"obj2.n=\"+obj2.n); } } 6. 阅读下列程序,请写出该程序的功能。 import java.awt.*; import javax.swing.*; import java.applet.*; import java.awt.event.*; public class Class l extends Applet implements ActionListener{ JTextField Text1=new JTextField(5); JTextField Text2=new JTextField(5); 第7页(共14页) 中国地质大学(北京)继续教育学院 2015年11课程考试 JTextField Text3=new JTextField(5); JLabel Label1=new JLabel(\"Please input three numbers:\"); JLabel Label2=new JLabel(\" \"); JButton but=new JButton(\"Start!\"); public void init(){ setLayout(new GridLayout(6,1)); add (Label1); add (Textl); add (Text2); add (Text3); add (but); add (Label2); Label2.setFont(new Font(\"Courier\ but.addActionListener(this); } public void actionPerformed(ActionEvent e){ int a,b,c; a=Integer.parseInt(Text1.getText()); b=Integer.parselnt(Text2.getText()); c=Integer.parselnt(Text3.getText()); if(a+b }else{ Label2.setForeground(Color.blue); Label2.setFont(new Font (\"Courier \ Label2.setText(\" Yes.\"); } } 第8页(共14页) 中国地质大学(北京)继续教育学院 2015年11课程考试 } 五、程序设计题 1. 按以下要求编写程序 (1) 编写Animal接口,接口中声明run() 方法 (2) 定义Bird类和Fish类实现Animal接口 (3) 编写Bird类和Fish类的测试程序,并调用其中的run()方法。 2. 编写一个Frame框架应用程序,要求如下: (1) 在窗口设置两个菜单“文件”、“编辑” (2) 在“文件”菜单里添加三个菜单项“打开”、“保存”、“关闭” (3) 在“编辑”菜单里添加两个菜单项“复制”、“粘贴” (4) 点击关闭菜单项时,使程序关闭。 参考答案: 一.单项选择题 1 C 9 A 二.判断题 1 √ 9 √ 三.填空题 1. 继承性 2. Interface 3. 3 4. True 5. 子类 6. stop() 7. 多 8. super 9. 编译生成字节码 10.MyClass 11.String str; 12.最终(final) 13.单 第9页(共14页) 2 A 10 D 3 B 11 A 4 D 12 D 5 A 13 A 6 D 14 C 7 C 15 C 8 B 16 A 2 ╳ 10 √ 3 √ 11 √ 4 ╳ 12 √ 5 √ 13 ╳ 6 ╳ 14 ╳ 7 √ 15 √ 8 √ 中国地质大学(北京)继续教育学院 2015年11课程考试 14. 120 四. 简答题 1. Hello! I love JAVA. 2. 从键盘逐一输入字符串,逐一输出至input.txt文件中,直至输入空行。 3. 12345 4. Parent′s method2() Parent′s method1() 5. obj1.m=10 obj1.n=18 obj2.m=6 obj2.m=18 6. 在文本框中输入3 个数字,单击“Start”按钮,如果该3 个数字是能作为三角形的边 长,则输出“Yes”,否则输出“No”。 五. 程序设计题 1. public interface Animal { } class Bird implements Animal { } class Fish implements Animal { } public class TestAnimal { public static void main(String[] args) { 第10页(共14页) void run(); public void run() { } System.out.println(\"鸟儿在飞...\"); public void run() { } System.out.println(\"鱼儿在游...\"); 中国地质大学(北京)继续教育学院 2015年11课程考试 Bird bird = new Bird(); bird.run(); Fish fish = new Fish(); fish.run(); } } 2. 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; // \"打开\"菜单项 第11页(共14页) 中国地质大学(北京)继续教育学院 2015年11课程考试 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); 第12页(共14页) 中国地质大学(北京)继续教育学院 2015年11课程考试 } 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 表示异常终 止。 } 第13页(共14页) } 中国地质大学(北京)继续教育学院 2015年11课程考试 // 定义一个内部类,在这个类中编写动作事件处理程序。 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(); } } 第14页(共14页) 因篇幅问题不能全部显示,请点此查看更多更全内容