Java语言程序设计期末复习综合练习题答案_第1页
Java语言程序设计期末复习综合练习题答案_第2页
Java语言程序设计期末复习综合练习题答案_第3页
Java语言程序设计期末复习综合练习题答案_第4页
Java语言程序设计期末复习综合练习题答案_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java语言程序设计期末复习综合练习题

一、选择题。

2.main方法是JavaApplication程序执行的入口点,关于main方法的方

法头以下哪项是合法的()

A、publicstaticvoidmain()

B、publicstaticvoidmain(Stringargs[])

C、publicstaticintmain(String[]arg)

D、publicvoidmain(Stringarg[])

答:B

4.下列哪个是合法的Java标识符(

)

A、Tree&GlassesB、FirstJavaApplet

C、_$theLastOneD、273.5

答:B、C

5.JavaApplication源程序的主类是指包含有()方法的类。

A、main方法B、toString方法

C^init方法D、actionPerfromed方法

答:A

6.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用

()个比特位。

A、8B、16C、32D、64

答:B

7.设a=8,则表达式a>>>2的值是()。

-1-

A、1B、2C、3D、4

答:B

8.若a的值为3时,下列程序段被执行后,c的值是多少(

c=1;

if(a>0)if(a>3)c=2;elsec=3;elsec=4;

A、1B、2C、3D、4

答:C

9.在编写JavaApplication程序时,若需要使用到标准输入输出语句,必

须在程序的开头写上()语句。

A、importjava.awt.*;B、importjava.applet.Applet;

C、importjava.io.*;D、importjava.awt.Graphics;

答:C

10.对于构造函数,下列叙述正确的是()。

A、构造函数是类的一种特殊函数,它的方法名必须与类名相同。

B、构造函数的返回类型只能是void型。

C、构造函数的主要作用是完成对类的对象的初始化工作。

D、一般在创建新对象时,系统会自动调用构造函数。

答:ACD

11.下面的是关于类及其修饰符的一些描述,正确的是:()。

A、abstract类只能用来派生子类,不能用来创建abstract类的对象。

B、final类不但可以用来派生子类,也可以用来创建Mal类的对象。

-2-

C、abstract不能与final同时修饰一^类。

D、abstract方法必须在abstract类中声明,但abstract类定义中可以没

有abstract方法。

答:ACD

13.若在某一个类定义中定义有如下的方法:abstractvoidperformDial();

该方法属于()。

A、本地方法B、最终方法C、解态方法D、抽象方法

答:D

14.下列关于静态初始化器的叙述中,哪一个是正确的()

A、静态初始化器是在构造函数之前加上static修饰符。

B、静态初始化器是对类自身进行初始化。

C、静态初始化器在同一个类中只能有一个。

D、静态初始化器是在其所属的类加载内存时由系统自动调用执行。

答:BD

15.不使用static修饰符限定的方法称为对象(或实例)方法,下列哪一个

说法是正确的(

A、实例方法可以直接调用父类的实例方法。

B、实例方法可以直接调用父类的类方法。

C、实例方法可以直接调用其他类的实例方法。

D、实例方法可以直接调用本类的类方法。

答:BD

-3-

16.设有下面两个类的定义:

classPerson{classStudentextendsPerson{

longid;//身份证号intscore;//入学总分

Stringname;//姓名intgetScore(){

}returnscore;

)

)

问:类Person和类Student的关系是()。

A、包含关系B、继承关系

C、关联关系D、无关系,上述类定义有语法错误

答:B、

17.设有下面的两个类定义:

classAA{

voidShow(){System.out.printin("我喜欢Java!");

}

classBBextendsAA{

voidShow(){System.out.println("我喜欢C++!");

}

则顺序执行如下语句后输出结果为:()

AAa;BBb;

a.Show();b.Show();

A、我喜欢Java!B、我喜欢C++!

-4-

我喜欢C++!我喜欢Java!

C^我喜欢Java!D、我喜欢C++!

我喜欢Java!我喜欢C++!

答:A

19.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数

的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特

性称为()。

A、隐藏B、覆盖C、重载D、Java不支持此特性

答:C

20.对于构造函数,下列叙述正确的是()o

A、构造函数也允许重载。

B、子类无条件地继承父类的无参构造函数。

C、子类不允许调用父类的构造函数。

D、在同一个类中定义的重载构造函数可以相互调用。

答:ABD

22.设有下面两个赋值语句:

a=lnteger.parselnt("1024");

b=lnteger.valueOf(i'1024',).intValue();

下述说法正确的是()。

A、a是整数类型变量,b是整数类对象。

B、a是整数类对象,b是整数类型变量。

C、a和b都是整数类对象并且它们的值相等。

-5-

D、a和b都是整数类型变量并且它们的值相等。

答:D

24.下面的语句的作用是:()。

VectorMyVector=newVector(100,50);

A、创建一^数组类对象MyVector,有100个元素的空间,每个元素的初

值为50o

B、创建一^向量类对象MyVector,有100个元素的空间,每个元素的初

值为50o

C、创建一个数组类对象MyVector,有100个元素的空间,若空间使用完

时,以50

个元素空间单位递增。

D、创建一个向量类对象MyVector,有100个元素的空间,若空间使用完

时,以50

个元素空间单位递增。

答:D

25.在Java中,存放字符串常量的对象属于()类对象。

A、CharacterB、String

C、StringBufferD、Vector

答:B

31.对于子类的构造函数说明,下列叙述中不正确的是()o

A、子类无条件地继承父类的无参构造函数。

B、子类可以在自己的构造函数中使用super关键字来调用父类的含参

数构造函

数,但这个调用语句必须是子类构造函数的第一个可执行语句。

-6-

C、在创建子类的对象时,将先执行继承自父类的无参构造函数,然后

再执行

自己的构造函数。

D、子类不但可以继承父类的无参构造函数,也可以继承父类的有参构

造函数。

答:D

二、填空题。

2.设x=2,则表达式(x++)*3的值是o

答:6

3.若x=5,y=10,则x>y和x<=y的逻辑值分别为和。

答:false、true

4.顺序执行以下两个语句的输出结果是:o

Strings="我喜欢学习Java!”;

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

答:10

5.据程序的构成和运行环境的不同,Java源程序分为两大类:

程序和程序。

答:JavaApplication、JavaApplet(或Application、Applet)

6.如果一个Java源程序文件中定义有4个类,则使用Sun公司的JDK编

译器javac编译该源程序文件将产生个文件名与类名相同而扩展名为

的字节码文件。

答:4、class

7.开发与运行Java程序需要经过的三个主要步骤为、

和O

-7-

答:编辑源程序、编译生成字节码、解释运行字节码

9.一^JavaApplication源程序文件名为MyJavaApplication.java,如果使

用Sun公司的Java开发工具JDK编译该源程序文件并使用其虚拟机运算这个

程序的字节码文件,应该顺序执行如下两个命令:

答:javacMyJavaApplication.java、javaMyJavaApplication

10.在Java的基本数据类型中,char型采用Unicode编码方案,每个

Unicode码字符占用字节内存空间,这样,无论是中文字符还是英文字

符,每个都是占用字节内存空间。

答:2、2

11.在Java程序中定义的类有两种成员:、o

答:域成员、方法成员

13.创建一个名为MyPackage的包的语句是,

该语句应该放在程序的位置为:O

答:packageMyPackage;应该在程序第一句。

14.方法是一种仅有方法头,没有具体方法体和操作实现的方法,该

方法必须在抽象类之中定义。方法是不能被当前类的子类重新定义的方

法。

答:抽象方法、最终方法(或abstract方法、行nal方法)

15.形式参数指的是方法被时的参数行,实际参数是方法被

时所传递进去的变量或值。

-8-

答:定义、调用

16.多态是指,在Java中有两种多态,一

种是使用方法的实现多态,另一种是使用方法的实现多态。

答:一个程序中有多个同名的不同方法覆盖重载

17.在Java程序中,通过类的定义只能实现重继承,但通过接口的

定义可以实现重继承关系。

答:单、多

19.字符串分为两大类,一类是字符串常量,使用类的对象表示;

另一类是字符串变量,使用类的对象表示。

答:String、StringBuffer

20.设有数组定义:intMylntArray[]={10,20,30,40,50,60,70,

80,90,100);

则执行以下几个语句后的输出结果是O

ints=0;

for(inti=0;i<MylntArray.length;i++)

s+=MylntArray[i];

System.out.println(s);

答:550

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

1.publicclassSum

{publicstaticvoidmain(Stringargs[])

{doublesum=0.0;

-9-

for(inti=1;i<=100;i++)

sum+=1.0/(double)i;

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

)

)

答:计算1/1+1/2+1/3+..+1/100的值。

2.importjava.io.*;

publicclassReverse

{publicstaticvoidmain(Stringargs[])

{inti,n=10;

inta[]=newint[10];

for(i=0;i<n;i++)

try{

BufferedReaderbr=newBufferedReader(

newInputStreamReader(System.in));

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

}catch(lOExceptione){};

for(i=n-1;i>=0;i一)

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

System.out.println();

}

)

-10-

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

10个整数。

4.importjava.io.*;

publicclassClassi

(

publicstaticvoidmain(Stringargs[]){

inti,Max,Min;

inta[]={12,67,8,98,23,56,124,55,99,100};

Max=Min=a[0];

for(i=1;i<a.length;i++){

if(a[i]<Min)Min=a[i];

if(a[i]>Max)Max=a[i];

}

System.out.println(Max+""+Min);

System.out.println();

)

)

答:在数组中查找并输出最大值和最小值。

5.publicclassABC

(

publicstaticvoidmain(Stringargs[]){

-11-

inti,j;

inta[]={12,67,8,98,23,56,124,55,99,100};

for(i=0;i<a.length-1;i++){

intk=i;

for(j=i;j<a.length;j++)

if(aD]<a[k])k=j;

inttemp=a[i];

a[i]=a[k];

a[k]=temp;

)

for(i=0;i<a.length;i++)

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

System.out.println();

)

)

答:使用选择法对数组a的数据进行升序排序,然后输出排序后的结果。

6.importjava.io.*;

publicclassClassi{

publicstaticvoidmain(Stringargs[])

(

FactN=newFact(4);

System.out.println(N.fact());

-12-

)

)

classFact{

intn;

Fact(intnn){n=nn;}

intfact(){

inti,f=1;

for(i=1;i<=n;i++)

f=f*i;

returnf;

)

)

答:定义一个计算n!的类Fact,然后主类中创建一个对象求解4!的值。

8.importjava.io.*;

publicclassClassi{

publicstaticvoidmain(Stringargs[])

{SubClassa=newSubClass(10,3);

System.out.println(a.exp());

)

)

classSuperClass{

-13-

floatx;

intn;

SuperClass(floatxx,intnn){x=xx;n=nn;}

)

classSubClassextendsSuperClass{

SubClass(floatxx,intnn){super(xx,nn);}

floatexp(){

floats=1;

for(inti=1;i<=n;i++)s=s*x;

returns;

}

)

答:定义一个计算Xn的类,然后用该类求103的值。

10.importjava.io.*;

publicclassabc

{publicstaticvoidmain(Stringargs[])

{SubClasssb=newSubClass();

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

}

)

classSuperClass

-14-

{inta=10,b=20;}

classSubClassextendsSuperClass

{intmax(){return((a>b)a:b);}}

答:求两个数的最大值。

四、写出下面程序的运行结果。

1.importjava.io.*;

publicclassabc

{publicstaticvoidmain(Stringargs[])

{ABs=newAB("Hello!","lloveJAVA.");

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

)

)

classAB{

Strings1;

Strings2;

AB(Stringstr1,Stringstr2)

{s1=str1;s2=str2;}

publicStringtoString()

{returns1+s2;}

)

答:Hello!IloveJAVA.

-15-

2.importjava.io.*;

publicclassabc

{

publicstaticvoidmain(Stringargs[])

{inti,s=0;

inta[]={10,20,30,40,50,60,70,80,90};

for(i=0;i<a.length;i++)

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

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

)

)

答:s=180

3.importjava.io.*;

publicclassabc

(

publicstaticvoidmain(Stringargs[])

{SubSubClassx=newSubSubClass(10,20,30);

x.show();

)

)

classSuperClass

-16-

{inta,b;

SuperClass(intaa,intbb)

{a=aa;b=bb;}

voidshow()

{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;

)

voidshow()

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

}

-17-

答:a=60

b=20

c=30

4.importjava.io.*;

publicclassabe

(

publicstaticvoidmain(Stringargs[])

(

Strings1="Hello!";

Strings2=newString("World!");

System.out.println(s1.concat(s2));

)

)

答:Hello!World!

5.importjava.io.*;

publicclassABC

(

publicstaticvoidmain(Stringargs[])

{inti;

inta[]={11,22,33,44,55,66,77,88,99};

for(i=0;i<=a.length/2;i++)

-18-

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

System.out.println();

)

)

答:110110110110110

6.importjava.io.*;

classParent

(

voidprintMe()

(

System.out.println("parent");

)

)

classChildextendsParent

(

voidprintMe()

(

System.out.println("child");

}

voidprintAII()

(

super.printMe();

-19-

this.printMe();

printMe();

)

}

publicclassClassi

(

publicstaticvoidmain(Stringargs[])

(

ChildmyC=newChild();

myC.printAII();

)

)

答:parent

child

child

五、使用Java语言编写程序。

1.编写一个字符界面的JavaApplication程序,接受用户从键盘输入的一

个正整数,然后统计并输出从1到这个正整数的累加和。

答:参考程序如下:

importjava.io.*;

publicclassSUM

-20-

publicstaticvoidmain(String[]args)

inti,n=-1,sum=0;

while(n<1)

try(

BufferedReaderbr=

newBufferedReader(new

InputStreamReader(System.in));

n=Integer.parseInt(br.readLine());

}catch(lOExceptione){};

for(i=1;i<=n;i++)sum+=i;

System.out.println(sum);

)

)

2.编写一^字符界面的JavaAppli

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论