Java复习题.docx
- 文档编号:28706089
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:30
- 大小:24.23KB
Java复习题.docx
《Java复习题.docx》由会员分享,可在线阅读,更多相关《Java复习题.docx(30页珍藏版)》请在冰豆网上搜索。
Java复习题
题型:
一.填空题(1*36=36分)
二.选择题(2*10=20分)
三.程序填空(2*9=18分)
四.程序阅读(1*4=4分)
五.编程题(10+12=22分)
考试时间:
18周周三下午
考试地点:
计算机1班——A3-108,计算机2班——A3-109,信息班A3-101
考试总分:
100分
一.填空题(课件上红色字体标记部分,也可参阅后面“附录”部分,是一样的。
)
二.选择题(均为单选,书后选择题部分,其中有些题目答案是错的,正确答案已放至FTP的“下载”文件夹中——“Java”文件夹中——“书后答案.doc”,也可参阅如下所示内容,是一样的。
)
以下是书后习题中选择题的正确答案:
(选择题的复习范围已经在复习提纲中进行了说明。
)
2-13AD
3-2D3-3A
4-9D4-11B、C、D4-15D
7-17D
三.程序填空(略)
四.程序阅读(第六章书后练习题)
五.编程题(第八章书后习题3——6题,第九章书后习题4——8题和下列编程题)
1.从数组元素中找出最大值并返回。
2.在Applet小程序中输入一段字符串,用三个按钮控制字符串的放大和缩小和还原。
填空题部分的复习内容如下:
第一章
Java可以编写嵌入在Web网页中运行的JavaApplet小程序,也可以编写独立运行的JavaApplication应用程序。
Java语言由语法规则和类库两大部分组成。
Applet运行时的窗口界面是由浏览器提供的,不能脱离浏览器而独立运行。
运行Application应用程序需要Java运行环境JRE。
SDK和JDK为Java的开发环境,JDK是SDK的发展。
JRE是Java程序的运行平台,其中与底层操作系统连接的是JVM。
编译器javac.exe
解释器java.exe
Applet查看器appletviewer.exe
要编写Java程序,需要使用文本编辑器,也可选择Editplus编辑软件。
Java源程序编写后生成的是.java文件,要使用Java编译器(javac.exe)进行编译,将Java源程序编译成计算机可执行的.class字节码文件。
第二章
在Java中变量以及类和方法都需要一定的名称,这种名称就叫做标识符。
所有的标识符都必须以一个字母、下划线或美元符号“$”开头,后面的字符可以包含字母、数字、下划线和美元符号。
常量用大写字母,下划线常用于常量名单词分隔。
变量用小写字母开始,如果一个变量名由多个单词构成,第一个单词后面的单词以大写字母开始,例如anInt。
类以大写字母开始。
Java严格区分字母大小写,标识符中的大小写字母被认为是不同的两个字符。
分号,是Java语句结束的标志。
Java的数据类型可分为:
基本类型、数组类型、复合类型。
布尔型(Boolean)的取值只有两个:
true和false。
字节型即Byte型。
常量用final声明,常量与变量的区别是前者不占用内存。
Java约定常量名称用大写字母。
布尔常量只有两个值true和false。
十进制常量以非0开头后跟多个0~9之间的数字;
八进制以0开头后跟多个0~7之间的数字;
十六进制则以0X开头后跟多个0~9之间的数字或a~f之间的小写字母或A~F之间的大写字母。
字符常量是由一对单引号括起来的单个字符。
如:
’a’,’Z’。
字符串常量是用一对双引号括起来的字符序列。
例如"Hello\nworld!
"
变量在程序中为一个标识符,在内存中是一块空间,变量具有三个元素:
类型、名字和值。
Java中有两种变量:
成员变量,局部变量。
在类中声明的变量称为成员变量,通常在类开始处声明,可在整个类中使用。
在方法或块(块由两个大括号所定义)中声明的变量称为局部变量。
在该块中起作用。
局部变量在声明时一定要初始化,即赋初值。
否则,程序运行时将出错。
变量类型强制转换的格式为:
(数据类型)数据表达式。
关系表达式的运算结果为布尔值,不是true就是false。
逻辑表达式通常由多个关系表达式构成,最终运算结果为布尔值true或false。
位运算的操作数仅限于整数(char、short、int、long),以二进制形式进行,运算结果为一个整数。
new运算符:
为类创建相应的类对象。
数组有一维数组和多维数组,使用时要先声明后创建。
第三章
Java源程序一般包括两部分:
Java包引入(如果有的话)部分和类定义部分。
类定义由类声明语句和类体组成。
Java语句一般分为说明性语句和操作性语句两种类型。
Java的说明性语句包含包和类引入语句、声明类语句、声明变量语句、声明对象语句等。
Java的操作性语句包含表达式语句、复合语句、选择语句和循环语句、跳转语句等。
复合语句也称为块(block)语句,是包含在一对大括号“{}”中的任意语句序列。
第四章
对象是现实世界对象的抽象模型。
从现实世界对象中抽象出来的对象,一般通过变量描述其状态,通过方法实现其行为。
Java编程就是设计类,可以采用自定义方法或继承方法设计一个类,然后使用它的实例对象完成具体的功能。
所有层次的类都是从Object类那里直接或间接地衍生下来的。
Java中一个类只有一个父类。
在Java中,接口就是为两个不相关的类提供交流的设备。
Java程序的所有数据类型都是用类来实现的,Java语言是建立在类这个逻辑结构之上,所以Java是一种完全面向对象的程序设计语言。
公共类可以被任何包中的类使用。
同一个源程序文件中只能有一个public类。
带有private修饰符的类,称为私有类,是访问限制最窄的修饰词,只能被该类的对象访问,其子类不能访问,更不能跨包访问。
带有protect修饰符的类,称为保护类,能被该类的对象与子类访问,即使子类在不同包中也可以。
带有default修饰符的类,称为默认类,与没有任何修饰符相同,默认情况下,类只能被同一个包中的其他类访问。
abstract说明的类称为抽象类,不能用它实例化一个对象,它只能被继承。
例如:
接口类。
final说明的类称为最终类。
一个最终类不可能有子类,也就是说它不能被继承。
例如String。
extends告诉编译器创建的类是从父类继承下来的子类,父类必须是Java系统类或已经定义的类。
implements告诉编译器类实现的接口,接口必须有定义,一般为系统类。
implements说明你的类可以实现的一个或多个接口,如果有多个接口,要用逗号分隔。
类是对象的产品模板。
Java运行的应该是用类创建的实例化对象。
创建对象语句有三个组成部分:
声明对象、实例化、初始化。
当用new创建了一个对象时,系统会为对象中的变量进行初始化。
对象的初始化任务要靠构造方法来完成。
使用对象的任何成员时都要加上引用。
即在变量和方法的前面加上对象名,并用圆点分隔。
格式为:
<对象名>.<变量名>
<对象名>.<方法名>
封装是抽象的具体实现。
封装就是用操作方法把数据封闭到类中,形成以数据为核心,以方法为外壳的类。
封装能保护类的数据免受外界的更改。
封装的结果是形成了独立的和完整的程序模块。
由public修饰的变量称为公共变量。
由private修饰的变量称为私有变量,只能被声明它的类所使用,拒绝任何外部类的访问。
由protected修饰的变量称为受保护变量,可被声明它的类和派生的子类以及同一个包中的类访问。
由package修饰的变量称为包变量,在声明时常常省略package关键字。
包成员可被声明它的类和同一个包中的其它类(包括派生子类)所访问。
静态变量称为类变量,非静态变量称为实例变量。
相应地,静态方法称为类方法,非静态方法称为实例方法。
类中的常量成员一般定义为静态常量。
类的静态变量可以直接引用,静态方法只能使用静态变量,类的静态变量只有一个版本,所有实例对象引用的都是同一个版本。
一旦成员变量被声明为final,在程序运行中将不能被改变。
这样的成员变量就是一个常量。
对象的行为由类的方法实现。
方法被声明为最终方法后,将不能被子类覆盖,即最终方法能被子类继承和使用但不能在子类中修改或重新定义它。
所谓抽象方法是指不能实现的方法,因为它没有方法体。
系统定义的接口都是抽象类,里面的方法都是抽象方法。
如果方法没有返回值就用关键字void作为返回值类型。
同一个类中的方法同名现象在OOP中称为方法重载(overload)。
第五章
最顶端的类是Object,是所有类的始祖。
子类只能有一个父类。
如果省略了extends,子类的父类是Object。
所谓隐藏是指子类重新定义了父类中的同名变量。
如果子类的方法与父类方法同名,则不能继承,此时称子类的方法覆盖了父类的那个方法,简称为方法覆盖。
用来覆盖的子类方法应和被覆盖的父类方法保持同名、同返回值类型,以及相同的参数个数和参数类型。
部分覆盖是在原方法的基础上添加新的功能,即在子类的覆盖方法中添加一条语句:
super.原父类方法名,然后加入其它语句。
this实际代表的是当前类或对象本身。
调用父类的方法时必须加上super引用。
this()也可用来间接调用当前类或对象的构造方法。
类的多态性体现在方法的重载(overload)上,包括成员方法和构造方法的重载。
所谓接口可以看作是没有实现的方法和常量的集合。
在接口中定义的变量全部隐含为final和static,表明这些变量不能被实现接口方法的类改变,还必须设置初值。
如果接口为public的,则接口中的方法和变量也全部为public。
在Java语言中,不支持类的多重继承。
但是支持接口的多重继承。
当源程序中没有声明类所在的包时,Java将类放在默认包中,即运行编译器的当前文件夹中。
提供基本数学函数的是Math数学类。
用于字符串处理的是String类和StringBuffer类。
java.awt包提供了创建图形用户界面的全部工具。
java.applet是所有小应用程序的基础类库。
它只包含了一个Applet类。
第六章
Java的异常处理机制是用来处理程序运行时的错误的有效机制。
Java的异常处理机制分为两个步骤:
抛出异常(常由系统自动抛出)和捕获异常(由相应代码处理)
throws用来表明一个方法中可能抛出的各种异常,并说明该方法会抛出异常但不捕获的异常。
即使没有catch子句,finally语句块也会在执行了try语句块后立即被执行,并且finally子句总是在返回前执行。
不可检测的异常类是RuntimeException及其子类、Error及其子类。
编译器对不可检测的异常类不进行检查。
编译器对可检测的异常类进行检查,没有进行声明或捕获将出现编译错误。
自定义异常类型是从Exception类中派生的。
掌握异常处理代码的编写
–捕获处理异常(try……catch……finally)
–抛出异常(throw)
–声明抛出异常(throws)
第七章
什么是Applet?
–Applet是一种特殊的Java程序,经过编译后可被嵌入到HTML文件中,并由Web浏览器内置的Java解释器执行。
所有Applet都继承自同一个类:
java.applet.Applet,这个类是Java语言的基础类,有关Applet的所有特性都被定义在这个类中。
Applet可以从HTML的
java.lang有两个字符串类String和StringBuffer,封装了字符串的全部操作。
其中String用来处理创建以后不再改变的字符串,StringBuffer用来处理可变字符串。
Date主要用于创建日期对象并获取日期,Calendar可获取和设置日期,DateFormat主要用来创建日期格式化器。
第八章
所有的Swing组件都是JComponent抽象类的子类。
窗口容器JFrame是一个用来创建窗口的类,使用JFrame类可以创建出在用户桌面上显示的窗口,同时它也是一个顶层的容器框架,在其中可以添加各种组件。
对话框(Dialog类)是GUI中很常见的窗口对象,有着广泛的应用。
对话框和普通窗口最大的不同就是对话框可以依附在某个窗口上的,一旦它所依附的窗口关闭了,对话框也要随着关闭。
在对话框窗口中可以添加其他组件,所以它也是一个容器。
面板(JPanel类)是一个无边框的容器,可以包容其他组件或另一个面板对象。
面板与其他顶层容器不同,它是一个中间容器,它既是容器又是组件,它可以容纳其他组件,也可以添加到其他容器之中。
一个窗口中可以添加多个面板对象。
当容器不使用布局管理器时(setLayout(null)),它可以通过setBounds(x,y,w,h)方法设置其位置与大小。
书后编程题答案:
8-3创建一个可以移动、改变大小、最大化、可变成图标、包含内容面板的且可以关闭的JFrame窗口类“题8_3”。
importjavax.swing.*;
importjava.awt.*;
publicclass题8_3extendsJFrame
{
Containerc;
public题8_3()
{
super("图形用户界面");
setBounds(200,200,500,400);
c=getContentPane();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
publicstaticvoidmain(String[]args)
{
题8_3d=new题8_3();
}
}
8-4在题8_3创建的窗口中添加标签、按钮、文本区组件,分别放置在窗口的上、右、左、中部位。
importjavax.swing.*;
importjava.awt.*;
publicclass题8_4extendsJFrame
{
Containerc;
JLabellabel;
JButtonbutton1;
JTextAreata1;
JTextFieldt1;
public题8_4()
{
super("图形用户界面");
setBounds(200,200,500,400);
c=getContentPane();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
label=newJLabel("显示文字的标签");
button1=newJButton("命令按钮");
ta1=newJTextArea();
t1=newJTextField("输入文字的文本框",20);
c.add("North",label);
c.add("West",t1);
c.add("East",button1);
c.add("Center",ta1);
}
publicstaticvoidmain(String[]args)
{
new题8_4();
}
}
8-5为以上创建的窗口中的组件添加事件处理功能。
要求在文本框中输入字符串,当按下回车键或单击“命令”按钮时,将输入的文字显示在文本区中。
importjavax.swing.*;
importjava.awt.*;
importjava.awt.event.*;
publicclass题8_5extendsJFrameimplementsActionListener
{
Containerc;
JLabellabel;
JButtonbutton1;
JTextAreata1;
JTextFieldt1;
public题8_5()
{
super("图形用户界面");
setBounds(200,200,500,400);
c=getContentPane();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
label=newJLabel("显示文字的标签");
button1=newJButton("命令按钮");
ta1=newJTextArea();
t1=newJTextField("输入文字的文本框",20);
c.add("North",label);
c.add("West",t1);
c.add("East",button1);
c.add("Center",ta1);
button1.addActionListener(this);
}
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==button1)
ta1.append("你输入的文字是:
"+t1.getText()+"\n");
}
publicstaticvoidmain(String[]args)
{
new题8_5();
}
}
8-6在上面创建的窗口的下部添加一个选项按钮,并能通过它选择改变窗口的背景颜色。
importjavax.swing.*;
importjava.awt.*;
importjava.awt.event.*;
publicclass题8_6extendsJFrameimplementsActionListener,ItemListener
{
Containerc;
JLabellabel;
JButtonbutton1;
JTextAreata1;
JTextFieldt1;
JRadioButtonred,green,blue;
ButtonGroupbuttonGroup;
JPanelp;
public题8_6()
{
super("图形用户界面");
setBounds(200,200,500,400);
c=getContentPane();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
label=newJLabel("显示文字的标签");
button1=newJButton("命令按钮");
ta1=newJTextArea();
t1=newJTextField("输入文字的文本框",20);
c.add("North",label);
c.add("West",t1);
c.add("East",button1);
c.add("Center",ta1);
button1.addActionListener(this);
buttonGroup=newButtonGroup();
red=newJRadioButton("红色",true);
green=newJRadioButton("绿色");
blue=newJRadioButton("蓝色");
buttonGroup.add(red);
buttonGroup.add(green);
buttonGroup.add(blue);
p=newJPanel();
p.add(red);p.add(green);p.add(blue);
c.add("South",p);
red.addItemListener(this);
green.addItemListener(this);
blue.addItemListener(this);
}
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==button1)
ta1.append("你输入的文字是:
"+t1.getText()+"\n");
}
publicvoiditemStateChanged(ItemEventevent)
{
if(red.isSelected())c.setBackground(Color.red);
elseif(green.isSelected())c.setBackground(Color.green);
elsec.setBackground(Color.blue);
}
publicstaticvoidmain(String[]args)
{
new题8_6();
}
}
9-4创建一个名为“简单编辑器”的窗口,在窗口中添加一个带有滚动条的文本区。
importjavax.swing.*;
importjava.awt.*;
publicclass题9_4extendsJFrame
{
JTextAreajta;
Containerc;
题9_4(){
super("简单编辑器");
setSize(400,600);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
c=getContentPane();
jta=newJTextArea();
c.add(newJScrollPane(jta));
}
publicstaticvoidmain(String[]args)
{
new题9_4();
}
}
9-5在“简单编辑器”窗口中添加一个带有“文件”菜单(包含“打开”、“保存”、“退出”子菜单,菜单项之间加入分隔线)的菜单栏。
importjavax.swing.*;
importjava.awt.*;
publicclass题9_5extendsJFrame
{
JTextAreajta;
Containerc;
JMenuBarmb=newJMenuBar();
JMenum1=newJMenu("文件");
JMenuItemopen=newJMenuItem("打开");
JMenuItemsave=newJMenuItem("保存");
JMenuItemexit=newJMenuItem("退出");
题9_5(){
super("简单编辑器");
setSize(400,600);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
c=getContentPane();
jta=newJTextArea();
c.add(newJScrollPane(jta));
m1.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 复习题