Java期末复习题2.docx
- 文档编号:9729005
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:18
- 大小:54.11KB
Java期末复习题2.docx
《Java期末复习题2.docx》由会员分享,可在线阅读,更多相关《Java期末复习题2.docx(18页珍藏版)》请在冰豆网上搜索。
Java期末复习题2
JAVA复习题2
一、选择
1.MAX_LENGTH是int型public成员变量,变量值保持为常量100,用简短语句定义这个变量。
ApublicintMAX_LENGTH=100;
BfinalintMAX_LENGTH=100;
CfinalpublicintMAX_LENGTH=100;
DpublicfinalintMAX_LENGTH=100.
2.给出下面代码:
1)classParent{
2)privateStringname;
3)publicParent(){}
4)}
5)publicclassChildextendsParent{
6)privateStringdepartment;
7)publicChild(){}
8)publicStringgetValue(){returnname;}
9)publicstaticvoidmain(Stringarg[]){
10)Parentp=newParent();
11)}
12)}
那些行将引起错误?
A第3行
B第6行
C第7行
D第8行
3.类Teacher和Student是类Person的子类;
Personp;
Teachert;
Students;
//p,tandsareallnon-null.
if(tinstanceofPerson){s=(Student)t;}
最后一句语句的结果是:
A将构造一个Student对象;
B表达式是合法的;
C表达式是错误的;
D编译时正确,但运行时错误。
4.给出下面代码段
1)publicclassTest{
2)intm,n;
3)publicTest(){}
4)publicTest(inta){m=a;}
5)publicstaticvoidmain(Stringarg[]){
6)Testt1,t2;
7)intj,k;
8)j=0;k=0;
9)t1=newTest();
10)t2=newTest(j,k);
11)}
12)}
哪行将引起一个编译时错误?
Aline3
Bline5
Cline6
Dline10
5.对于下列代码:
1)classPerson{
2)publicvoidprintValue(inti,intj){//...}
3)publicvoidprintValue(inti){//...}
4)}
5)publicclassTeacherextendsPerson{
6)publicvoidprintValue(){//...}
7)publicvoidprintValue(inti){//...}
8)publicstaticvoidmain(Stringargs[]){
9)Persont=newTeacher();
10)t.printValue(10);
11)}
第10行语句将调用哪行语句?
?
Aline2
Bline3
Cline6
Dline7
6.哪个关键字可以抛出异常?
Atransient
Bfinally
Cthrow
Dstatic
7.Main()方法的返回类型是:
Aint
Bvoid
Cboolean
Dstatic
8.System类在哪个包中?
Ajava.util
Bjava.io
Cjava.awt
Djava.lang
9.对于下列代码:
publicclassParent{
publicintaddValue(inta,intb){
ints;
s=a+b;
returns;
}
}
classChildextendsParent{
}
下述哪些方法可以加入类Child?
AintaddValue(inta,intb){//dosomething...}
BpublicvoidaddValue(inta,intb){//dosomething...}
CpublicintaddValue(inta){//dosomething...}
DpublicintaddValue(inta,intb)throwsMyException{//dosomething...}
10.给出下面代码:
publicclasstest{
staticinta[]=newa[10];
publicstaticvoidmain(Stringargs[]){
System.out.println(arr[10]);
}
}
那个选项是正确的?
A编译时将产生错误;
B编译时正确,运行时将产生错误;
C输出零;
D输出空。
11.下面哪些选项是正确的main方法说明?
Apublicmain(Stringargs[])
Bpublicstaticvoidmain(Stringargs[])
Cprivatestaticvoidmain(Stringargs[])
Dvoidmain()
二、多项选择
1.下面哪些代码段是正确的Java源程序?
A.packagetestpackage;
publicclassTest{//dosomething...}
B.importjava.io.*;
packagetestpackage;
publicclassTest{//dosomething...}
C.importjava.io.*;
classPerson{//dosomething...}
publicclassTest{//dosomething...}
D.importjava.io.*;
importjava.awt.*;
publicclassTest{//dosomething...}
2.publicclassparent{
intchange(){}
}
classChildextendsParent{}
哪些方法可加入类Child中?
Apublicintchange(){}
Bintchang(inti){}
Cprivateintchange(){}
Dabstractintchang(){}
3.Strings="hello";
Stringt="hello";
charc[]={'h','e','l','l','o'};
下列哪些表达式返回true?
As.equals(t);
Bt.equals(c);
Cs==t;
Dt.equals(newString("hello"));
4.给出下面代码段:
1)switch(m)
2){case0:
System.out.println("case0");
3)case1:
System.out.println("case1");break;
4)case2:
5)default:
System.out.println("default");
6)}
下列m的哪些值将引起"default"的输出?
A0
B1
C2
D3
5.下列哪些说法是正确的?
AJava语言只允许单一继承
BJava语言只允许实现一个接口
CJava语言不允许同时继承一个类并实现一个接口
DJava语言的单一继承使得代码更加可靠
6.下列关于"<<"和">>"的运算,哪些是正确的?
A00000100000000000000000000000000<<5的运行结果是10000000000000000000000000000000
B00000100000000000000000000000000<<5的运行结果是11111100000000000000000000000000
C11000000000000000000000000000000>>5的运行结果是11111110000000000000000000000000
D11000000000000000000000000000000>>5的运行结果是00000110000000000000000000000000
7.下述哪些说法是正确的?
A实例变量是类的成员变量
B实例变量是用static关键字声明的
C方法变量在方法执行时创建
D方法变量在使用之前必须初始化
8.对于下列代码:
publicclassSample{
longlength;
publicSample(longl){length=l;}
publicstaticvoidmain(Stringarg[]){
Samples1,s2,s3;
s1=newSample(21L);
s2=newSample(21L);
s3=s2;
longm=21L;
}
}
下列哪些表达式返回值为'true'?
As1==s2;
Bs2==s3;
Cm==s1;
Ds1.equals(m)
9.下面说法哪些是正确的?
AApplet可以访问本地文件
B对static方法的调用不需要类实例
Csocket类在java.lang中
D127.0.0.1地址代表本机
10.下列说法正确的是:
Ajava语言里的线程是没有优先级的
BString类在java.lang包中
Cjava语言支持类的序列化
D能序列化的类必须实现java.io.Serializable接口
11.关于awt和swing说法正确的是:
Aawt在不同操作系统中显示相同的风格。
Bswing在不同的操作系统中显示相同的风格
Cjava.awt的子类
Dawt和swing都支持事件模型
12.关于Float,下列说法正确的是
AFloat是一个类
BFloat在java.lang包中
CFloata=1.0是正确的赋值方法
DFloata=newFloat(1.0)是正确的赋值方法
13.下述哪些说法是正确的?
Ajava语言中的类只能有一个构造函数
B程序员可以自己定义自己的异常
Cjava语言允许多继承
Dsocket在包中
14.下列哪些说法是正确的?
AIOException必须被捕获或抛出
Bjava语言会自动初始化变量的值
Cjava语言不允许同时继承一个类并实现一个接口
Djava语言会自动回收内存中的垃圾
三、填空题
1.Collection的四种主要接口是、、、
Collection,List,Map,Set
2.运行下列程序第行出错。
1.classOuter{
2.privateintsize=5;
3.publicObjectmakeInner(finalintfinalLocalVar){
4.intLocalVar=6;
5.classInner{
6.publicStringtoString(){
7.return("#
8.returnnewInner();}
9.}
10.publicclassOuterTest{
11.publicstaticvoidmain(String[]args){
12.Outerouter=newOuter();
13.Objectobj=outer.makeInner(56);
14.System.out.println("Theobjectis"+obj.toString());}}
3.下列代码不能编译的原因是
ClassA{
Privateintx;
Publicstaticvoidmain(Stringargs[])
{
newB();
}
classB{
B(){System.out.println(x);
}
}
}
因为在A的main方法中,还没有A的实例就要试图生成内部类的实例
4.写出下列程序的运行结果。
publicclassTest1{
privatestaticStringmemberStr="hello";
publicstaticvoidchangeStr(StringparaStr){
paraStr="welcome";
memberStr="you";
}
publicstaticvoidmain(String[]args){
StringmainStr="Java";
changeStr(mainStr);
System.out.println(mainStr);
changeStr(memberStr);
System.out.println(memberStr);
memberStr="C++";
System.out.println(memberStr);
}
}
四、编程题
1.构造一个类来描述屏幕上的一个点,该类的构成包括点的x和y两个坐标,以及一些对点进行的操作,包括:
取得点的坐标值,对点的坐标进行赋值,编写应用程序生成该类的对象并对其进行操作。
import java.io.*;
public class Point
{
int x,y;
public Point(int x,int y)
{
this.x = x;
this.y = y;
}
public Point getPoint()
{
Point tempPoint = new Point(x,y);
return tempPoint;
}
public void setPoint(Point point)
{
this.x = point.x;
this.y = point.y; }
public static void main(String args[])
{
Point Point1 = new Point(3,4);
System.out.println("Point1:
"+"("+Point1.x+","+Point1.y+")");
Point Point2 = Point1.getPoint();
System.out.println("Point2:
"+"("+Point2.x+","+Point2.y+")");
Point Point3 = new Point(5,6); Point1.setPoint(Point3);
System.out.println("Point1:
"+"("+Point1.x+","+Point1.y+")"); }
}
2.编写一个应用程序,完成文件的拷贝功能,文件名从命令行得到。
import java.io.*;
class FileCopy
{
public static void main(String[] args)
{
FileInputStream in;
FileOutputStream out;
if (args.length<2)
{
System.out.println("Usage:
java copy srcfile destfile");
System.exit(-1);
}
try {
in = new FileInputStream(args[0]);
out = new FileOutputStream(args[1]);
copyFile(in,out);
} catch (Exception e)
{
System.out.println(e);
}
}
private static void copyFile(FileInputStream in, FileOutputStream out) {
int length;
byte buf[] = new byte[1024];
try{
while ((length=in.read(buf,0,1024))!
=-1)
{
out.write(buf, 0, length); }
}
catch (Exception e) {
System.out.println("Error:
"+e);
System.exit(-1); }
}
}
3.Student类的定义如下,请完整实现ObjectIODemo类。
ObjectIODemo类中有三个方法,writeObj()方法、readObj()方法和main()方法。
根据main()方法中的调用情况,完成readObj()方法体的实现。
classStudentimplementsSerializable{
Stringno;
Stringname;
chargender;
shortage;
floatscore;
publicStudent(Stringno,Stringname,chargender,shortage,floatscore){
this.no=no;
this.name=name;
this.gender=gender;
this.age=age;
this.score=score;
}
}
publicclassObjectIODemo{
//根据调用情况,写出writeObj()方法并实现之
//根据调用情况,实现read()方法
publicstaticvoidmain(Stringargs[])throwsException{
Students=newStudent("101","张三",'男',(short)19,83F);
Studentt=null;
writeObj(s,"stu.dat");
t=(Student)readObj("stu.dat");
System.out.println("学号:
"+t.no);
System.out.println("姓名:
"+t.name);
System.out.println("性别:
"+t.gender);
System.out.println("年龄:
"+t.age);
System.out.println("分数:
"+t.score);
}
}
4.利用所学的Java语言知识,完成一个实现秒表功能的Applet程序。
它的GUI界面如下所示:
利用所学的Java语言知识,完成一个实现秒表功能的Applet程序。
它的GUI界面如下所示:
要求该程序能够完成以下功能:
(1)在界面上方的文本框中,按照"小时:
分钟:
秒"的顺序实时显示系统时间;
(2)当按下界面中间的"CurrentTime:
"按钮时,当前系统时间能够在界面下方的文本框中显示出来。
提示:
可以通过调用java.util.Data类的方法,获得系统时间。
Data类的接口如下所示,
publicclassDate{
//返回当前系统时间的小时值
publicStringgetHours(){…}
//返回当前系统时间的分钟值
publicStringgetMintues(){…}
//返回当前系统时间的秒钟值
publicStringgetSeconds(){…}
…
}
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.util.*;
public class TimeViewer extends Applet implements ActionListener, Runnable {
Thread timer;
TextField in, out;
Button bb;
Panel p1, p2, p3;
boolean state;
public void init() {
in = new TextField(20);
out = new TextField(20);
bb = new Button("Current Time:
");
p1 = new Panel();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 期末 复习题