JAVA程序设计练习测试题及参考答案.docx

上传人:b****5 文档编号:6074954 上传时间:2023-01-03 格式:DOCX 页数:15 大小:29.52KB
下载 相关 举报
JAVA程序设计练习测试题及参考答案.docx_第1页
第1页 / 共15页
JAVA程序设计练习测试题及参考答案.docx_第2页
第2页 / 共15页
JAVA程序设计练习测试题及参考答案.docx_第3页
第3页 / 共15页
JAVA程序设计练习测试题及参考答案.docx_第4页
第4页 / 共15页
JAVA程序设计练习测试题及参考答案.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

JAVA程序设计练习测试题及参考答案.docx

《JAVA程序设计练习测试题及参考答案.docx》由会员分享,可在线阅读,更多相关《JAVA程序设计练习测试题及参考答案.docx(15页珍藏版)》请在冰豆网上搜索。

JAVA程序设计练习测试题及参考答案.docx

JAVA程序设计练习测试题及参考答案

第一部分

《Java程序设计》练习测试

[说明]:

要求所有答案务必写在答题纸的相应题号位置上,否则不予评分。

一、单选择题(共10分,每小题2分)

1、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为()。

A.classB.htmlC.javaD.exe

2、设intx=1,y=2,z=3;则表达式y+=z--/++x的值是()。

A3B3.5C4D5

3、在JavaApplet程序用户自定义的Applet子类中,一般需要重载父类的()方法来完成一些画图操作。

Astart()Bstop()Cinit()Dpaint()

4、不允许作为类及类成员的访问控制符的是()。

ApublicBstaticCprivateDprotected

5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为()。

Afinalvoidmethod();Bpublicvoidmethod();

Cstaticvoidmethod();Dabstractvoidmethod();

二、填空题(共20分,每空格1分)

1、开发与运行Java程序需要经过的三个主要步骤为⑴、⑵和⑶。

2、如果一个JavaApplet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是⑷类的子类并且存储该源程序文件的文件名为⑸。

3、如果一个JavaApplet程序文件中定义有4个类,则使用Sun公司的JDK编译器⑹

编译该源程序文件将产生⑺个文件名与类名相同而扩展名为⑻的字节码文件。

4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用⑼字节内存空间,这样,无论是中文字符还是英文字符,都是占用⑽字节内存空间。

5、设inty=5;则表达式(y++)/6的值是⑾。

6、若intx=5,y=10;则x=y的逻辑值分别为⑿和⒀。

7、⒁方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。

⒂方法是不能被当前类的子类重新定义的方法。

8、创建一个名为MyPackage的包的语句是⒃,该语句应该放在程序的位置为:

⒄。

9、设有数组定义:

inta[]={20,30,40,50,60,70,80,90,100,110,120,130};则执行以下几个语句后的输出结果是⒅。

ints=0;

for(inti=0;i

if(i%4==0)s+=a[i];

System.out.println(s);

10、在Java程序中,通过类的定义只能实现⒆重继承,但通过接口的定义可以实现⒇重继承关系。

三、写出下列程序完成的功能。

(每小题5分,共20分)

1、

publicclassSum

{publicstaticvoidmain(Stringargs[])

{doublesum=0.0;

intsign=-1.0;

for(inti=1;i<=50;i+=2){

sign*=-1;

sum+=sign/(double)i;}

System.out.println("sum="+sum);

}

}

2、

importjava.io.*;

publicclassReverse

{publicstaticvoidmain(Stringargs[])

{inti,n=10;

inta[]=newint[20];

for(i=0;i

try{

BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));

a[i]=Integer.parseInt(br.readLine());//输入一个整数

}catch(IOExceptione){};

For(i=n-1;i>=0;i--)

System.out.print(a[i]+"");

System.out.println();

}

}

3、

importjava.awt.*;

publicclassabc{

publicstaticvoidmain(Stringargs[]){newFrameOut();}

}

classFrameOutextendsFrame//Frame为系统定义的窗框类

{Buttonbtn;

FrameOut()

{

super("JUST”);

btn=newButton("MIS");

setLayout(newFlowLayout());

add(btn);

setSize(300,200);

show();

}

}

4、importjava.io.*;

publicclassabc

{publicstaticvoidmain(Stringargs[])

{SubClasssb=newSubClass();

System.out.println(sb.min());

}

}

classSuperClass

{inta=25,b=70;}

classSubClassextendsSuperClass

{intmin()

{return((a

a:

b);}

}

四、写出下面程序的运行结果(每小题10分,共30分)

1、importjava.io.*;

publicclassabc

{publicstaticvoidmain(Stringargs[])

{ABs=newAB("Hi!

","Nicetomeetyou.");

System.out.println(s.toString());

}

}

classAB{

Strings1;

Strings2;

AB(Stringstr1,Stringstr2)

{s1=str1;s2=str2;}

publicStringtoString()

{returns1+s2;}

}

2、

importjava.io.*;

publicclassabc

{publicstaticvoidmain(Stringargs[]){

inti,s=0;

inta[]={10,20,30,40,50,60,70,80,90,100,110,120,130,140,150};

for(i=0;i

System.out.println("s="+s);

}

}

3、importjava.io.*;

publicclassabc{

publicstaticvoidmain(Stringargs[]){

SubSubClassa1=newSubSubClass(40,50,60);

a1.show();

SuperClassa2=newSuperClass(70,80);

a2.show();

}

}

classSuperClass{

inta,b;

SuperClass(intaa,intbb){

a=aa;b=bb;

}

publicvoidshow(){

System.out.println("a="+a+"\nb="+b);

}

}

classSubClassextendsSuperClass

{intc;

SubClass(intaa,intbb,intcc)

{super(aa,bb);

c=cc;

}

}

classSubSubClassextendsSubClass

{inta;

SubSubClass(intaa,intbb,intcc)

{super(aa,bb,cc);

a=aa+bb+cc;

}

publicvoidshow()

{System.out.println("a="+a+"\nb="+b+"\nc="+c);}

}

五、使用Java语言编写程序(共20分).

创建类Computer,该类中有一个计算两个数的最大公约数的方法。

如果向该方法传递负整数,该方法就会抛出用户自定义异常。

要求:

用户自定义的异常类名为MyException。

 

《Java程序设计》练习测试参考答案及评分标准

一、单选择题(共10分,每小题2分)

1

2

3

4

5

A

A

D

B

C

二、填空题(共20分,每空格1分)

⑴编辑源程序⑵编译生成字节码⑶解释运行字节码

⑷Applet⑸MyApplet

⑹javac.exe⑺4⑻.class

⑼2⑽2⑾0⑿true⒀false

⒁抽象或abstract⒂最终或final

⒃packageMyPackage;⒄应该在程序第一句

⒅180⒆单⒇多

三、程序功能。

(共20分,每小题5分)

⒈sum=1-1/3+1/5-1/7+1/9-1/11+…+1/49

⒉从标准输入(即键盘)读入20个整数存入整型数组a中,然后逆序输出这10个整数。

⒊创建一个标题为"JUST"的窗框,窗框中显示有"MIS"字样的按钮。

⒋求两个数的最小值。

四、程序运行结果(共30分,每小题10分)

⒈Hi!

Nicetomeetyou.

⒉s=450

⒊a=150

b=50

c=60

a=70

b=80

五、用Java语言编程(共20分)

//MyException.java

publicclassMyExceptionextendsException{

Stringmessage;

publicMyException(StringErrorMessagr){

message=ErrorMessagr;

}

publicStringgetMessage(){

returnmessage;

}

}

//Computer.java

publicclassComputer{

publicstaticintgetMaxComm(intm,intn)throwsMyException{

if(m<=0||n<=0){

thrownewMyException("传递的参数不是正整数");

}

if(m

inttemp=0;

temp=m;

m=n;

n=temp;

}

intr=m%n;

while(r!

=0){

m=n;

n=r;

r=m%n;

}

returnn;

}

publicstaticvoidmain(String[]args){

try{

intm=122,n=0;

intresult=getMaxComm(m,n);

System.out.println(m+"和"+n+"的最大共约数是:

"+result);

}

catch(MyExceptione){

e.printStackTrace();

}

}

}

 

第二部分

Java练习题及参考答案:

一、选择题:

(1)用于设置组件大小的方法是B。

A)paint()B)setSize()C)getSize()D)repaint()

(2)单击窗口内的按钮时,产生的事件是C。

A)MouseEventB)WindowEventC)ActionEventD)KeyEvent

(3)AWT中用来表示对话框的类是D。

A)FontB)ColorC)PanelD)Dialog

(4)下列运算符中,优先级最高的是D。

A)+=B)==C)&&D)++

(5)下列运算结果为1的是B。

A)8>>1B)4>>>2C)8<<1D)4<<<2

(6)下列语句中,可以作为无限循环的语句是A。

A)for(;;){}B)for(inti=0;i<10000;i++){}C)while(false){}D)do{}while(false);

(7)下列表达式中,类型可以作为int的是C。

A)”abc”+”efg”B)“abc”+’efg’C)‘a’+’b’D)3+”4”

(8)阅读下列程序:

publicclassTestimplementsRunnable{

privateintx=0;

privateinty=0;

booleanflag=true;

publicstaticvoidmain(String[]args){

Testr=newTest();

Threadt1=newThread(r);

Threadt2=newThread(r);

t1.start();

t2.start();

}

publicvoidrun(){

while(flag){

x++;

y++;

System.out.println("("+x+","+y+")");

if(x>=10)

flag=false;

}

}

}

下列对程序运行结果描述的选项中,正确的是D。

A)每行的(x,y)中,可能有x≠y;每一对(x,y)值都出现两次

B)每行的(x,y)中,可能有x≠y;每一对(x,y)值都出现一次

C)每行的(x,y)中,可能有x=y;每一对(x,y)值都出现两次

D)每行的(x,y)中,可能有x=y;每一对(x,y)值都出现一次

(9)如果线程正处于运行状态,则它可能到达的下一个状态是C。

A)只有终止状态B)只有阻塞状态和终止状态

C)可运行状态,阻塞状态,终止状态D)其他所有状态

(10)在下列程序的空白处,应填入的正确选项是B。

importjava.io.*;

publicclasswriteInt{

publicstaticvoidmain(String[]args){

int[]myArray={10,20,30,40};

try{

DataOutputStreamdos=newDataOutputStream(newFileOutputStream("ints.dat"));

for(inti=0;i

dos.writeInt(myArray[i]);

dos.;

System.out.println("Havewrittenbinaryfileints.dat");}

catch(IOExceptionioe){

System.out.println("IOException");

}

}

}

A)startB)closeC)readD)write

(11)在一个线程中调用下列方法,不会改变该线程运行状态的是B。

A)yield方法B)另一个线程的join方法C)sleep方法D)一个对象的notify方法

(12)在关闭浏览器时调用,能够彻底终止Applet并释放该Applet所有资源的方法是B。

A)stop()B)destroy()C)paint()D)start()

(13)为了将HelloApplet(主类名为HelloApplet.class)嵌入在greeting.html文件中,应该在下列greeting.html文件的横线处填入的代码是C。

Greetings

A)HelloApplet.class

B)CODE=”HelloApplet.class”

C)CODE=”HelloApplet.class”WIDTH=150HEIGHT=25

D)CODE=”HelloApplet.class”VSPACE=10HSPACE=10

(14)下列变量名的定义中,符合Java命名约定的是A。

A)fieldnameB)superC)IntnumD)$number

(15)自定义异常类的父类可以是C。

A)ErrorB)VirtualMachineErrorC)ExceeptionD)Thread

(16)阅读下列程序片段:

publicvoidtest(){

try{

sayHello();

System.out.println("Hello");

}

catch(ArrayIndexOutOfBoundExceptione){

System.out.println("ArrayIndexOutOfBoundException");

}

catch(Exceptione){

System.out.println("Exception");

}

finally{

System.out.println("finally");

}

}

如果sayHello()方法正常运行,则test()方法的运行结果将是D。

A)HelloB)ArrayIndexOutOfBoundException

C)ExceptionD)Hello

Finallyfinally

(17)为使Java程序独立于平台,Java虚拟机把字节码与各个操作系统及硬件A。

A)分开B)结合C)联系D)融合

(18)Java中的基本数据类型int在不同操作系统平台的字长是B。

A)不同的B)32位C)64位D)16位

(19)String、StringBuffer都是C类,都不能被继承。

A)staticB)abstractC)finalD)private

(20)忽略

(21)构造方法必须与A相同,它没有返回值,用户不能直接调用它,只能通过new调用。

A)类名B)对象名C)包名D)变量名

(22)在多线程并发程序设计中,能够给对象x加锁的语句是B。

A)x.wait()B)synchronized(x)C)x.notify()D)x.synchronized()

(23)Java中类ObjectOutputStream支持对象的写操作,这是一种字节流,它的直接父类是C。

A)WriterB)DataOutputC)OutputStreamD)ObjectOutput

(24)略

A)B)C)D)

(25)Class类的对象由A自动生成,隐藏在.class文件中,它在运行时为用户提供信息。

A)Java编译器B)Java解释器C)Javanew关键字D)Java类分解器

(26)在Java中,实现用户界面功能的包是D。

A)java.appletB)java.transactionC)java.utilD)java.awt

(27)”++”运算符的操作数个数是A。

A)1个B)2个C)3个D)4个

(28)在switch(expression)语句中,expression的数据类型不能是A。

A)doubleB)charC)byteD)short

(29)下列叙述中,错误的是D。

A)父类不能替代子类B)子类能够替代父类C)子类继承父类D)父类包含子类

(30)已知:

int[]a=newint[100];在下列给出的数组元素中,非法的是D。

A)a[0]B)a[1]C)a[99]D)a[100]

 

二、简单应用题—填空(24分)

本题要求:

创建了一个线程,连续输出6行字符中“Hello!

完善程序。

publicclassJava_2{

publicstaticvoidmain(String[]args){

Helloh=newHello();

Threadt=newThread(h);

t.start();

}

}

classHelloimplementsRunnable{

inti=0;

publicvoidrun(){

while(true){

System.out.println("Hello!

");

if(i++==5)break;

}

}

}

四、综合应用题—填空(18分,每空6分)

以下程序的功能是单击“黄色”按钮,使图形用户界面窗口的背景色变为黄色,运行结果如下:

请完善程序。

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

publicclassJava_3{

publicstaticvoidmain(String[]args){

ButtonFrameframe=newButtonFrame();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

展开阅读全文
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1