JAVA期末练习题1.docx
《JAVA期末练习题1.docx》由会员分享,可在线阅读,更多相关《JAVA期末练习题1.docx(27页珍藏版)》请在冰豆网上搜索。
JAVA期末练习题1
《JAVA语言程序设计》期末练习题
一、选择题(每小题1分,共10分,注:
选择答案可能不止一个正确)
1、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为()。
A..javaB..class
C..htmlD..exe
2、设x=1,y=2,z=3,则表达式y+=z--/++x的值是()。
A.3B.3.5
C.4D.5
3、在JavaApplet程序用户自定义的Applet子类中,一般需要重载父类的()方法来完成一些画图操作。
A.start()B.stop()
C.init()D.paint()
4、不允许作为类及类成员的访问控制符的是()。
A.publicB.private
C.staticD.protected
5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为()。
A.staticvoidmethod()B.publicvoidmethod()
C.finalvoidmethod()D.abstractvoidmethod()
6、下面哪些是java语言中的关键字?
A. sizeof B. abstract C. NULL D. Native
7、下面语句哪个是正确的?
A.char='abc'; B. long l=oxfff;
C. float f=0.23; D. double=0.7E-3;
8、以下程序测试String 类的各种构造方法,试选出其运行效果。
class STR{
publicstaticvoidmain(Stringargs[]){
Strings1=newString();
Strings2=newString("String2");
charchars[]={'a','','s','t','r','i','n','g'};
Strings3=newString(chars);
Strings4=newString(chars,2,5);
byte[]bytes={72,101,108,108,79,33};//A、a和“!
”号的ASCII分别为65、97和33
StringBuffersb=newStringBuffer(s3);
sb.append(“!
”);
Strings5=newString(sb);
Strings6=newString(bytes);
System.out.println("TheStringNo.1is"+s1);
System.out.println("TheStringNo.2is"+s2);
System.out.println("TheStringNo.3is"+s3);
System.out.println("TheStringNo.4is"+s4);
System.out.println("TheStringNo.5is"+s5);
System.out.println("TheStringNo.6is"+s6);
}
}
A .The String No.1 is B.TheStringNo.1is
The String No.2 is String TheStringNo.2isString2
The String No.3 is a string TheStringNo.3isastring
The String No.4 is string TheStringNo.4isstrin
The String No.5 is a string TheStringNo.5isastring!
TheStringNo.6isHELLO!
TheStringNo.6isHello!
C.The String No.1 is
The String No.2 is String 2
The String No.3 is a string
The String No.4 is strin
The String No.5 is a string
TheStringNo.6ishello!
D 以上都不对
9、下面语句段的输出结果是()
int i = 9;
switch (i) {
default:
System.out.println("default");
case 0:
System.out.println("zero");
break;
case 1:
System.out.println("one");
case 2:
System.out.println("two"); }
A.default B.default, zero
C. error default clause not defined D. no output displayed
10、下面哪些语句能够正确地生成5个空字符串?
A .String a[]=new String[5]; B.String a[]={"","","","",""};
for(int i=0;i<5;a[++]="");
C. String a[5]; D.String[5]a;
E. String[]a=new String[5];
11、下面哪些选项将是下述程序的输出?
public class Outer{
public static void main(String args[]){
for(int i=0; i<3; i++)
for(int j=0;j<3;j++){
if(j>1) break;
System.out.println(j+"and"+i);
}
}
}
A.0 and 0 B. 0 and 1 C. 0 and 2 D.0 and 3
E.2 and 2 F. 2 and 1 G. 2 and 0
12、在编写Java Application程序时,若需要使用到文件输入输出语句,必须在程序的开头写上( )语句。
A、import java.awt.* ; B、import java.applet.Applet ;
C、import java.io.* ; D、import java.awt.Graphics ;
13.下列可作为正确的java标识符使用的是:
A、MyClass, $amount, _totalGrades B、$美元, instanceOf, TAX_RATE
C、one, MyClass, numberOf*s D、final, 1Way,new
14、下列程序的运行结果为:
(A的ASCII为65,1的ASCII为49,a的ASCII为97)
charc1='A',c2='1';
System.out.println(c1+3);
System.out.println((char)(c1+3));
System.out.println((char)(c1+c2));
A.DDrB.68DwC.DDrD.68Dr
15、下列程序的运行结果为:
System.out.println(37D);
System.out.println(037);
System.out.println(037D);
System.out.println(0x37D);
A.37.0373737B.37.03137.037.0
C.37.03137.0893D.37.03731893
16、下列程序的运行结果为:
Integern1=newInteger(47);
Integern2=newInteger(47);
System.out.println(n1==n2);
System.out.println(n1.equals(n2));
n1=n2;
System.out.println(n1!
=n2);
System.out.println(n1.equals(n2));
A.truetruetruetrueB.falsefalsefalsetrue
C.falsetruefalsetrueD.truetruefalsetrue
17、下列程序中出错的语句为:
classA{
voidf(intx,inty){}
staticvoidg(inta,intb){}
publicstaticvoidmain(String[]args){
Aa1=newA();
a1.f(2,3);
(1)
a1.g(2,5);
(2)
A.f(4,6);(3)
A.g(8,9);(4)
f(4,6);(5)
g(8,9);(6)
}
}
A.
(2)(4)(6)B.
(1)(3)(5)
C.(3)(5)D.(4)(6)
18、下列说法正确的是:
publicclassTestFinal{
Randomrnd=newRandom();
finalinta=rnd.nextInt();
finalstaticdoublepi=3.1415926;
finalPersonteacher=newPerson("kongzi");//Person(Stingname)为Person类的构造器
staticvoidf(finalinti){
System.out.println(i+=100);
}
publicstaticvoidmain(String[]args){
TestFinaltest1=newTestFinal();
TestFinaltest2=newTestFinal();
…..
}
}
A、test1.a与test2.a的值相同;test1.pi与test2.pi的值相同;test1与test2的teacher属性是同一个Person类型对象;方法f()存在错误,应将f(finalinti)改为f(inti)
B、test1.a与test2.a的值可能相同,也可能不同;test1.pi与test2.pi的值相同;test1与test2的teacher属性是不同的Person类型对象;方法f()存在错误,应将i+=100改为i+100
C、test1.a与test2.a的值一定不同;test1.pi与test2.pi的值相同;test1与test2的teacher属性是不同的Person类型对象;方法f()存在错误,应将f(finalinti)改为f(inti)
D、test1.a与test2.a的值不同;test1.pi与test2.pi的值不同;test1与test2的teacher属性是同一个Person类型对象;方法f()存在错误,应将f(finalinti)改为f(inti)
19.下列哪些程序段是正确的?
A.classIceCream{B.classIceCream{
privatevoidsd(Strings){voidsd(Strings){
System.out.println(s);System.out.println(s);
}}
publicIceCream(){publicIceCream(){
sd(“IamaIceCream!
”);sd(“IamaIceCream!
”);
}}
}}
publicClassSundaeextendsIceCream{publicClassSundaeextendsIceCream{
publicstaticvoidmain(){publicstaticvoidmain(){
Sundaex=newSundae();Sundaex=newSundae();
IceCreamy=newIceCream();IceCreamy=newIceCream();
y.sd(“ItisaSundae!
”);y.sd(“ItisaSundae!
”);
x.sd(“IaminSundaeclass”);x.sd(“IaminSundaeclass”);
}}
}}
C.D
packageedu.zjutpackageedu.zjut
publicclassIceCream{publicclassIceCream{
voidsd(Strings){protectedvoidsd(Strings){
System.out.println(s);System.out.println(s);
}}
publicIceCream(){publicIceCream(){
sd(“IamaIceCream!
”);sd(“IamaIceCream!
”);
}}
}……}…….
packagecom.w3cpackagecom.w3C
publicClassSundaeextendsIceCream{publicClassSundaeextendsIceCream{
publicstaticvoidmain(){publicstaticvoidmain(){
Sundaex=newSundae();Sundaex=newSundae();
IceCreamy=newIceCream();IceCreamy=newIceCream();
y.sd(“ItisaSundae!
”);y.sd(“ItisaSundae!
”);
x.sd(“IaminSundaeclass”);x.sd(“IaminSundaeclass”);
}}
}}
E.F
packageedu.zjutpackageedu.zjut
publicclassIceCream{publicclassIceCream{
publicvoidsd(Strings){protectedvoidsd(Strings){
System.out.println(s);System.out.println(s);
}}
publicIceCream(){publicIceCream(){
sd(“IamaIceCream!
”);sd(“IamaIceCream!
”);
}}
}……}…….
packagecom.w3cpackageedu.zjut
publicClassSundaeextendsIceCream{publicClassSundaeextendsIceCream{
publicstaticvoidmain(){publicstaticvoidmain(){
Sundaex=newSundae();Sundaex=newSundae();
IceCreamy=newIceCream();x.sd(“IaminSundaeclass”);
y.sd(“ItisaSundae!
”);}
x.sd(“IaminSundaeclass”);}
}
}
二、填空题(每空格1分,共20分)
1、开发与运行Java程序需要经过的三个主要步骤为、和。
2、根据程序的构成和运行环境的不同,Java源程序分为两大类:
和。
3、如果一个JavaApplet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是类的子类并且存储该源程序文件的文件名为。
4、Java源程序是由类定义组成的,每个程序中可以定义若干个类,但是只有一个类是主类。
在Java Application中,这个主类是指包含方法的类;在JavaApplet里,这个主类是一个系统类 的子类。
5、如果一个JavaApplet程序文件中定义有3个类,则使用Sun公司的JDK编译器
编译该源程序文件将产生个文件名与类名相同而扩展名
为的字节码文件。
6、Java采用字符集,以此编码方案char型数据,一个英文字符占用字节内存空间,一个中文字符占用字节内存空间。
7、设x=2,则表达式(x++)/3的值是。
8、若x=5,y=10,则x=y的逻辑值分别为和。
9、方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。
方法是不能被当前类的子类重新定义的方法。
10、创建一个名为MyPackage的包的语句是,该语句应该放在程序的位置为:
。
11、设有数组定义:
intMyIntArray[]={10,20,30,40,50,60,70};则执行以下几个语句后的输出结果是。
ints=0;
for(inti=0;iif(i%2==1)s+=MyIntArray[i];
System.out.println(s);
12、在Java程序中,通过类与类之间只能实现继承,即一个类只能有一个父类;而一个类可以实现多个,从而实现继承关系。
13、字符串分为两大类,一类是,使用 类的对象表示;另一类是,使用类的对象表示。
14、为了让关闭框架窗体jf时程序可以自动结束运行,需要使用的语句是 。
15、byteb1=4;byteb2=-4;表达式b1>>2的值为 ;表达式b1<<2的值是 ;表达式b2>>>10与b2>>>=10的结果相同还是不同 。
三、程序填空题。
(每空格2分,共30分)
1、计算1/1+1/2+1/3+...+1/100的值。
publicclassSum{
publicstaticvoidmain(Stringargs[]){
doublesum=0.0;
for(inti=1;i<=100;i++)
System.out.println("sum="+sum);
}
}
2、从标准输入(即键盘)读入10个整数存入整型数组a中,然后逆序输出这10个整数。
importjava.io.*;
publicclassReverse{
publicstaticvoidmain(Stringargs[]){
inti,n=10;
inta[]=
for(i=0;itry{
BufferedReaderbr=new//定义缓冲标准输入流
a[i]=//输入一个整数
}catch(IOExceptione){};
for//逆序输出数组a中的元素
System.out.println();
}
}
3、创建一个标题为"按钮"的窗框,窗框中显示有"按下我"字样的按钮。
importjava.swing.*;
publicclassabc{
publicstaticvoidmain(Stringargs[]){
JFrameframe=
frame.show();
}
}
classFrameOutextendsJFrame{
JButtonbtn;
FrameOut(Stringstr){
btn=new
Containercp=
cp.setLayout();//采用流布局方式进行布局管理
setSize(300,200);
}
}
4、求两个数的最大值。
importjava.io.*;
publicclassabc{
publicstaticvoidmain(Stringargs[]){
inta=
intb=
System.out.println();
}
classMaxClass{
staticintmax(intx,inyy){
}
}
5、找出下列程序中出错的语句并修改,给出修改后的程序运行结果
byteb=200;
floatf=7.549f;
inti;
System.out.println(b);
System.out.println(i=f);
出错语句为:
应修改为
应修改为
修改后程序输出结果为:
6、找出下列程序中出错的语句并修改,给出修改后的程序运行结果
publicclassPerson{
Stringname,id,sex;
finalstaticStringnationality;
intage;
Person(Stringna,Stringi,Stringnation){
name=na;
id=i;
nationality=nationality;
}
publicstaticvoidmain(String[]ar