Java语言程序设计一自考题模拟22.docx
《Java语言程序设计一自考题模拟22.docx》由会员分享,可在线阅读,更多相关《Java语言程序设计一自考题模拟22.docx(17页珍藏版)》请在冰豆网上搜索。
![Java语言程序设计一自考题模拟22.docx](https://file1.bdocx.com/fileroot1/2023-6/19/39dc1220-58e1-4584-8277-62cf111616c5/39dc1220-58e1-4584-8277-62cf111616c51.gif)
Java语言程序设计一自考题模拟22
Java语言程序设计
(一)自考题模拟22
第Ⅰ部分选择题
一、单项选择题
(在每小题列出的四个备选项中只有一个是符合题目要求的。
)
1.在java.awt.evenf包中用来检测并对事件做出反应的模型不包括______
A.源对象
B.监视器对象
C.事件对象
D.事件方法
答案:
D
[考点]本题主要考查的知识点为事件驱动程序设计相关概念。
[解答]在java.awt.event包中用来检测并对事件做出反应的模型包括以下三个组成元素:
(1)源对象:
事件“发生”在这个组件上,它与一组“侦听”该事件的对象保持着联系。
(2)监视器对象:
是一个实现预定义接口的类的一个对象,该对象的类要提供对发生的事件作处理的方法。
(3)事件对象:
它包含描述当事件发生时从源传递给监视器的特定事件的信息。
2.在Java语言中,JPanel是一种通用容器,它的默认布局为______
A.FlowLayout
B.GridBagLayout
C.CardLayout
D.GridLayout
答案:
A
[考点]本题主要考查的知识点为面板及布局。
[解答]常用的布局类:
FlowLayout为依次放置组件;BorderLayout将组件放置在边界上;CardLayout将组件像扑克牌一样叠放,而每次只能显示其中的一个组件;GridLayout将显示区域按行、列划分成一个个大小相等的格子,组件依次放入这些格子中;GridBagLayout能进行更精细的位置控制。
本题选择A项。
3.在Java语言中,JTextField类用来建立文本框,与文本框相关的接口是______
A.ActionListener
B.MouseListener
C.WindowListener
D.ItemListener
答案:
A
[考点]本题主要考查的知识点为文本框及其接口。
[解答]与文本框相关的接口是ActionListener,使用addActionListener为文本框设置动作监视器,指定ActionListener对象接收该文本框上发生的输入结束动作事件。
4.在Java语言中,显示文字的方法主要有三种,其中在指定位置显示字符串的方法是______
A.drawString()
B.drawChars()
C.drawBytes()
D.drawStrings()
答案:
A
[考点]本题主要考查的知识点为Java语言显示文字的方法。
[解答]
(1)drawString(Stringstr,intx,inty),在指定位置显示字符串。
(2)drawChars(chardata[],intoffset,intlength,intx,inty),在指定位置显示字符数组中的指定文字。
(3)drawBytes(bytedata[],intoffset,intlength,intx,inty),在指定位置显示字节数组中的指定文字。
5.在Java语言中,文字字型有三个要素,分别是______
A.字体、字形和字号
B.字形、颜色和字号
C.字体、风格和字号
D.字体、字形和颜色
答案:
C
[考点]本题主要考查的知识点为Java语言中文字字型的三要素。
[解答]文字字型有三个要素:
字体、风格和字号。
常用的字体有TimesNewRoman、Symbol、宋体和楷体等。
常用的风格有正常、粗体和斜体,分别用三个常量表示:
Font.PLAIN、Font.BOLD和Font.ITALIC。
风格可以组合使用。
字号是字的大小,单位是磅。
6.有Java对象定义:
Graphicsg;,下面能画出一个圆的语句是______
A.g.drawOval(300,300,200,200);
B.g.drawRect(300,300,200,200);
C.g.drawOval(300,300,200);
D.g.drawArc(300,300,200);
答案:
A
[考点]本题主要考查的知识点为Java语言中画圆形的方法。
[解答]drawOval(intx,inty,intwidth,intheight)是画用线围成的椭圆形,其中参数x和y指定椭圆形左上角的位置,参数width和height是横轴和纵轴,要画圆形需要横轴和纵轴相等。
7.Java语言的图像处理功能被封装在______类中。
A.Picture
B.Image
C.picture
D.image
答案:
B
[考点]本题主要考查的知识点为Java语言中的图像处理。
[解答]Java语言支持GIF、JPEG和BMP三种主要图像文件格式。
Java语言的图像处理功能被封装在Image类中。
在Java程序中,图像也是对象,所以载入图像时,先要声明Image对象,然后利用getImage()方法把Image对象与图像文件联系起来。
8.Java语言支持的音频格式有多种,小程序要播放音频文件,可以使用的类是______
A.AudioClip
B.Audio
C.Clip
D.Java.Clip
答案:
A
[考点]本题主要考查的知识点为Java语言播放音频文件。
[解答]Java语言支持的音频格式有多种,小程序要播放音频文件,可使用类AudioClip,该类在java.applet.AudioClip类库中定义。
9.为Java的8位字节流数据的读和写操作提供支持的类分别是______
A.Input类和Output类
B.FilelnputStream类和FileOutputStream类
C.Reader类和Writer类
D.FileReader类和FileWriter类
答案:
B
[考点]本题主要考查的知识点为Java语言中的字符流和字节流。
[解答]为Java的8位字节流数据的读和写操作提供支持的类分别是FilelnputStream类和FileOutputStream类,它们分别是InputStream类和OutputStream类的子类;为Java的16位Unicode字符流数据的读和写操作提供支持的类分别是FileReader类和FileWriter类,它们分别是Reader类和Writer类的子类。
10.在编写访问数据库的Java程序过程中,用来处理驱动程序的加载和建立新数据库连接的类是______
A.Connection类
B.Statement类
C.DriverManager类
D.ResultSet类
答案:
C
[考点]本题主要考查的知识点为访问数据库的Java程序涉及到的类。
[解答]Connection类用于处理与特定数据库的连接;Statement类用于在指定的连接中处理SQL语句;DriverManager类处理驱动程序的加载和建立新数据连接;ResultSet类用于处理SQL语句执行后的查询结果。
第Ⅱ部分非选择题
二、填空题
1.______布局是把容器内的空间简单地划分为东西南北中五个区域。
答案:
BorderLayout
2.在Java语言中,创建一个菜单条对象menuobj的代码是______。
答案:
JMenuBarmenuobj=newJMenuBar();
3.Java语言为处理鼠标事件提供两个接口:
MouseListener接口和______接口。
答案:
MouseMotionListener
4.Java语言中,实现KeyListener接口的方法有:
keyPressed(KeyEvente)、keyReleased(KeyEvente)和______。
答案:
keyTyped(KeyEvente)
5.在Java程序中有如下设置:
setBaekground(Color.blue);g.setXORMode(Color.red);g.setColor(Color.blue);g.drawLine(300,300,500,500);,则线的颜色是______。
答案:
红色
6.当图像信息量较大时,采用直接显示的方法,可能会出现斑驳现象,为了提高显示效果,许多应用程序都采用______技术。
答案:
图像缓冲
7.Java语言中控制声音的播放有三个方法:
play()、stop()和______。
答案:
100p()
8.线程在生命周期中要经历5种状态,分别是新建状态、就绪状态、运行状态、______状态和死亡状态。
答案:
阻塞
9.在Java程序中要设置打开文件对话框的文件筛选条件,应该继承______类,编写一个实现类,实现accept(Filef)与getDescription()两个方法。
答案:
FileFilter
10.在Java语言中,服务器端使用的套接字类是______。
答案:
ServerSocket
三、简答题
(每小题3分,共18分)
1.简述Java语言编写事件处理程序的主要方案。
答案:
(1)一个是程序重设方法handleEvent(Eventevt)。
(2)一个是程序实现一些系统设定的接口。
2.简述JDialog类常用的构造方法。
答案:
(1)JDialog(),构造一个初始不可见的非强制型对话框。
(2)JDialog(JFramef,Strings),构造一个初始不可见的非强制型对话框,参数f设置对话框所依赖的窗口,参数s用于设置标题。
(3)JDialog(JFramef,Strings,booleanb),构造一个标题为s,初始不可见的非强制型对话框,参数f设置对话框所依赖的窗口,参数b决定对话框是否强制型或非强制型。
3.请写出一条语句,能够画一个三维矩形线框,已知矩形的左上顶点(100,200)和右下顶点(500,400),设调用的对象是Graphicsg。
答案:
g.draw3DRect(100,200,400,200,true);
4.简述线程从阻塞状态恢复到就绪状态的途径。
答案:
(1)自动恢复(例如:
sleep时间到、I/O操作完成)。
(2)用resume()方法恢复。
(3)用notify()或notifyAll()方法通知恢复。
5.对Java程序而言,输入/输出主要包括哪三个方面。
答案:
(1)对外设通道的输入和输出。
(2)对文件的读和写。
(3)对网络数据的读和写。
6.简述使用Java语言进行数据库操作,插入数据表记录的方案。
答案:
插入数据表记录有3种方案。
(1)使用Statement对象。
实现插入数据表记录的SQL语句的语法是:
insertinto表名(字段名1,字段名2,……)
value(字段值1,字段值2,……)
(2)使用ResultSet对象。
使用ResultSet对象的方法moveToInsertRow()将数据表游针移到插入位置,输入数据后,用方法insertRow()插入记录。
(3)使用PrepareStatement对象。
与使用Statement对象的方法类似,只是创建SQL语句时,暂时用参数?
表示值,然后由SQL语句对象生成PrepareStatement对象,插入时通过设定实际参数,实现记录的更新。
四、程序填空题
(每空2分,共20分)
1.阅读并完成程序。
publicclassClass27
{
intm,n;
public______{}
public______{m=a;}
publicstaticvoidmain(Stringargs[])
{
Class27t1,t2;
intj=0;
t1=newClass27();
t2=newClass27(j);
}
}
答案:
Class27()
Class27(inta)
2.卞面程序运行后显示一个窗口,在窗口中有一个按钮,请完成程序。
importjavax.swing.*;
publicClassClass28
{
publicstaticvoidmain(String[]args)
{
JFramemw=newJFrame("我的窗口");
mw.setSize(300,400);
JButtonbutton=newJButton("我是按钮");
mw.______.add(button);
mw.______;
}
}
答案:
getContentPane()
setVisible(true)
3.某程序的界面包含一个列表(允许多选),一个文本区。
当在列表中选中若干项后,文本区中显示列表中所有选中的项目名称。
这里给出部分代码如下:
importjava.awt.*;
importjavax.swing.*;
importjavax.swing.event.*;
DublicclassClass29implementsListSelectionListener
{
JListlist1;
JFramemywin;
JTextAreatext;
Stringnews[]={"人民日报","河南日报","郑州晚报","大河报"};
Panelp=newPanel();
publicClass29(Strings)
{
mywin=newJFrame();
Containercon=mywin.getContentPane();
list1=newJList(news);
list1.______;//设置列表选择模型为多选
list1.addListSelectionListener(this);
text=newJTextArea(10,20);
p.add(list1);
p.add(text);
mywin.add(p);
mywin.pack();
mywin.setVisible(true);
}
publicvoidvalueChanged(ListSelectionEvente)
{
intlisttmp[]=list1.getSelectedIndices();
for(inti=0;i<______;i++)
text.append(news[(listtmp[i])+'\n');
}
}
答案:
setSelectionMode(ListSelectionModel.SINGLE_SELECTION)
listtmp.length
4.下面程序的主线程创建10个线程,它们都取变量的值,经累加后,将新值存回到变量且要求结果正确。
classMyResourceClass
{
intIntegerResource;
MyResourceClass(){IntegerResource=0;}
publicintgetInfo(){returnIntegerResource;}
publicvoidputInfo(intinfo){IntegerResource=info;}
______voidsumResource(intq)
{
intLocalInteger;
LocalInteger=getInfo();
LocalInteger+=q;
putInfo(LocalInteger);
}
}
classMyMultiThreadClassimplementsRunnable
{
MvResourceClassUseInteger;
MvMultiThreadClass(MyResourceClassmrc)
{
UseInteger=mrc;
}
publicvoidrun()
{
for(inti=0;i<100;i++)
{
UseInteger.sumResource(50);
}
}
}
publicclassClass30
{
publicstaticvoidmain(String[]args)
{
MyResourceClassmrc=newMyResourceClass();
ThreadaThreadArray[]=newThread[10];
System.out.println(mrc.getInfo());
System.out.println("wait...");
for(inti=0;i<10;i++)
{
aThreadArray[i]=newThread(newMyMultiThreadClass(mrc));
aThreadArray[i].______;
}
whileLoop:
while(true)
{
for(inti=0;i<10;i++)
if(aThreadArray[i].isAlive())continuewhileLoop;
break;
}
System.out.println("jieguo="+mrc.getInfo());
}
}
答案:
synchronized
start()
5.下面程序的功能是在监控台上每隔一秒钟显示一个字符串“Hello!
”。
publicclassClass31implementsRunnable
{
publicstaticvoidmain(Stringargs[])
{
Class31t=newClass31();
Threadtt=newThread(t);
tt.start();
}
publicvoidrun()
{
for(;;)
{
try{
______;
}catch(______){}
System.out.println("Hello");
}
}
}
答案:
Thread.sleep(1000)
InterruptedExceptione
五、程序分析题
(每小题4分,共20分)
1.阅读下列程序,请写出该程序的功能。
importjava.awt.*;
importjavax.swing.*;
publicclassClass32
{publicstaticvoidmain(String[]args)
{
JFrameframe=newJFrame("登录对话框");
TextFieldid=newTextField(12);
TextFieldpw=newTextField(12);
JButtonlogin=newJButton("登录");
JButtoncancel=newJButton("取消");
pw.setEchoChar('*');
frame.setLayout(newGridLayout(3,2));
frame.add(newJLabel("ID:
",JLabel.RIGHT));
frame.add(id);
frame.add(newJLabel("密码:
",JLabel.CENTER));
frame.add(pw);
frame.add(login);
frame.add(cancel);
frame.pack();
frame.setVisible(true);
}
}
答案:
程序的功能是运行后得到如下窗口:
2.阅读下列程序,请写出该程序的功能。
importjava.awt.*;
importjavax.swmg.*;
publicclassClass33
{publicstaticvoidmain(String[]args)throwsException
{
JFrameflame=newJFrame("调制颜色");
JPanelpColor=newJPanel();
JLabellColor=newJLabel("0,0,0");
pColor.setBackground(newColor(0,0,0));
JScrollBarsRed=newJScrollBar(JScrollBar.HORIZONTAL,0,1,0,256);
JScrollBarsGreen=newJScrollBar(JScrollBar.HORIZONTAL,0,1,0,256);
JScrollBarsBule=newJScrollBar(JScrollBar.HORIZONTAL,0,1,0,256);
frame.setLayout(newGridLayout(5,1));
frame.add(pColor);
frame.add(lColor);
frame.add(sRed);frame.add(sGreen);
frame.add(sBule);
frame.pack();
frame.setVisible(true);
Colorcol;
intnRed,nGreen,nBule;
while(true)
{
nRed=sRed.getValue();
nGreen=sGreen.getValue();
nBule=sBule.getValue();
col=newColor(nRed,nGreen,nBule);
pColor.setBackground(col);
lColor.setText(nRed+","+nGreen+","+nBule);
Thread.sleep(100);
}
}
}
答案:
程序的功能是运行后得到如下窗口:
拖动三个滑块,可组合得到新的颜色。
3.阅读下列程序,请写出该程序的功能。
importjava.io.*;
publicclassClass34
{
publicstaticvoidmain(String[]args)
{
FileinputFile=newFile("filel.txt");
FileoutputFile=newFile("file2.txt");
intch;
try
{
FileRea