Java复习资料.docx
《Java复习资料.docx》由会员分享,可在线阅读,更多相关《Java复习资料.docx(38页珍藏版)》请在冰豆网上搜索。
Java复习资料
一、单项选择题
1、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点()
(A)安全性 (B)多线性 (C)跨平台 (D)可移植
2、switch语句中表达式(expression)的值不允许用的类型是:
()
(A)byte(B)int(C)char(D)long
3、下列关键字可以表示常量的是:
()
(A)final(B)private(C)static(D)interface
4、java语言中属于跳转语句的是:
()
(A)try(B)catch(C)finally(D)break
5、在方法内部使用,代表对当前对象自身引用的关键字是:
()
(A)super(B)This(C)Super(D)this
6、对鼠标点击按钮操作进行事件处理的接口是:
()
(A)MouseListener(B)WindowListener(C)ActionListener(D)KeyListener
7、在java中,“目录”被看作是:
()
(A)文件(B)流(C)数据(D)接口
8、下列哪些类用于实现TCP/IP客户和服务器()
(A)ServerSocket,DatagramSocket(B)Server,Socket
(C)Socket,ServerSocket(D)DatagramPacket,DatagramSocket
9、设有程序为:
publicclassHello{
publicvoidmain(String[]args){
System.out.println(“helloworld”);
}
}
该程序运行的结果()
(A)执行时产生异常(B)程序不能编译
(C)执行后输出:
“helloworld”(D)执行后不输出任何东西
10、阅读下面的程序
publicclassTestimplementsRunnable{
publicstaticvoidmain(String[]args){
____________________
t.start();
}
publicvoidrun(){
System.out.println(“helloeverybody!
”);
}
}
在程序下划线处填入正确的选项是:
()
(A)Threadt=newThread();(B)Testt=newTest();
(C)Threadt=newThread(newTest());(D)Testt=newThread();
11、在Java中,负责对字节代码解释执行的是()
(A)垃圾回收器(B)虚拟机(C)编译器(D)多线程机制
12、执行完语句int[]x=newint[25];后,则下列哪项说法是正确的?
(A)x[24]值为0(B)x[24]值未定义(C)x[25]值为0(D)x[0]值为空
13、在Java中,若要使用一个包中的类时,首先要求对该包进行导入,其关键字是()
(A)import(B)package(C)include(D)packet
14、下列叙述中,正确的是()
(A)Java语言的标识符是区分大小写的(B)源文件名与public类名可以不相同
(C)源文件名其扩展名为.jar(D)源文件中public类的数目不限
15、AWT中用来表示颜色的类是()
(A)Font(B)Color(C)Panel(D)Dialog
16、给出下列的代码,则以下哪个选项返回true()
Strings="hello";
Stringt="hello";
charc[]={′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、下是引用片段:
publicclassPerson{
intarr[]=newint[10];
publicstaticvoidmain(Stringargs[]){
System.out.println(arr[1]);
}
}
正确的说法是()
(A)编译时将产生错误(B)编译时正确,运行时将产生错误
(C)输出零(D)输出空
19、阅读下面的程序
publicclassTest__________{
publicstaticvoidmain(String[]args){
Threadt=newTest();
t.start();
}
publicvoidrun(){
System.out.println(“helloeverybody!
”);
}
}
在程序下划线处填入正确的选项是()
(A)implementsThread(B)extendsRunnable(C)implementsRunnable(D)extendsThread
20、Socket的工作流程是()
①打开连接到Socket的输入/输出
②按某个协议对Socket进行读/写操作
③创建Socket
④关闭Socket
(A)①③②④(B)②①③④(C)③①②④(D)①②③④
21、下列对java源程序结构的叙述中,错误的是:
()
(A)import语句必须在所有类定义之前(B)接口定义允许0个或多个
(C)javaApplication中的publicclass允许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、阅读下面代码段
abstractclassPerson{
privateStringname;
publicPerson(Stringn){
this.name=n;
}
public________StringgetDescription();
publicStringgetName(){
returnname;
}
}
在下划线处应填入的修饰符:
()
(A)static(B)abstract(C)final(D)protected
29、阅读下面的程序
publicclassTest__________{
publicstaticvoidmain(String[]args){
Threadt=newTest();
t.start();
}
publicvoidrun(){
System.out.println(“helloeverybody!
”);
}
}
在程序下划线处填入正确的选项是()
(A)implementsThread(B)extendsRunnable(C)implementsRunnable(D)extendsThread
30、编译和运行下面的应用程序,并在命令行界面输入12345,则回车后屏幕输出的结果是( ).
publicclassA{
publicstaticvoidmain(Stringargs[])throwsIOException{
BufferedReaderbuf=newBufferedReader(
newInputStreamReader(System.in));
String str=buf.readLine();
int x=Integer.parseInt(str);
System.out.println(x/100);
}
}
(A)45 (B)5 (C)123 (D)12345
31、在Java中,负责对字节代码解释执行的是()
(A)垃圾回收器(B)虚拟机(C)编译器(D)多线程机制
32、switch语句中表达式(expriession)的值不允许用的类型是()
(A)byte(B)int(C)char(D)long
33、在Java中,若要使用一个包中的类时,首先要求对该包进行导入,其关键字是()
(A)import(B)package(C)include(D)packet
34、继承是面向对象编程的一个重要特征,它可降低程序的复杂性并使代码()
(A)可读性好(B)可重用(C)可跨包访问(D)运行更安全
35、类Panel默认的布局管理器是()
(A)GridLayout(B)BorderLayout(C)FlowLayout(D)GardLayout
36、下列叙述中,正确的是()
(A)Reader是一个读取字符文件的接口 (B)Reader是一个读取字节文件的抽象类
(C)Reader是一个读取字符文件的抽象类 (D)Reader是一个读取字节文件的一般类
37、使新创建的线程参与运行调度的方法是()
(A)run()(B)start()(C)init()(D)resume()
38、下是引用片段:
publicclassPerson{
intarr[]=newint[10];
publicstaticvoidmain(Stringargs[]){
System.out.println(arr[1]);
}
}
正确的说法是()
(A)编译时将产生错误(B)编译时正确,运行时将产生错误
(C)输出零(D)输出空
39、阅读下面的程序
publicclassTest__________{
publicstaticvoidmain(String[]args){
Threadt=newTest();
t.start();
}
publicvoidrun(){
System.out.println(“helloeverybody!
”);
}
}
在程序下划线处填入正确的选项是()
(A)implementsThread(B)extendsRunnable(C)implementsRunnable(D)extendsThread
40、编译和运行下面的应用程序,并在命令行界面输入12345,则回车后屏幕输出的结果是( ).
publicclassA{
publicstaticvoidmain(Stringargs[])throwsIOException{
BufferedReaderbuf=newBufferedReader(
newInputStreamReader(System.in));
String str=buf.readLine();
int x=Integer.parseInt(str);
System.out.println(x/100);
}
}
(A)45 (B)5 (C)123 (D)12345
二、填空题
1、Java中所有类都是类________的子类。
2、在子类中使用关键字________做前缀可调用被子类覆盖的父类中的方法。
3、如果一个线程调用_________()方法,将使该线程进入休眠状态。
4、在Tomcat服务器中部署Web应用程序时,可以直接将Web程序存放到tomcat服务的_________目录中。
5、应用程序的main方法中有以下语句,
Strings1="0.5",s2="12";
doublex=Double.parseDouble(s1);
int y=Integer.parseInt(s2);
System.out.println(x+y);
则输出的结果是__________。
6、在Java程序中,通过类的定义只能实现单重继承,但通过_________的定义可以实现多重继承关系。
7、__________类负责管理JDBC驱动程序并建立与数据库的连接。
8、线程在生命周期中要经历5种状态,分别是新建状态、可运行状态、运行状态、____状态和终止状态。
9、面向对象的语言将客观世界都看成由各种对象组成,共同特征和行为的对象组成类,类是变量和____的集合体。
10、AWT中的布局管理器包括BorderLayout、____________、CardLayout、GridLayout和GridBagLayout。
11、java中的线程体是由线程类的______()方法进行定义的,线程运行时,也是从该方法开始执行的。
12、Java源文件中最多只能有一个____类,其他类的个数不限。
13、线程在生命周期中要经历5种状态,分别是新建状态、可运行状态、运行状态、____状态和终止状态。
三、编程题
1、设计一个图形用户界面的颜色合成程序,界面如下图所示。
要求改变任一颜色值时,合成颜色实时变化。
importjava.awt.*;
importjava.awt.event.*;
publicclassRGBColorextendsWindowAdapterimplementsTextListener
{
Framef;
TextFieldtf1,tf2,tf3;
Panelp2;
publicRGBColor()
{
f=newFrame("合成颜色");
f.setSize(500,200);
Panelp1=newPanel();
p2=newPanel();
f.add(p1,"North");
f.add(p2);
p1.add(newLabel("Red"));
tf1=newTextField("255",10);
p1.add(tf1);
p1.add(newLabel("Green"));
tf2=newTextField("0",10);
p1.add(tf2);
p1.add(newLabel("Blue"));
tf3=newTextField("0",10);
p1.add(tf3);
tf1.addTextListener(this);
tf2.addTextListener(this);
tf3.addTextListener(this);
p2.setBackground(newColor(255,0,0));
f.setVisible(true);
f.addWindowListener(this);
}
publicvoidtextValueChanged(TextEvente)
{
intr=(newInteger(tf1.getText())).intValue();
intg=(newInteger(tf2.getText())).intValue();
intb=(newInteger(tf3.getText())).intValue();
p2.setBackground(newColor(r,g,b));
}
publicvoidwindowClosing(WindowEvente)
{
System.exit(0);
}
publicstaticvoidmain(Stringk[])
{
newRGBColor();
}
}
2、设计一个密码验证程序,如下图所示。
要求:
当输入正确的密码“123456”时,验证文本域显示“youpass!
”,否则显示密码错误的信息“yourpassworderror!
”。
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjavax.swing.event.*;
publicclassLogin1
{
publicstaticvoidmain(String[]args)
{
LoginFrameframe=newLoginFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}
classLoginFrameextendsJFrame
{
publicLoginFrame()
{
setTitle("Login");
setSize(WIDTH,HEIGHT);
ContainercontentPane=getContentPane();
//建立容器面板
JPaneltextPanel=newJPanel();
//新建输入密码标签
JLabelinputPassword=newJLabel("Inputpassword:
",JLabel.CENTER);
myPassword=newJPasswordField(20);
textPanel.add(inputPassword);
textPanel.add(myPassword);
//新建密码验证标签
JLabelcheckedPassword=newJLabel("Checkedpassword:
",JLabel.LEFT);
checkPassword=newJTextField(20);
checkPassword.setEditable(false);
textPanel.add(checkedPassword);
textPanel.add(checkPassword);
loginButton=newJButton("登录",newImageIcon("hlpcd.gif"));
//注册事件监听器
loginButton.addActionListener(newLoginAction());
textPanel.add(loginButton);
contentPane.add(textPanel);
}
//实现事件监听器
privateclassLoginAction
implementsActionListener
{
publicvoidactionPerformed(ActionEventevent)
{
//获取密码域的内容
char[]s=myPassword.getPassword();
Stringgets=newString(s);
if(gets.equals(CHECKPASSWORD))
{
checkPassword.setText("PASS!
");
}
else
{
checkPassword.setText("WRONGPASSWORD!
");
}
}
}
publicstaticfinalintWIDTH=280;
publicstaticfinalintHEIGHT=180;
publicstaticfinalStringCHECKPASSWORD="password";
privateJPasswordFieldmyPassword;
privateJTextFieldcheckPassword;
privateJButtonloginButton;
}
3、编写一个application程序,求1!
+2!
+3!
+……+20!
。
把最后的结果在屏幕显示出来。
publicclassjiechenghe
{
publicstaticvoidmain(Strings[])
{
longi=1;
longk=0;
for(intn=1;n<=20;n++)
{
i=i*n;
k=k+i;
}
System.out.println(k);
}
}
4、用Switch语句编写程序。
判断输入的某个月属于一年中的哪个季节。
2月、3月、4月为春季;5月、6月、7月为夏季;8月、9月、10月为秋季;11月、12月、1月为冬季。
要求:
1、月份采用键盘输入;2、在屏幕上显示季节结果。
3、只写出1个case语句即可,其它省略。
importjava.io.*;
classmyswitch
{
publicstaticvoidmain(Stringj[])
{
intx=0;
try
{
BufferedReaderstdin=newBufferedReader(newInputStreamReader(System.in));
System.out.print("请输入一个月份:
");
x=Integer.parseInt(stdin.readLine());
}
catch(IOExc