Java复习资料-.pdf
1 一、单项选择题12、执行完语句int x=new int 25;后,则下列哪项说法是正确的?(A)x24值为 0(B)x24值未定义(C)x 25值为 0(D)x0值为空13、在 Java 中,若要使用一个包中的类时,首先要求对该包进行导入,其关键字是()(A)import(B)package(C)include(D)packet 14、下列叙述中,正确的是()(A)Java语言的标识符是区分大小写的(B)源文件名与public 类名可以不相同(C)源文件名其扩展名为.jar(D)源文件中public 类的数目不限16、给出下列的代码,则以下哪个选项返回true()String s=hello;String t=hello;char c=h,e,l,l,o;(A)s.equals(t)(B)t.equals(c)(C)s=t(D)t=c;17、使新创建的线程参与运行调度的方法是()(A)run()(B)start()(C)init()(D)resume()18、下是引用片段:public class Person int arr=new int10;public static void main(String args)System.out.println(arr1);正确的说法是()(A)编译时将产生错误(B)编译时正确,运行时将产生错误(C)输出零(D)输出空19、阅读下面的程序public class Test _ public static void main(String args)Thread t=new Test();t.start();public void run()System.out.println(“hello everybody!”);在程序下划线处填入正确的选项是()(A)implements Thread(B)extends Runnable(C)implements Runnable(D)extends Thread 20、Socket 的工作流程是()打开连接到Socket 的输入/输出按某个协议对Socket 进行读/写操作创建 Socket 关闭 Socket(A)(B)(C)(D)21、下列对 java 源程序结构的叙述中,错误的是:()(A)import 语句必须在所有类定义之前(B)接口定义允许0 个或多个2(C)java Application 中的 public class 允许 0 个或多个(D)package语句允许0 个或多个22、switch 语句中表达式(expriession)的值不允许用的类型是()(A)byte(B)int(C)char(D)long 23、下列关键字可以表示常量的是:()(A)final(B)private(C)static(D)interface 24、继承是面向对象编程的一个重要特征,它可降低程序的复杂性并使代码()(A)可读性好(B)可重用(C)可跨包访问(D)运行更安全25、类 Panel 默认的布局管理器是()(A)GridLayout(B)BorderLayout(C)FlowLayout(D)GardLayout 26、Reader 类所处理的是:()(A)字符流(B)字节流(C)文件流(D)输出流27、使新创建的线程参与运行调度的方法是()(A)run()(B)start()(C)init()(D)resume()28、阅读下面代码段abstract class Person private String name;public Person(String n)this.name=n;public _ String getDescription();public String getName()return name;在下划线处应填入的修饰符:()(A)static(B)abstract(C)final(D)protected 30、编译和运行下面的应用程序,并在命令行界面输入12345,则回车后屏幕输出的结果是().public class A public static void main(String args)throws IOException BufferedReader buf=new BufferedReader(new InputStreamReader(System.in);String str=buf.readLine();int x=Integer.parseInt(str);System.out.println(x/100);(A)45 (B)5 (C)123 (D)12345 35、类 Panel 默认的布局管理器是()(A)GridLayout(B)BorderLayout(C)FlowLayout(D)GardLayout 37、使新创建的线程参与运行调度的方法是()(A)run()(B)start()(C)init()(D)resume()40、编译和运行下面的应用程序,并在命令行界面输入12345,则回车后屏幕输出的结果是().public class A public static void main(String args)throws IOException BufferedReader buf=new BufferedReader(new InputStreamReader(System.in);3 String str=buf.readLine();int x=Integer.parseInt(str);System.out.println(x/100);(A)45 (B)5 (C)123 (D)12345 二、填空题6、在 Java程序中,通过类的定义只能实现单重继承,但通过_的定义可以实现多重继承关系。7、_类负责管理JDBC 驱动程序并建立与数据库的连接。8、线程在生命周期中要经历5 种状态,分别是新建状态、可运行状态、运行状态、_状态和终止状态。9、面向对象的语言将客观世界都看成由各种对象组成,共同特征和行为的对象组成类,类是变量和_的集合体。10、AWT 中的布局管理器包括BorderLayout、_、CardLayout、GridLayout 和 GridBagLayout。11、java 中的线程体是由线程类的_()方法进行定义的,线程运行时,也是从该方法开始执行的。12、Java 源文件中最多只能有一个_类,其他类的个数不限。13、线程在生命周期中要经历5 种状态,分别是新建状态、可运行状态、运行状态、_状态和终止状态。三、编程题1、设计一个图形用户界面的颜色合成程序,界面如下图所示。要求改变任一颜色值时,合成颜色实时变化。import java.awt.*;import java.awt.event.*;public class RGBColor extends WindowAdapter implements TextListener Frame f;TextField tf1,tf2,tf3;Panel p2;public RGBColor()f=new Frame(合成颜色);f.setSize(500,200);Panel p1=new Panel();p2=new Panel();f.add(p1,North);f.add(p2);p1.add(new Label(Red);tf1=new TextField(255,10);p1.add(tf1);p1.add(new Label(Green);tf2=new TextField(0,10);p1.add(tf2);4 p1.add(new Label(Blue);tf3=new TextField(0,10);p1.add(tf3);tf1.addTextListener(this);tf2.addTextListener(this);tf3.addTextListener(this);p2.setBackground(new Color(255,0,0);f.setVisible(true);f.addWindowListener(this);public void textValueChanged(TextEvent e)int r=(new Integer(tf1.getText().intValue();int g=(new Integer(tf2.getText().intValue();int b=(new Integer(tf3.getText().intValue();p2.setBackground(new Color(r,g,b);public void windowClosing(WindowEvent e)System.exit(0);public static void main(String k)new RGBColor();2、设计一个密码验证程序,如下图所示。要求:当输入正确的密码“123456”时,验证文本域显示“you pass!”,否则显示密码错误的信息“your password error!”。import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;public class Login1 public static void main(String args)LoginFrame frame=new LoginFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);5 frame.show();class LoginFrame extends JFrame public LoginFrame()setTitle(Login);setSize(WIDTH,HEIGHT);Container contentPane=getContentPane();/建立容器面板JPanel textPanel=new JPanel();/新建输入密码标签JLabel inputPassword=new JLabel(Input password:,JLabel.CENTER);myPassword=new JPasswordField(20);textPanel.add(inputPassword);textPanel.add(myPassword);/新建密码验证标签JLabel checkedPassword=new JLabel(Checked password:,JLabel.LEFT);checkPassword=new JTextField(20);checkPassword.setEditable(false);textPanel.add(checkedPassword);textPanel.add(checkPassword);loginButton=new JButton(登录,new ImageIcon(hlpcd.gif);/注册事件监听器loginButton.addActionListener(new LoginAction();textPanel.add(loginButton);contentPane.add(textPanel);/实现事件监听器private class LoginAction implements ActionListener public void actionPerformed(ActionEvent event)/获取密码域的内容char s=myPassword.getPassword();String gets=new String(s);if(gets.equals(CHECKPASSWORD)checkPassword.setText(PASS!);else checkPassword.setText(WRONG PASSWORD!);6 public static final int WIDTH=280;public static final int HEIGHT=180;public static final String CHECKPASSWORD=password;private JPasswordField myPassword;private JTextField checkPassword;private JButton loginButton;3、编写一个application程序,求1!+2!+3!+,+20!。把最后的结果在屏幕显示出来。public class jiechenghe public static void main(String s)long i=1;long k=0;for(int n=1;ntruePrice)return 猜的价格过高,请重新猜!;else if(guessPricetruePrice)return 猜的价格过低,请再加价!;12 return 出错了!;class MyImgPanel extends Panel String fileName=IXUS50.jpg;Image myImage;public void initImg()URL url=null;try url=Class.forName(Lucky52).getResource(IXUS50.jpg);catch(Exception e)myImage=getToolkit().getImage(url);MediaTracker myTracker=new MediaTracker(this);myTracker.addImage(myImage,1);try myTracker.wait();myTracker.checkAll();catch(Exception e)public void paint(Graphics g)g.drawImage(myImage,135,30,55,75,this);class MsgDlg extends Frame implements ActionListener Label label=new Label();public MsgDlg(String strMsg)super();setTitle(猜测结果显示);Panel myPanel=new Panel();add(myPanel);myPanel.add(label);label.setText(strMsg);setSize(150,100);setLocation(300,200);Button btnOk=new Button(确定);btnOk.addActionListener(this);myPanel.add(btnOk);show();public void actionPerformed(ActionEvent evt)13 this.dispose();幸运 52 游戏 幸运 52 游戏 游戏规则:(1)点击“开始游戏”按钮,游戏开始,系统将会把物品调入(2)对物品的价格进行估计,直到猜对为止 13、设计一个计算 2 个圆形和2 个长方形周长与面积(尺寸自定)的通用程序,并在屏幕输出计算结果。要求必须采用圆形、长方形类或接口的方式设计。14、设计一个输入输出程序。要求采用键盘标准输入,输出结果为文本文件(test.txt)。15、设计一个Java 应用程序(写出主要语句)。要求:(1)实现如下图所示的界面布置(提示:窗口大小固定,配合面板采用合适的布局管理器);(2)按“计算”按钮时实现货币转换功能,按“重新输入”按钮时清空所有输入的内容。货币金额、转换汇率的值自定。16、要求设计一个APE(形状)类,再设计APE类的两个子类,一个是YUAN(园类)类,另一个是JUXING(矩形)类。每个类都包括若干成员变量和方法,但每个类都有一个draw()方法(画图方法),draw()方法中用输出字符串表示画图。17、编写程序:读取并在屏幕上显示键盘上输入的字符。20、将键盘输入的一行字符串在屏幕上显示,并将其添加到本地机文件F:test.txt的尾部。21、写一个线程类MyThread,该线程类的功能是循环输出130 的整数。然后写一个测试类TestThread,在该类的主方法中实例化两个线程对象并取名为Thread 01 和 Thread02,执行它们,依次输出130的整数。(提示:使用synchronized给共享资源加互斥锁)26、已知有一整型值 int a=5872,写一段java 程序将 a 中的数字倒过来得到int b=2785.27、编写程序求1 到 500 的累加和S,在屏幕上输出累加和S的 10 倍值 S10。