Java复习参考题汇编.docx
- 文档编号:6264556
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:17
- 大小:183.61KB
Java复习参考题汇编.docx
《Java复习参考题汇编.docx》由会员分享,可在线阅读,更多相关《Java复习参考题汇编.docx(17页珍藏版)》请在冰豆网上搜索。
Java复习参考题汇编
说明:
这是互联网1班的机密文档,不要随意外传,这里面的内容可能有些错误的,欢迎各位对这个文档进行修改,编程题有更好的方法的,也可以进行修改的了。
最后成为完美的。
这份文档仅供学习参考,不要只记答案,把原理搞明白啊。
一些解释和填代码为蓝色或红色字体,希望好好看看,如果有修改的,在群里说或者自己发个修正版文档。
题型及分数:
单项选择题(每小题2分,共30分)
程序填空(每题5分,共20分)
阅读程序(每小题10分,共20分)
编程题(每小题10分,共30分)
一、选择题
1、JAVA中提供了多种布局对象类。
其中使用卡片式布局的是( D )。
A.FlowLayout(流式布局)B.BoederLayout(围界布局顶层容器默的)
C.BoxLayout(盒子布局是swing的)D.CardLayout(卡片布局)
补充:
GridLayout(网格布局)
2、Swing与AWT的区别不包括( D )。
A.Swing是由纯Java实现的轻量级构件
B.Swing没有本地代码
C.Swing不依赖操作系统的支持
D.Swing支持图形用户界面(都是支持的)
3、下列哪个选项是创建一个标识有"关闭"按钮的语句?
( C )
A.JTextFieldb=newJtextField("关闭");(文本框)
B.JTextAreab=newJTextArea("关闭");(文本域)
C.JButtonb=newJbutton("关闭");(按钮)
D.JCheckboxb=newJcheckbox("关闭");(复选框)
补充:
JPasswordField(口令输入域)、JLabel(标签)、JComboBox(组合框)
JList(列表框)、JTable(表格)、JMenu(菜单)、JDialog(对话框)
JOptionPane(标准对话框)、JFileChooser(文件对话框)
4、鼠标事件的监听器接口MouseListener能实现的事件不包括( D )。
A.按下B.释放
C.点击D.拖动
补充:
还有的是进入和离开事件
窗口事件包括:
关闭窗体、窗体失去焦点、获得焦点、最小化等
键盘事件包括:
按下键盘按键、放开键盘按键、敲击键盘按键
5、每个使用Swing组件的程序必须至少有一个( B )。
A.按钮B.顶层容器C.标签D.菜单
6、在Java中,而无需在程序中用import导入的包是( D )。
A.java.appletB.java.awt
C.java.utilD.Java.lang(默认的)
7、类Panel默认的布局管理器是( C )。
A.GridLayout B.BorderLayout (顶层容器默认的)
C.FlowLayout (Panel面板默认的)D.CardLayout
8、java中用于创建文件对象的类是( A )。
A.File(文件)B.Object(对象)
C.Thread(线程)D.Frame(框架)
9、下列描述中,正确的是( C )。
A.在Serializable接口中定义了抽象方法
B.在Serializable接口中定义了常量
C.在Serializable接口中没有定义抽象方法,也没有定义常量
D.在Serializable接口中定义了成员方法
10、在读文件a.dat时,能使用该文件名作为参数进行实例化的类是( D )。
A.BufferedReaderBufferedReader(Readerin)
B.DataInputStreamDataInputStream(InputStreamin)
C.DataOutputStreamDataOutputStream(OutputStreamout)
D.FileInputStreamFileInputStream(Filefile)
11、凡是从中央处理器流向外部设备的数据流称为( D)。
A.文件流B.字符流
C.输入流D.输出流
12、当线程被创建后,调用start()方法之前,其所处的状态是( C )。
A.阻塞状态B.运行状态(run)C.就绪状态D.新建状态(new)
13、下面哪个关键字可以对对象加互斥锁。
( A )
A.synchronizedB.transientC.serializeD.static
14、为了得到当前正在运行的线程,可使用下列哪个方法?
( B )。
A.getName()(获得名字)B.Thread.CurrentThread().
B.sleep()(睡眠)D.run()(运行)
15、ServerSocket的监听方法accept()的返回值类型是( C )
A.voidB.ObjectC.SocketD.DatagramSocket
16、当使用客户端套接字Socket创建对象时,需要指定( A )
A.服务器主机名称和端口B.服务器端口和文件
C.服务器名称和文件D.服务器地址和文件
17、若要取得数据包的中源地址,可使用下列哪个方法?
( A )
A.getAddress()B.getPort()
C.getName()(源文件名)D.getData()(日期)
18、程序与数据库连接后,需要查看某个表中的数据,使用下列哪个语句?
( A )
A.executeQuery();(记录查询)B.executeUpdate();(记录操作)
C.executeEdit();D.executeSelect();
二、程序填空
1.下面程序实现如下界面:
importjava.awt.*;
classQualificationextendsFrame{
Checkboxt1=newCheckbox("VisualBasic");
Checkboxt2=newCheckbox("VisualC++");
Checkboxt3=newCheckbox("Java");
CheckboxGroupcg=newCheckboxGroup();//复选框的组
Checkboxr1=newCheckbox("专科",cg,false);
Checkboxr2=newCheckbox("本科",cg,false);
Checkboxr3=newCheckbox("硕士",cg,false);
Checkboxr4=newCheckbox("博士",cg,false);
Labellb1=newLabel("您的学历为:
");
Labellb2=newLabel("您精通的语言为:
");
publicQualification(Strings){
super(s);
setLayout(newGridLayout(10,1));//设置为网格布局10行一列
add(lb1);
add(r1);add(r2);add(r3);add(r4);
add(lb2);
add(t1);add(t2);add(t3);
}
publicstaticvoidmain(Stringargs[]){
Qualificationq=new Qualification("学识!
");
//new一个新对象q标题是“学识!
”
q.setSize(400,250);
q.show();
}
}
补充:
这个程序主要是图形界面的基础,知道一些布局,知道一些组件使用方法,这些就差不多了。
这个程序有点问题。
程序网上地址:
2.下面程序从mytest.txt文件中读取字符,将读到的文字列在TextArea里面。
importjava.awt.*;
importjava.io.*;
publicclassBufferedReaderTestextendsFrame{
publicstaticvoidmain(Stringargs[]){
Stringstr;
BufferedReaderTesttest=newBufferedReaderTest();
TextAreata=newTextArea();
try{ //建立一个BufferedReader流读取文件
BufferedReaderbreader=new
BufferedReader(newFileReader(mytext.txt));//对象要是文件
while(true){
str=breader.readLine(); //读取一行文字
if(str==null) //读到文件结尾
break;
ta.append(str+"\n"); //将读到的文字列在TextArea里面
}
}
catch(IOExceptione){ //捕获是否为文件未找到异常
}
test.add(ta,BorderLayout.CENTER);
test.setSize(500,200);
test.setVisible(true);
}
}
//这是一道IO流的题目,要注意一些流的基本语法,而且要记住捕获的是IO异常
3.下面程序实现了文件拷贝功能,从file1.txt把文字复制到file2.txt。
importjava.io.*;
publicclassfilestream{
publicstaticvoidmain(Stringargs[]){
try{
FileinFile=newFile(file1.txt);//源文件
FileoutFile=newFile(file2.txt);//新文件
FileInputStreamfis=new FileInputStream(inFile);
FileOutputStreamfos=newFileOutputStream(outFile);
intc;
while((c=fis.read())!
=-1)
fos.write(c);//新文件时写的,源文件是读的
fis.close();
fos.close();
}
catch(FileNotFoundExceptione){
System.out.println("FileStreamsTest:
"+e);
}
catch(IOExceptione){
System.err.println("FileStreamsTest:
"+e);}}
}
注意:
文件读写流要注意,源文件是用来读(read)的,新文件用来写(write)的,不要弄错的了。
4.下面程序使用Swing设计一个窗口,窗口标题是“HelloSwing”,窗口包含一个标签“你好,Swing”。
importjavax.swing.*;
publicclassHelloSwing{
publicstaticvoidmain(String[]args){
JFrameframe=newJFrame(“HelloSwing”);//这个是窗体
JLabellabel=newJLabel(“你好,Swing”);//这个是标签
frame.getContentPane().add(label);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300,200);//设置窗体大小
frame.setVisible(true);
}
}
三、读程序写结果
1、importjava.io.*;
publicclassCharInput
{
publicstaticvoidmain(Stringargs[])throwsjava.io.IOException
{
Strings;
inputStreamReaderir;
BufferedReaderin;
ir=newinputStreamReader(System.io);
in=newBufferedReaderir);
while((s=in.readLine())!
=null)
{
System.out.println(“Read;”+s);
}
}
}
输出结果为:
Read:
+(s的内容,就是键盘输入的)
2、importjava.io.*;
importjava.util.Date;
publicclassUnSerializeDate
{
UnSerializeDate()
{
Dated=null;
try
{
FileInputStreamf=new
FileInputStream(“date.ser”);
ObjectInputStreams=new
ObjectInputStream(f);
d=(Date)s.readObject();
f.close();
}
catch(Exceptione)
{
e.printStackTrace();
}
System.out.println(“UnserializedDateobjectfromdate.set”);
System.out.println(“Date:
”+d);
}
publicstaticvoidmain(Stringargs[])
{
newUnSerializeDate();
}
}
结果:
会把date.ser文件里的内容读出来
补充:
这个程序如何传参的:
这个程序中main方法中没有传参数。
而FileInputStreamf=newFileInputStream("date.ser");在构造的时候,其中参数"date.ser"是与这个程序在同一个目录下的一个文件的名字。
这样就可以通过f来读这个文件中的内容。
而ObjectInputStreams=newObjectInputStream(f);这个是对象的反序列化,就是可以把一“序列化”到文件中的对象读出来。
四、程序设计
1、编写一个Java程序实现多线程,在线程中输出线程的名字,隔300毫秒输出一次,共输出20次。
源代码:
publicclasssi1extendsThread{
publicstaticvoidmain(String[]args){
Thread[]si=newThread[20];//线程创建
for(inti=0;i<20;i++){//为了次数的限制
si[i]=newThread();
si[i].start();//线程就绪
System.out.println(si[i].getName());
System.out.println("线程睡眠300毫秒");
try{
Thread.sleep(300);//线程睡眠
}catch(InterruptedExceptione){
//TODO自动生成的catch块
e.printStackTrace();
}
}
}
}
2.编写程序,在屏幕上显示带标题的窗口,并添加一个按钮。
当用户单击按钮时,结束程序。
源代码:
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
publicclasssi2{
privateJFrameloginFrame=null;
privateJPanelloginPanel=null;
privateJPanelbuttonPanel=null;
privateJButtonsubmit=null;
privatevoidinit(){
loginFrame=newJFrame("退出");
loginPanel=newJPanel();
buttonPanel=newJPanel();
submit=newJButton("退出");
loginFrame.setLayout(newGridLayout(3,1));
loginFrame.add(buttonPanel);
buttonPanel.add(submit);
submit.addActionListener(newButtonListener());
loginFrame.pack();
loginFrame.setLocation(400,300);
loginFrame.setSize(500,300);
loginFrame.setVisible(true);
loginFrame.setAlwaysOnTop(true);
}
privateclassButtonListenerimplementsActionListener{
//监听按钮的
publicvoidactionPerformed(ActionEventevent){
Stringcommand=event.getActionCommand();
if("退出".equals(command)){
System.exit(0);
}
}
}
publicstaticvoidmain(String[]args){
newsi2().init();
}
}
3.编写程序实现窗口,包含一个标签、一个文本框和一个按钮,当用户单击按钮时,程序把文本框中的内容复制到标签中。
源代码:
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
publicclasssi3{
privateJFrameloginFrame=null;
privateJPanelloginPanel=null;
privateJPanelwenziPanel=null;
privateJPanelbiaoPanel=null;
privateJPanelbuttonPanel=null;
privateJTextFieldwenziField=null;
privateJLabelwenziLabel=null;
privateJButtonsubmit=null;
privatevoidinit(){
loginFrame=newJFrame("复制界面");
loginPanel=newJPanel();
wenziPanel=newJPanel();
biaoPanel=newJPanel();
buttonPanel=newJPanel();
wenziField=newJTextField(15);
wenziLabel=newJLabel("准备复制");
submit=newJButton("复制");
loginFrame.setLayout(newGridLayout(3,1));
loginFrame.add(wenziPanel);
loginFrame.add(biaoPanel);
loginFrame.add(buttonPanel);
biaoPanel.add(wenziLabel);
wenziPanel.add(wenziField);
buttonPanel.add(submit);
submit.addActionListener(newButtonListener());
loginFrame.pack();
loginFrame.setLocation(400,300);
loginFrame.setSize(500,300);
loginFrame.setVisible(true);
loginFrame.setAlwaysOnTop(true);
}
privateclassButtonListenerimplementsActionListener{
publicvoidactionPerformed(ActionEventevent){
Stringcommand=event.getActionCommand();
Stringstr=wenziField.getText();
if("复制".equals(command))
wenziLabel.setText(str);
}
}
publicstaticvoidmain(String[]arg){
newsi3().init();
}
}
4.使用So
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 复习 参考 汇编