Java复习题

Java语言程序设计总复习

Java复习题

常处理的程序设计——>图形界面程序设计——>Applet程序设计——>高级程序设计(多线程程序设计、网络编程和数据库编程)

重点放在面向对象程序设计上:使用类和对象编程,Java的继承和多态,包和接口等。

第3章:面向对象程序设计

重要知识点:

对象的创建和使用:理解类的定义,掌握对象的声明,学会使用构造方法初始化对象,使用类的数据和方法。

类的静态成员与实例成员:掌握静态成员与实例成员的区别;学会使用类的静态成员。

变量的作用域和this关键字:理解变量的作用域;掌握成员变量、局部变量和块变量的区别;学会使用this关键字。

方法重载:理解方法重载的定义,学会使用方法重载。

继承和多态:继承、超类、子类,子类的构造方法和关键字super;方法覆盖;抽象类和抽象方法;多态性与动态绑定;内部类、嵌套类、匿名类。

包的使用与访问控制;接口的实现与运用;Java的常用工具类

【】请采用面向对象的程序设计方法编写一个计算图形面积的程序。程序应当能够计算并输出正方形、等边三角形和圆的面积。程序的参数以数对的形式进行解释,即序号为奇数的参数表示图形的类型,表示类型的参数的下一个参数表示该图形的参数,如正方形的边长或等边三角形的边长或圆的半径。以面向对象的程序设计方法编写程序就应当至少编写4个类:主控程序类、正方形类、等边三角形类和圆类进行求解。为了考虑程序的未来扩展,还可以设计形状抽象类或接口。

【】请编写一个计算最小素数的程序。要求由程序的参数指定一个正整数,然后由程序输出大于该整数的最小素数。

【】如果下面的程序可以正常运行,则请写出程序运行的输出结果。否则,请写出含有错误的语句的行号,并修正含有错误的语句。

1.class J_Base

2.{

3.void J_Base()

5.System.out.print(2);

6.}

7.}//类J_Base结束

8.

9.class J_Test extends J_Base

10.{

11.int m_i=2;

12.String m_s=null;

13.

14.J_Test()

15.{

16.super();

17.m_i=3;

18.m_s=”C”;

19.}

20.

21.public static void main(String args[])

22.{

23.J_Test app=new J_Test();

24.System.out.println(app.m_i+app.m_s);

25.}//方法main结束

26.}//类J_Test结束

【】如果下面的程序可以正常运行,则请写出程序运行的输出结果。否则,请写出含有错误的语句的行号,并修正含有错误的语句。

1.abstract class J_Class

2.{

3.int mb_method()

4.{

5.return 5;

6.}

7.}//类J_Class结束

8.

9.class J_Test

10.{

11.public static void main(String args[])

12.{

13.J_Classs a=new J_Class();

14.J_Classs b=new J_Class();

15.System.out.println(a.mb_method()+b.mb_method());

16.}//方法main结束

17.}//类J_Test结束

【】判断下面程序片断是否含有语法错误。如果有错误,请指出错误之处,并说明原因。

{

public final void mb_method()

{

System.out.print(“super”);

}//方法mb_method结束

}//类J_Super结束

public class J_Test extends J_Super

{

public final void mb_method()

{

System.out.print(“sub”);

}//方法mb_method结束

public static void main(String args[])

{

J_Test t=new J_Test();

t.mb_method();

}//方法main结束

}//类J_Test结束

【】判断下面程序片断是否含有语法错误。如果有错误,请指出错误之处,并说明原因。protected interface J_Data

{

double PI=3.141592653589793;

}

指出下面程序会出现编译错误的行数及其原因。

1.public class J_Test

2.{

3.private class J_Inner

4.{

5.static String m_name=new String(“Inner”);

6.public void mb_method()

7.{

8.System.out.println(m_name);

9.}//方法mb_method结束

10.}//类J_Inner结束

11.

12.public static void main(String args[])

13.{

14.J_Inner a=new J_Test().new J_Inner();

15.mb_method();

16.}//方法main结束

17.

18.}//类J_Test结束

图形用户界面

【判断正误】Applet的默认布局方式是FlowLayout;JApplet的默认布局方式是BorderLayout。采用事件适配器比采用监听器的执行效率要高,因为采用事件适配器可以只处理所需处理的事件。

请列举出三类顶层容器:、、。

接口java.awt.event.ActionListener的方法actionPerformed的返回值类型是。

下面哪些结论是正确的:

(A)java.awt.Container是http://m.wendangku.net/doc/b3f5f11133687e21ae45a915.htmlponent的子类

(B)http://m.wendangku.net/doc/b3f5f11133687e21ae45a915.htmlponent是java.awt.Container的子类

(C)javax.awing.JFrame是java.awt.Container的子类

(D)javax.awing.JFrame是javax.awing.Frame的子类

FowLayout是下面哪些容器的默认布局管理器?

(A)Panel(B)JPanel(C)Applet(D)JFrame

在Java语言中,下面哪个布局管理器是JApplet的默认布局管理器?

(A)FlowLayout

(B)BorderLayout

(C)GridLayout

(D)CardLayout

设定义了容器“java.awt.Container ct”,下面哪些语句有可能改变其布局方式?

(A)ct.setLayout(net FowLayout());

(B)ct.setLayout(FlowLayout);

(C)ct.setFlowLayout();

(D)ct.set(FlowLayout);

[简答题]请列举6种常用的布局管理器,并分别简述它们的特点。

事件处理模型通常包含3个对象,它们分别是什么?

请简述Java的事件处理模型。

【编程题】请编写程序,要求包含一个文本框、两个按钮和一个列表框。当用鼠标单击其中一个按钮时,将当前文本框内的字符串作为列表框中的一项;当用鼠标单击另一个按钮时,将列表框中被选中的选项清除出列表框。

【】请编写一个简单的个人简历程序,要求通过文本框输入姓名,通过按钮设置性别,通过组合框选择籍贯(要求组合框中列出中国所有的省和直辖市),通过列表框选中文化程度,通过文本区域填写其他个人信息。请自行安排界面的排版方式,要求注意它的美观性。【】请编写一个简单的计算器程序,要求可以输入浮点数,并进行加法、减法、乘法和除法运算。

【**】请编写一个简单的文本编辑程序:要求该程序至少拥有“打开文件”、“关闭文件”、“保存文件”、“另存为……”等常规菜单项,并且能够正确完成相应的功能,而且要求能够

同时打开多个文本文件。

小应用程序

【判断正误】编写小应用程序实际上就是要实现类Java.applet.Applet的子类,该子类必须是public类型,否则将在运行时出现异常。

小应用程序(JApplet和Applet)是顶层容器,要使得小应用程序可见必须调用方法setVisible。因为类JApplet是类Applet的子类,所以将组件添加到JApplet容器中的过程和组件添加到Applet容器中的过程完全一样。

小应用程序允许在网页中给小应用程序传递参数。在网页中设置多个参数,其格式为

Java程序分成为应用程序和小应用程序两类,所以一个Java程序不可能既是应用程序,又是小应用程序。

【填空题】

类java.applet.Applet含有五个基本的方法。在小应用程序执行过程的生命周期中,当小应用程序在第一次被加载时,Applet成员方法会被调用。当浏览器离开小应用程序所在的网页时,Applet成员方法会被调用。

HTML网页通常以开头,以结尾。介于与

之间的内容将显示为网页的头部。网页表头有和界定。位于与之间的内容是网页的正文。将小应用程序嵌入到网页的关键字是。

小应用程序界面的宽度和高度一般在文件中指定。在该类型的文件中,用来指定小应用程序界面的宽度和高渡的关键字分别是和。

小应用程序的源程序和HTML文件之间有时需要传递参数。如果在HTML文件中需要设置参数名为“TestPara”、参数值为“TestValue”的参数,则在HTML文件中的对应语句可以是。在小应用程序的源程序中取得该参数的值的语句可以是。

如果一个Java程序既是应用程序,又是小应用程序,那么它必定含有类的子类,同时含有成员方法。

[简答题]请写出类javax.swing.JApplet的所有父类,并画出这些类之间的继承关系。

简述小应用程序执行过程中的生命周期。

编写一个万年历小应用程序,要求可以在一个文本框中输入年份,在一个下拉框中选择月份,然后显示所选中月份的月历(该月每一天分别是星期几)。要求界面对各种输入与显示均有较好的提示。

第8章

编写一个Java程序,实现用户根据自己的密码进入界面,如果用户输入信息正确,则输出“欢迎XXX用户”,否则用户还可以尝试两次,如果尝试阶段输入信息错误,则输出“请输入正确的信息”,如果尝试失败,用户则退出。

调试并编译程序PasswordVerification.java,运行该程序,运行结果如图8-1、图8-2、图8-3和图8-4所示,请将程序中的代码1~代码7补充完整。

Java复习题

Java复习题

图8-1 运行结果,输入正确信息图8-2 显示欢迎信息

Java复习题

Java复习题

图8-3 运行结果,输入错误信息图8-4 显示重新输入信息

程序清单:

//PasswordVerification.java

import javax.swing.*;

import java.awt.event.*;

import java.awt.*;

public class PasswordV erification extends JFrame

{

JLabel userLabel;

JLabel passwordLabel;

JTextField userText;

JPasswordField passwordText;

int count=1;//统计输入信息的次数

public PasswordVerification()

{

super("请输入信息");

Container c =代码1;//得到容器对象container

c.setLayout(new FlowLayout());//设置默认布局

userLabel=代码2//创建用户标签

passwordLabel=代码3;//创建密码标签

userText=代码4//创建用户文本输入框

passwordText=代码5//创建密码输入文本框

passwordText. 代码6(

new ActionListener(){ //注册事件监听者

public void actionPerformed(代码7)//事件处理

{

String userName=new String("陈三");//假设为正确的用户名

String password=new String("12345678");//假设为正确的密码

if(e.getSource()==passwordText)

{

count++;

char[] passwords=passwordText.getPassword();

if(userText.getText().equals(userName)&&password.equals(new String(passwords)))

{

JOptionPane.showMessageDialog(null,"欢迎您:"+userName);

System.exit(0);

}

else if(count>3)

System.exit(0);

else {

JOptionPane.showMessageDialog(null,userText.getText()+"请输入正确信息");

}

}

}

});

c.add(userLabel);

c.add(userText);

c.add(passwordLabel);

c.add(passwordText);

setSize(240,100);

setVisible(true);

}

public static void main(String[] args)

{

PasswordVerification pv=new PasswordVerification();

pv.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

思考:

(1)程序PasswordVerification.java中第3行语句java.awt.*的作用是什么?

(2)程序actionPerformed()方法中if(e,getSource()==passwordText)的作用是什么?如果去掉该条件判断,程序运行结果会发生什么变化?

(3)观察actionPerformed()方法中语句“char[] passwords=passwordText.getPassword();”

的作用是什么?

(4)观察程序中定义的main()方法,如果在PasswordVerification pv=new

PasswordVerification();语句后,添加语句System.exit()会出现什么问题?为什么?(5)从给定程序的运行结果看,密码输入的回显字符是“*”,如果把回显字符换成“#”,该如何处理?

(6)如果要求在信息输入错误处理中,一旦输入完密码信息,用户输入框和密码输入框可以清空,请将上述程序修改,使之实现功能。

相关推荐
相关主题
热门推荐