Java语言及WWW技术期末复习题及答案.docx
- 文档编号:5884701
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:21
- 大小:26.03KB
Java语言及WWW技术期末复习题及答案.docx
《Java语言及WWW技术期末复习题及答案.docx》由会员分享,可在线阅读,更多相关《Java语言及WWW技术期末复习题及答案.docx(21页珍藏版)》请在冰豆网上搜索。
Java语言及WWW技术期末复习题及答案
Java语言与技术期末复习题一
一、单项选择题
1.在Java语言中,那一个是最基本的元素?
(C)
A、方法B、包C、对象D、接口
2.以下关于面向对象概念的描述中,不正确的一项是(B)。
A、在现实生活中,对象是指客观世界的实体
B、程序中的对象就是现实生活中的对象
C、在程序对象是通过一种抽象数据类型来描述的,这种抽象数据类型称为类(class)
D、在程序中,对象是一组变量和相关方法的集合
3.在使用interface声明一个接口时,只可以使用哪一个修饰符修饰该接口?
(D)
A、privateB、protectedC、privateprotectedD、public
4.有如下代码段:
{if(fun1()){//dosomething…}elseif(fun2()){//dotheother…}}其中,方法fun1()将抛出IOException,以下可以填入第1行的是(D)。
A.publicIOExceptionmethodName()
B.publicvoidmethodName()
C.publicvoidmethodName()throwIOException
D.publicvoidmethodName()throwsIOException
5.下列语句序列执行后,x的值是(B)。
publicclassex3{
publicstaticvoidmain(String[]args){
inta=2;
intb=3;
intx=4;
x=++a*x;
System.out.println(x);
A、l3B、12C、11D、10
6.如果有2个类A和B,A类基于B类,则下列描述中正确的一个是(C)。
A、这2个类都是子类或者超类B、A是B超类的子类
C、B是A超类的子类D、这2个类都是对方的子类
7.Java语言最初是面向哪个应用领域设计的?
(C)。
A、InternetB、制造业C、消费电子产品D、CAD
8.以下关于构造函数的描述错误的是(A)。
A.构造函数的返回类型只能是void型
B.构造函数是类的一种特殊函数,它的方法名必须与类名相同
C.构造函数的主要作用是完成对类对象的初始化工作
D.一般在创建新对象时,系统会自动调用构造函数
9.执行如下语句之后,输出的结果是(D)。
publicclassex6{
publicstaticvoidmain(String[]args){
intx=-6,Y=6;
x=x+Y--;
System.out.println(x);
}}
A、12B、-12C、-1D、0
10.设有定义intx=‘A’;,则执行下列语句之后,x的值为(A)。
x%=‘A’;
A、0B、‘A’C、‘a’D、65
解析:
%为求余数,两个相同的字符相除,余数为0。
二、简答题
1.什么叫构造函数重载?
答:
构造函数是一种特殊的函数,其函数名与类名相同,没有返回类型,将构造函数声明为Public权限;构造函数重载是指构造函数的函数名相同(与类名同),但参数个数可以不同(可以没有参数,也可以有1到多个参数)。
2.Java语言有什么特点?
答:
简单的、面向对象的、分布式的、健壮的、安全的、结构中立的、多线程等。
3.什么叫多线程?
Java支持多线程有何意义
答:
多线程指的是在操作系统每次分时给程序一个时间片的CPU时间,在若干个独立的可控线程之间进行切换。
通过使用多线程,编程人员可以用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,很容易地实现网络上的实时交互行为。
4JavaApplet的基本工作原理是什么?
答:
JavaApplet中没有main()函数,只能通过浏览器调用执行,JavaApplet在浏览器中的基本工作原理是:
(1)用户通过浏览器来浏览Applet程序的执行过程,首先进入含有Applet的Web页面,并将服务器上对应的Applet字节码通过网络下载到客户端浏览器。
(2)对Applet程序进行初始化,并启动Applet的执行。
(3)当用户离开当前含有Applet的页面时或最小化当前页面时,浏览器会暂时停止Applet的执行,让出CPU资源。
(4)当用户又再次回到含有Applet的页面时,Applet程序会继续执行。
(5)当用户查看完信息关闭浏览器时,浏览器会自动调用Applet类中的方法来终止小应用程序的执行。
5.什么是接口?
如何定义接口?
答:
Java中的接口是特殊的抽象类,是一些抽象方法和常量的集合,其主要作用是使得不同层次上以至于互不相干的类能能够执行相同的操作、引用相同的值,而且可以同时实现来自不同类的多个方法。
接口的定义如下:
[public]interface接口类名{
[public]类名常量名=常量值;
[public]方法类型方法名([参数列表]);
}
6写出比较2个字符串是否相同的方法,并加以说明
答:
字符串.equals(“字符串”)
例如:
”Java”.equals(“Java”)其结果为true
三.程序阅读题
1.写出以下程序的功能。
importjava.io.*;
classTest_2{
publicstaticvoidmain(String[]args)throwsIOException
intb;
FileInputStreamfileIn=newFileInputStream("a.txt");
while((b=fileIn.read())!
=-1){
System.out.print((char)b);
答:
将文本文件a.txt中的字符逐个输出。
2.importjava.io.*;
publicclassWhatAmI
{publicstaticvoidmain(Stringargs[])
{charch,x=0;try
{or(inti=0;i<10;i++)
{System.out.print("Enterachar:
");
ch=(char)System.in.read();
if(ch>x)
x=ch;
System.in.skip
(2);}
System.out.println(x);}
catch(IOExceptione)
{System.out.println(e.toString());}
答:
从键盘接收10个字符,将最后一个大于0的字符输出。
3.写出以下程序的运行结果。
publicclassTest_5
{publicstaticvoidmain(String[]args)
{System.out.println(fun(30,20,10));}
staticintfun(intx,inty,intz)
{returnfun(x,fun(y,z));}
taticintfun(intx,inty)
{if(x>y)returnx;elsereturny;}
答:
30
四、编程题
1.写一个输出整数10以的奇数的Java程序,每个输出项之间空一个制表符位置。
publicclassAbc{
publicstaticvoidmain(String[]args){
for(inti=0;i<10;i++){
if(i%2==1)System.out.print(i+"\t");
2.写一个JavaApplication程序,从键盘输入一个字符,输出这个字符的整数数值,以‘#’号键结束输入。
importjava.io.*;
publicclassQuestion2{
publicstaticvoidmain(String[]args){
charx;
System.out.print("请输入一个字符");
try{
x=(char)System.in.read();
while(x!
='#'){
System.out.print(x+"\t");
x=(char)System.in.read();
catch(IOExceptione){}
Java语言与技术设计期末复习题二
1.关于类的继承以下说确的是(A)。
A.在java中只允许单一继承
B.在java中一个类只能实现一个接口
C.在java中一个类不能同时继承一个类和实现一个接口
D.java允许多重继承
2.在浏览器中执行applet程序,将被最后执行的方法是(C)。
A.init()B.start()C.destroy()D.stop()
3.关于垃圾收集机制以下叙述正确的是(B)。
A.程序开发者必须自己创建一个线程进行存释放的工作
B.垃圾收集将检查并释放不再使用的存
C.垃圾收集允许程序开发者明确指定并立即释放该存
D.垃圾收集能够在期望的时间释放被java对象使用的存
4.容器Frame缺省使用的布局编辑策略是(A)。
A.FlowLayoutB.BorderLayoutC.GridLayoutD.CardLayout
5.要使类中某个成员变量只能被它自身访问到,该变量(C)。
A.只能用protected修饰B.只能用public修饰
C.只能用private修饰D.应不加修饰符
6.以下关于构造函数的描述错误的是(A)。
注:
构造函数无类型
A.构造函数的返回类型只能是void型
B.构造函数是类的一种特殊函数,它的方法名必须与类名相同
C.构造函数的主要作用是完成对类对象的初始化工作
D.一般在创建新对象时,系统会自动调用构造函数
7.有如下代码段:
1.
2.{if(fun1()){//dosomething…}
3.elseif(fun2()){//dotheother…}
4.}
其中,方法fun1()将抛出IOException,以下可以填入第1行的是(D)。
A.publicIOExceptionmethodName()
B.publicvoidmethodName()
C.publicvoidmethodName()throwIOException
D.publicvoidmethodName()throwsIOException
8.分析下面的程序代码,以下说确的是(D)。
publicclassBextendsA
{publicstaticvoidmain(String[]args)
{Bb=newB();
b.print();}
}
classA
{Strings;
A(Strings)
{this.s=s;}
publicvoidprint()
{System.out.println(s);}
}
A.编译成功,运行情况良好
B.因为B没有构造方法B(),所以这段程序不能编译
C.这段程序可以通过编译,但由于方法名冲突,引起一个运行时错误
D.如果删除A类中的构造方法,这个程序可以编译
9.将以下哪个方法的定义插入第6行后,会引发编译错误?
(B)
1.classSuper{
2.publicfloatgetNum(){return0.1f;}
3.}
4.
5.publicclassSubextendsSuper{
6.
7.}
A.publicfloatgetNum(intx){return(float)x;}
B.publicintgetNum(){return1;}
C.publicvoidgetNum(doubled){}
D.publicdoublegetNum(floatd){return4.0d;}
10.以下接口定义正确的是(D)。
A.interfaceA
{voidprint(){};}
B.abstractinterfaceA
{voidprint();}
C.abstractinterfaceAextendsA1,A2//A1.A2为已定义的接口
{abstractvoidprint(){};}
D.publicinterfaceA
{voidprint();}
11.给出如下代码:
class Test{
//定义成员m
public static void fun() {
// some code...
}
}
要在函数fun()中直接访问m,以下成员变量定义正确的是(C)。
A.protected int m;B. public int m;C.static int m;D.int m;
12.以下用于定义线程执行体的方法是(C)。
A. start()B.init()C.run()D.synchronized()
13.给出如下代码:
publicclassA{
publicstaticvoidmain(Stringargs[]){
staticintx[]=newint[15];
System.out.println(x[1]);}
}
以下说确的是(A)。
A.编译出错
B.编译通过,但运行时有错,因为数组元素没有初始化
C.编译通过,输出0,因为静态成员能得到初始值
D.编译通过,但运行结果不确定,为随机值
14.编译并运行以下程序,以下说确的是(C)。
1.classUseToString{
2.protectedStringtoString(){
3.returnsuper.toString();}
4.}
A.编译通过运行无异常B.编译通过但运行时出错
C.行2出错,不能成功编译D.不能成功编译,行3出错
15.以下方法的返回类型是(C)。
ReturnTypemethod(doublex,floaty)
{
returnx/y*2;
}
A.byteB.shortC.doubleD.float
16.在Java语言中,那一个是最基本的元素?
(C)
A、方法B、包C、对象D、接口
17.以下关于面向对象概念的描述中,不正确的一项是(B)。
A、在现实生活中,对象是指客观世界的实体
B、程序中的对象就是现实生活中的对象
C、在程序对象是通过一种抽象数据类型来描述的,这种抽象数据类型称为类(class)
D、在程序中,对象是一组变量和相关方法的集合
18.在使用interface声明一个接口时,只可以使用哪一个修饰符修饰该接口?
(D)
A、privateB、protectedC、privateprotectedD、public
19.有如下代码段:
{if(fun1()){//dosomething…}elseif(fun2()){//dotheother…}
其中,方法fun1()将抛出IOException,以下可以填入第1行的是(D)。
A.publicIOExceptionmethodName()
B.publicvoidmethodName()
C.publicvoidmethodName()throwIOException
D.publicvoidmethodName()throwsIOException
20.下列语句序列执行后,x的值是(B)。
publicclassex3{
publicstaticvoidmain(String[]args){
inta=2;
intb=3;
intx=4;
x=++a*x;
System.out.println(x);
A、l3B、12C、11
二、改错题
判断下面的程序段是否正确。
若有错,指出错在哪里并改正;若正确,打“√”。
1.classTest1
{intx;
abstractintgetX();
}
答:
错误,语句为abstractintgetX();该语句为抽象方法,只有在抽象类中才能定义,可以将Test1定义为抽象类:
classabstractTest1
2.classA
{privatelongpw;
}
classTest2extendsA
{longgetPW()
{returnpw;}
}
答:
错误,语句为returnpw;,原因是pw在类A中为私有成员,在类B中不可访问,改正方式为:
将A类中的privatelongpw;改成publiclongpw;
3.publicstaticvoidmain(Stringargs[])
{charch=’c’;
try{ch=System.in.read();
//省略其余代码
}
catch(Exceptione)
{return;}
catch(IOExceptione)
{
System.out.println(e.toString());
}
}
答:
错误,第一处错误为语句ch=System.in.read();,原因是System.in.read();表示从键盘接收一个数值,改成ch=(char)System.in.read();第二处错误为catch(IOExceptione),原因是Exception已经包含了IOExcption,可将IOExcption放在前,Excption放在后。
4.publicclassTest4
{inti;
voidTest4(inti)
{this.i=i;}
voidprinti(inti)
{System.out.println(i);}
}
答:
正确
5./*ActionListener为接口,voidactionPerformed(ActionEventa)为接口方法*/
publicclassTest5implementsActionListener
{voidactionPerformed(ActionEventa)
{//省略
}
}
答:
错误,出现在:
voidactionPerformed(ActionEventa),应加上权限修饰符public,改正为:
publicvoidactionPerformed(ActionEventa)
三、程序阅读题
1.写出以下程序的运行结果。
classA{
A(){
System.out.print("A");
}
}
classBextendsA{
B(){
System.out.print("B");
}
}
publicclassTest_1extendsB{
Test_1(){
System.out.print("Test_1");
}
publicstaticvoidmain(String[]args){
newTest_1();
}
}
答:
ABTest_1
2.写出以下程序的功能。
importjava.io.*;
classTest_2{
publicstaticvoidmain(String[]args)throwsIOException
{
intb;
FileInputStreamfileIn=newFileInputStream("a.txt");
while((b=fileIn.read())!
=-1){
System.out.print((char)b);}
}
}
答:
将文本文件a.txt中的字符逐个读出并输出到显示器上。
3.阅读以下程序,若输入:
1<回车>
2<回车>
3<回车>
4<回车>
5<回车>
写出以下程序的运行结果。
importjava.io.*;
publicclassTest_3
{publicstaticvoidmain(Stringargs[])
{inta[]=newint[5];
for(inti=0;i try{BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in)); a[i]=Integer.parseInt(br.readLine()); }catch(IOExceptione){}; ints=0; for(inti=0;i {s+=a[i];} System.out.print(s); } } 答: 15 4.写出以下程序的运行结果。 publicclassTest_4 { staticintx; intc; publicTest_4(){ x++;c++;} publicstaticvoidmain(String[]args){ Test_4s1=newTest_4(); System.out.println(s1.x+","+s1.c); s1=newTest_4(); System.out.println(s1.x+","+s1.c); } static{x=2;} } 答: 3,1 4,1 5.写出以下程序的运行结果。 publicclassTest_5 { publicstaticvoidmain(String[]args) {System.out.println(fun(30,20,10));} staticintfun(intx,inty,intz) {returnfun(x,fun(y,z));} staticintfun(intx,inty) {if(x>y)returnx; elsereturny;} } 采用递归函数求最大值 答: 30 6.写出以下程序的运行结果。 publicclassTest_6 {publicstaticvoidmain(Stringargs[])
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 语言 WWW 技术 期末 复习题 答案