收藏 分享(赏)

Java复习参考题.doc

上传人:HR专家 文档编号:11441628 上传时间:2020-04-28 格式:DOC 页数:15 大小:311.51KB
下载 相关 举报
Java复习参考题.doc_第1页
第1页 / 共15页
Java复习参考题.doc_第2页
第2页 / 共15页
Java复习参考题.doc_第3页
第3页 / 共15页
Java复习参考题.doc_第4页
第4页 / 共15页
Java复习参考题.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、说明:这是互联网1班的机密文档,不要随意外传,这里面的内容可能有些错误的,欢迎各位对这个文档进行修改,编程题有更好的方法的,也可以进行修改的了。最后成为完美的。这份文档仅供学习参考,不要只记答案,把原理搞明白啊。一些解释和填代码为蓝色或红色字体,希望好好看看,如果有修改的,在群里说或者自己发个修正版文档。题型及分数:单项选择题 (每小题2分,共30分)程序填空(每题5分,共20分)阅读程序(每小题10分,共20分)编程题(每小题10分,共30分)一、 选择题1、JAVA中提供了多种布局对象类。其中使用卡片式布局的是(D)。A.FlowLayout (流式布局) B.BoederLayout (

2、围界布局 顶层容器默的) C.BoxLayout (盒子布局 是swing的) D.CardLayout(卡片布局)补充:GridLayout(网格布局)2、Swing与AWT的区别不包括 (D)。A.Swing是由纯Java实现的轻量级构件 B.Swing没有本地代码 C.Swing不依赖操作系统的支持 D.Swing支持图形用户界面 (都是支持的)3、下列哪个选项是创建一个标识有关闭按钮的语句?(C)A.JTextField b = new JtextField(关闭); (文本框)B.JTextArea b = new JTextArea(关闭); (文本域)C.JButton b =

3、new Jbutton(关闭); (按钮)D.JCheckbox b = new Jcheckbox(关闭); (复选框) 补充:JPasswordField(口令输入域)、JLabel(标签) 、JComboBox(组合框)JList(列表框) 、JTable(表格) 、JMenu(菜单)、JDialog(对话框)JOptionPane(标准对话框)、JFileChooser(文件对话框)4、鼠标事件的监听器接口MouseListener能实现的事件不包括(D)。A.按下B.释放C.点击D.拖动补充:还有的是进入和离开事件窗口事件包括:关闭窗体、窗体失去焦点、获得焦点、最小化等 键盘事件包括

4、:按下键盘按键、放开键盘按键、敲击键盘按键5、每个使用Swing组件的程序必须至少有一个(B)。A. 按钮B. 顶层容器C. 标签D. 菜单6、在Java中,而无需在程序中用import导入的包是(D)。Ajava.applet Bjava.awtCjava.util DJava.lang (默认的)7、类Panel默认的布局管理器是(C)。 AGridLayout BBorderLayout(顶层容器默认的)CFlowLayout (Panel面板默认的) DCardLayout8、java中用于创建文件对象的类是(A)。AFile (文件) B. Object (对象) C. Thread

5、 (线程) D. Frame (框架)9、下列描述中,正确的是(C)。A在Serializable接口中定义了抽象方法B在Serializable接口中定义了常量 C在Serializable接口中没有定义抽象方法,也没有定义常量 D在Serializable接口中定义了成员方法 10、在读文件a.dat 时,能使用该文件名作为参数进行实例化的类是(D)。ABufferedReader BufferedReader(Reader in)BDataInputStream DataInputStream(InputStream in)CDataOutputStream DataOutputStre

6、am(OutputStream out)DFileInputStream FileInputStream(File file)11、凡是从中央处理器流向外部设备的数据流称为( D )。 A文件流 B字符流 C输入流 D输出流12、当线程被创建后,调用start()方法之前,其所处的状态是(C)。 A阻塞状态 B运行状态 (run) C就绪状态 D新建状态(new)13、下面哪个关键字可以对对象加互斥锁。(A)Asynchronized Btransient Cserialize Dstatic14、为了得到当前正在运行的线程,可使用下列哪个方法?(B)。AgetName() (获得名字)BTh

7、read.CurrentThread().Bsleep() (睡眠) Drun() (运行)15、ServerSocket的监听方法accept()的返回值类型是(C) Avoid BObject CSocket DDatagramSocket16、当使用客户端套接字Socket创建对象时,需要指定(A) A服务器主机名称和端口 B服务器端口和文件 C服务器名称和文件 D服务器地址和文件17、若要取得数据包的中源地址,可使用下列哪个方法?(A) AgetAddress() BgetPort() CgetName() (源文件名)DgetData() (日期)18、程序与数据库连接后,需要查看某

8、个表中的数据,使用下列哪个语句?(A)AexecuteQuery();(记录查询)BexecuteUpdate(); (记录操作)CexecuteEdit(); DexecuteSelect(); 二、程序填空1下面程序实现如下界面:import java.awt.*;class Qualification extends Frame Checkbox t1=new Checkbox(Visual Basic); Checkbox t2=new Checkbox(Visual C+); Checkbox t3=new Checkbox(Java); CheckboxGroup cg = new

9、 CheckboxGroup(); /复选框的组 Checkbox r1=new Checkbox(专科,cg,false); Checkbox r2=new Checkbox(本科,cg,false); Checkbox r3=new Checkbox(硕士,cg,false); Checkbox r4=new Checkbox(博士,cg,false); Label lb1=new Label(您的学历为: ); Label lb2=new Label(您精通的语言为: ); public Qualification(String s ) super(s); setLayout(new G

10、ridLayout(10, 1); /设置为网格布局10行一列 add(lb1);add(r1);add(r2);add(r3);add(r4);add(lb2);add(t1);add(t2);add(t3); public static void main(String args) Qualification q=new Qualification(学识!); /new 一个新对象q 标题是“学识!” q.setSize(400,250); q.show( ); 补充:这个程序主要是图形界面的基础,知道一些布局,知道一些组件使用方法,这些就差不多了。这个程序有点问题。程序网上地址:http

11、:/ java.awt.*;import java.io.*;public class BufferedReaderTest extends Frame public static void main(String args) String str; BufferedReaderTest test=new BufferedReaderTest(); TextArea ta=new TextArea(); try /建立一个BufferedReader流读取文件 BufferedReader breader=new BufferedReader(new FileReader(mytext.txt

12、); /对象要是文件 while(true) str=breader.readLine(); /读取一行文字 if(str=null) /读到文件结尾 break; ta.append(str+n); /将读到的文字列在TextArea里面 catch(IOException e) /捕获是否为文件未找到异常 test.add(ta,BorderLayout.CENTER); test.setSize(500,200); test.setVisible(true); /这是一道IO流的题目,要注意一些流的基本语法,而且要记住捕获的是IO异常3下面程序实现了文件拷贝功能,从file1.txt 把

13、文字复制到file2.txt。import java.io.*;public class filestream public static void main(String args) try File inFile=new File(file1.txt); /源文件 File outFile=new File(file2.txt);/新文件 FileInputStream fis=new FileInputStream(inFile); FileOutputStream fos=new FileOutputStream(outFile); int c; while(c=fis.read()!

14、=-1) fos.write(c); /新文件时写的,源文件是读的 fis.close(); fos.close(); catch(FileNotFoundException e) System.out.println(FileStreamsTest: +e); catch(IOException e) System.err.println(FileStreamsTest: +e);注意:文件读写流要注意,源文件是用来读(read)的,新文件用来写(write)的,不要弄错的了。4下面程序使用Swing设计一个窗口,窗口标题是“HelloSwing”,窗口包含一个标签“你好,Swing”。im

15、port javax.swing.*; public class HelloSwing public static void main(String args) JFrame frame = new JFrame(“HelloSwing”); /这个是窗体 JLabel label = new JLabel(“你好,Swing”); /这个是标签 frame.getContentPane().add(label); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(300,200); /设置窗体大小 fram

16、e.setVisible(true); 三、读程序写结果1、import java.io.*; public class CharInput public static void main(String args) throws java.io.IOException String s; inputStreamReader ir; BufferedReader in; ir=new inputStreamReader(System.io); in=new BufferedReader ir); while (s=in. readLine()!=null) System.out.println(

17、“Read;”+s); 输出结果为:Read:+(s的内容,就是键盘输入的)2、import java.io.*; import java.util.Date; public class UnSerializeDate UnSerializeDate() Date d=null; try FileInputStream f=newFileInputStream (“date.ser”); ObjectInputStream s=new ObjectInputStream(f); d=(Date) s.readObject(); f.close(); catch(Exception e) e.p

18、rintStackTrace(); System.out.println(“Unserialized Date object from date.set”); System.out.println(“Date:”+d); public static void main(String args) new UnSerializeDate(); 结果:会把date.ser文件里的内容读出来 补充:这个程序如何传参的:这个程序中main方法中没有传参数。而FileInputStream f = new FileInputStream (date.ser);在构造的时候,其中参数date.ser是与这个

19、程序在同一个目录下的一个文件的名字。这样就可以通过 f 来读这个文件中的内容。而ObjectInputStream s = new ObjectInputStream (f); 这个是对象的反序列化,就是可以把一“序列化”到文件中的对象读出来。四、程序设计1、编写一个Java程序实现多线程,在线程中输出线程的名字,隔300毫秒输出一次,共输出20次。源代码:public class si1 extends Threadpublic static void main(String args) Thread si = new Thread20; /线程创建 for(int i = 0; i 20;

20、 i+) /为了次数的限制sii = new Thread(); sii.start(); /线程就绪 System.out.println(sii.getName(); System.out.println(线程睡眠300毫秒); try Thread.sleep(300); /线程睡眠 catch (InterruptedException e) / TODO 自动生成的 catch 块e.printStackTrace(); 2. 编写程序,在屏幕上显示带标题的窗口,并添加一个按钮。当用户单击按钮时,结束程序。源代码:import java.awt.*;import java.awt.e

21、vent.*;import javax.swing.*;public class si2 private JFrame loginFrame = null; private JPanel loginPanel = null; private JPanel buttonPanel = null; private JButton submit = null; private void init() loginFrame = new JFrame(退出); loginPanel = new JPanel(); buttonPanel = new JPanel(); submit = new JBut

22、ton(退出); loginFrame.setLayout(new GridLayout(3,1); loginFrame.add(buttonPanel); buttonPanel.add(submit); submit.addActionListener(new ButtonListener(); loginFrame.pack(); loginFrame.setLocation(400, 300); loginFrame.setSize(500,300); loginFrame.setVisible(true); loginFrame.setAlwaysOnTop(true); priv

23、ate class ButtonListener implements ActionListener /监听按钮的 public void actionPerformed(ActionEvent event) String command = event.getActionCommand(); if(退出.equals(command) System.exit(0); public static void main(String args) new si2().init(); 3 编写程序实现窗口,包含一个标签、一个文本框和一个按钮,当用户单击按钮时,程序把文本框中的内容复制到标签中。源代码:

24、import java.awt.*;import java.awt.event.*;import javax.swing.*;public class si3 private JFrame loginFrame = null; private JPanel loginPanel = null; private JPanel wenziPanel = null; private JPanel biaoPanel = null; private JPanel buttonPanel = null; private JTextField wenziField = null; private JLab

25、el wenziLabel = null; private JButton submit = null; private void init() loginFrame = new JFrame(复制界面); loginPanel = new JPanel(); wenziPanel = new JPanel(); biaoPanel = new JPanel(); buttonPanel = new JPanel(); wenziField = new JTextField(15); wenziLabel = new JLabel(准备复制); submit = new JButton(复制)

26、; loginFrame.setLayout(new GridLayout(3,1); loginFrame.add(wenziPanel); loginFrame.add(biaoPanel); loginFrame.add(buttonPanel); biaoPanel.add(wenziLabel); wenziPanel.add(wenziField); buttonPanel.add(submit); submit.addActionListener(new ButtonListener(); loginFrame.pack(); loginFrame.setLocation(400

27、, 300); loginFrame.setSize(500,300); loginFrame.setVisible(true); loginFrame.setAlwaysOnTop(true); private class ButtonListener implements ActionListener public void actionPerformed(ActionEvent event) String command = event.getActionCommand(); String str= wenziField.getText(); if(复制.equals(command)

28、wenziLabel.setText(str); public static void main(String arg) new si3().init(); 4 使用Socket技术,编写服务器端和客户端程序,实现服务器端和客户端的通信。服务器端接受客户端发送来的信息并回显,直到客户端发送结束标记END;客户端向服务器发送信息,并接受服务器端返回来的消息,并且回显。源代码: 客户端:import java.io.*;import .*;import java.util.*;public class SocketClientTest public static void main(String

29、args) try Socket clientSocket = new Socket(localhost, 1688); InputStream inData = clientSocket.getInputStream(); OutputStream outData = clientSocket.getOutputStream(); PrintWriter toServer = new PrintWriter(outData, true); Scanner sc = new Scanner(System.in); Scanner data = new Scanner(inData); Stri

30、ng heading = data.nextLine(); System.out.println(heading); while (sc.hasNextLine() String line = sc.nextLine(); toServer.println(line); String fromServer = data.nextLine(); System.out.println(fromServer); if (fromServer.equals(Bye!) System.out.println(Stop.); break; clientSocket.close(); catch (IOEx

31、ception e) e.printStackTrace(); 服务器:import java.io.*;import .*;import java.util.*;public class SocketServerTest public static void main(String args) System.out.println(欢迎来,服务器已启动了啊!.);try ServerSocket server = new ServerSocket(1688); Socket fromClient = server.accept(); System.out.println(Connected

32、to the client.); InputStream inData = fromClient.getInputStream(); OutputStream outData = fromClient.getOutputStream(); PrintWriter toClient = new PrintWriter(outData, true); toClient.println(服务器:Begin。); Scanner data = new Scanner(inData); while (data.hasNextLine() String line = data.nextLine(); if (line.equalsIgnoreCase(END) server.close();toClient.println(Bye!);break; toClient.println(服务器为您服务!); catch (IOException e) e.printStackTrace(); 运行结果:启动服务器:启动客户端:对话:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > 计算机原理

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报