JAVA程序设计练习测试题及参考答案.docx
《JAVA程序设计练习测试题及参考答案.docx》由会员分享,可在线阅读,更多相关《JAVA程序设计练习测试题及参考答案.docx(15页珍藏版)》请在冰豆网上搜索。
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;iif(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;itry{
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;iSystem.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;
}
}
//Comp