java期末复习参考_第1页
java期末复习参考_第2页
java期末复习参考_第3页
java期末复习参考_第4页
java期末复习参考_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

一、选择题

1.编译Java程序的命令文件名是(C)

A.java,exeB.java,cC.javacD.appletviewer,exe

2.编译Java程序filename.java后,生成的程序是(C)

Afilename.htmlBfilename.javCfilename.classDfilename.jar

3.下面声明Java独立应用程序main()方法中,正确的是(A)

Apublicstaticvoidmain(Stringargs[]){........)

Bprivatestaticvoidmain(Stringargs[]){........}

Cpublicvoidmain(Stringargs[]){........}

Dpublicstaticvoidmain(Stringargs){.......}

4.下列有关Java布尔类型的描述中,正确的是(A)

A一种基本的数据类型,它的类型名称为boolean

B用int表示类型

C其值可以赋给int类型的变量

D有两个值,1代表真,0代表假

5.下面变量定义错误的是(B)

Afloatx;y;Bfloatx,y=2.33f

Cpublicinti=100,j=2,k;Dcharchl='m',ch2='\';

6.设有定义语句“inta[]={66,88,99}“,则关于该语句的叙述错误的是(C)

A定义了一个名为a的一维数组

Ba数组有三个元素

Ca数组的下标为1~3

D数组中的每个元素的数据类型都是int型

7.若已定义:"inta[已{0,1,2,3,4,5};”,则对a数组元素正确的引用是(C)。

Aa[-lJBa[6]Ca[5]Da(0)

8.现有整型数组inta[]={10,21,28,-3,84,55};为了打印输出数组的各个元素,下面正确的代码是(D)

Afor(inti=0;i<=6;i++)Bfor(inti=0;i<5;i++)

System,out.println(a[i]);System,out.println(a[i]);

Cfor(inti=0;iva.length;i++)Dfor(inti=0;i<a.length;i++)

System,out.println(a(i));System,out.println(a[i]);

9.定义一个类Point,类中有两个double型变量x和y,对于构造函数的声明错误的是(A)

APointPoint(intx){.......)BpublicPoint(intx){.......}

CpublicPoint(intx,inty){.......}DpublicPoint(Pointp){.......}

10.有关类的说法正确的是(B)

A类具有封装性,所以类的数据是不能被访问的

B类具有封装性,但可以通过类的公共接口访问类中的数据

C声明一个类时,必须用public修饰符

D每个类中,必须有main方法,否则程序无法运行

11.以下关于构造函数及其重载的说法正确的是(D)

A类定义了构造函数,Java就不会自动为该类创建默认的不带参数的构造函数

B构造函数不能对私有变量初始化

C•个类中含有儿个构造函数,称为构造函数的重载。对于重载的函数,其参数列表可以相同。

D重载的构造函数之间可以通过关键字this在构造函数中的任意位置相互调用

12.以下关于类对象的使用,说法正确的是(B)

A通过构造函数实例化一个类对象后,在类的内部,不管变量的访问修饰符是私有的还是共有的,都可

以通过“对象名.变量名”对变量进行访问

B在类的外部调用类对象拥有的方法必须用“对象名.方法名()”

C同一个类的对象之间可以赋值,且他们分别代表不同的对象

D类对象可以作为方法的参数,这时在方法体中可以引用对象的变量和调用对象的方法

13.下列关于继承的哪项叙述是正确的?(D)

A在java中允许多重继承

B在java中一个类只能实现一个接口

C在java中•个类不能同忖继承一个类和实现•个接口

Djava的单一继承使代码更可靠

14.Java中所有类的父类是(D)

AFatherBLangCExceptionDObject

15.下列Java常见事件类中哪个是鼠标事件类?(C)

AInputEvent

BKeyEvent

CMouseEvent

DWindowEvent

16.下列为窗口事件的是(B)

AMouseEvent

BWindowEvent

CActionEvent

DKeyEvent

17.若有以下类声明:

PublicclassAextendsBimplementsC,D{....}

下面说法错误的是(A)

A这个声明是错误的

B类A继承自父类B

CC和D是接口,类头的定义声明类A实现接UC和D

D关键字extends指明类的继承关系

18.下列哪个选项是创建一个标识有“关闭”按钮的语句?(C)

ATextFieldb=newTextField("关闭");

BTextAreab=newTextArea(“关闭");

CButtonb=newButton("关闭”);

DCheckboxb=newCheckbox("关闭");

19.下列(D)是Java合法的标识符

A.staticB.5stuC.-3eD._atm

20.下列关于继承的描述中,正确的是(B)

A.在Java中允许多重继承

B.Java的单一继承使代码更可靠

C.在Java中一个类只能实现一个接口

D.在Java中一个类不能同时继承一个类和实现一个接口

21.下列(A)符号修饰成员后,可以在Java中用类名前缀直接调用

A.staticB.abstractC.finalD.define

22.下面是findSum(intm,inln)方法的定义,方法调用findSum(l,4)的返|可结果是(D)

intfindSum(intm,intn){

intsum=0;

for(inti=m;i<=n;i++){

sum+=i;

returnsum;

B.4D.10

23.以下关于JAVA程序的叙述中正确的是(D)。

A.在JAVA程序中,main函数必须位于程序的最前面

B.JAVA程序的每行只能有一条语句

C.在对•个JAVA程序进行编译的过程中,可发现注释中的描写错误

D.JAVA程序中必须有一个主函数

24.JAVA语言提供的合法的关键字是(C)。

A.CharB.maxC.switchD.Default

25.下列语句序列执行后,k的值是(C)。

intj=8,k=15;

for(inti=2;i!=j;i+=6){

k++;

)

A.18B.15C.16D.17

26.卜列语句序列执行后,j的值是(D)o

intj=3,i=2;

while(—i!=i/j)

j=j+2;

A.2B.4C.6D.5

27.下列语句序列执行后,i的值是D)o

inti=0;

do{i+=3;}while(i<10);

A.3B.6C.9D.12

28.下列语句序列执行后,k的值是(B)o

inti=6,j=8,k=10,n=5,m=7;

if(!(i<j))k=m+n;elsek=m-n;

A.12B.2C.-2D.10

29.下面关于JavaApplication程序结构特点描述中,错误的是(D)。

A.一个JavaApplication程序由一个或多个文件组成,每个文件中可以定义一个或多个类,每个类由若

干个方法和变量组成。

B.Java程序中声明有public类时,则Java程序文件名必须与public类的类名相同,并区分大小写,扩

展名为.java。

C.组成JavaApplication程序的多个类中,有且仅有一个主类。

D.一个.java文件中定义多个类时,允许其中声明多个public类。

30.编译Java程序后生成的面向JVM的字节码文件的扩展名是(B)。

A..javaB..classC..objD..exe

31.下面哪些选项是正确的main方法说明?(D)

A.voidmain()B.privatestaticvoidmain(Stringargs[])

C.publicmain(Stringargs[])D.publicstaticvoidmain(Stringargs[])

32.若定义有变量floatfl,f2=8.OF,则下列说法正确的是(B)°

A.变量fl,f2均被初始化为8.0B.变量fl没有被初始化,f2被初始化为8.0

C.变量fl,f2均未被初始化D.变量f2没有被初始化,fl被初始化为8.0

33.下面关于类的继承性的描述中,错误的是(C)。

A.继承是在已有的基础上生成新类的一种方法

B.Java语言要求一个子类只有一个父类

C.父类中成员的访问权限在子类中将被改变

D.子类继承父类的所有成员,但不包括私有的成员方法

34.在成员方法的访问控制修饰符中,规定访问权限包含该类自身,同包的其他类和其他包的该类子类的

修饰符是(B)。

A.默认B.protectedC.privateD.public

35.下列关于抽象类的描述中,错误的是(B)o

A.抽象类是用修饰符abstract说明的B.抽象类是不可以定义对象的

C.抽象类是不可以有构造方法的D.抽象类通常要有它的子类

36.下列关于构造方法的叙述中,错误的是(D)。

A.构造方法名与类名必须相同B.构造方法没有返回值,且不用void声明

C.构造方法只能通过new自动调用D.构造方法不可以重载,但可以继承

37.下面关于接口的描述中,错误的是(A)。

A.一个类只允许继承一个接口B.定义接口使用的关键字是interface

C.在继承接口的类中通常要给出接口中定义的抽象方法的具体实现

D.接口实际上是由常量和抽象方法构成的特殊类

38.下列哪些方法与方法publicvoid2<1(1(血2){}为不合理的重载方法?(B)

A.publicvoidadd(chara)B.publicintadd(inta)

C.publicvoidadd(inta,intb)D.publicvoidadd(floata)

39.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调

用它,该方法头的形式为(A)。

A.staticvoidmethod()B.publicvoidmethod()

C.finalvoidmethod()D.abstractvoidmethod()

二、填空

1.类是Java中的一种重要的复合数据类型,是组成Java程序的基本要素。一个类的实现包括两部分:上

声明、类体。

2.Java程序里,对象是类的一个实例。运算符new为对象分配内存空间,它调用对象的构

造方法,返回引用。

3.成员变量表示对象的特征,成员方法表示对象的行为。

4.构造函数的方法名必须与类名相同,使用运算符new创建类的对象,给对象分配内存空

间。

5.定义接U和定义类相似,只是要把定义类的关键字class换为interface.

6.在Java中能实现多重继承效果的方式是」

7.面向对象的语言将客观世界都看成由各种对象所组成的,共同特征和行为的对象组成类,类是属性

和方法的集合。

8.同一个类中多个方法具有相同的方法名,不同的参数列表称为方法的重载。

9.一个类可以从它的父类中继承所有的属性和方法。采用这种方法可以提高软件的重用性。

10.在Java程序里类之间的继承关系只能是单继承。

11.继承就是在已经存在类的基础上再扩展产生新的类。已经存在的类称为父类,新产生的类称为

子类。

13.更鱼至只描述系统所提供的服务,而不包含服务的实现细节。

14.构造方法的方法名与类名相同,若类中没有定义任何的构造方法,则运行时系统会自动为该类生成一

个默认构造方法。

15.在方法体内定义的变量是局部变量

16.构造函数是一个特殊的方法,用于创建一个类的实例。

17.类成员的访问控制符有public、private>prolected和默认四种。

18.若子类和父类在同一个包中,则子类继承父类中的public、protected和默认成员,将其作为子类的成员,

但不能继承父类的private成员。

19.子类直接赋值给父类时,子类对象可自动转换为父类对象,父类赋值给子类时,必须将父类对象强制

转换为子类对象。

20.Java语言中,定义子类时,使用关键字extends来给出父类名。

21.实现接口中的抽象方法时,必须使用抽象类的方法头。

22.接口中定义的数据成员均是岫皿,所有成员方法均为public方法,且没有private方法。

23.this代表当前对象的引用,super表示的是当前对象的直接父类对象。

24.如果一个类包含一个或多个abstract方法,则它是一个abstract类。

25.接口中只能包含public类型的成员变量和public类型的成员方法。

26.JAVA应用程序运行的第一个函数是main

27.JAVA源文件的扩展名为.iava,字节码的扩展名.class。

28.标识符是由字母.下划线.$为开头

29.inta=6,b=5;floatc;c=a/b;贝llc的侑为1.0

30.JAVA源文件的文件名必须与公共类保持一致。

32.定义一个单精度浮点型变量f,并赋值为I.56,JAVA语句为floatf=1.56F。

33.intx=2,y=5;booleanb;b=++x>4&++y<3,则x、y、b的俏.为3.6.false<1

34.floatf=33.7;f=f%10;则f的值为3.7°

三、程序填空

1.本程序的功能是输出0到20之间所有奇数的和。

publicclassExam_l{

publicstaticvoidmain(String[]args){

inisum=0;

inti=0;

while(i<20){

if(i%2!=0或i%2==l)

sum=sum+i;

1=1+1或1++或++1;

)

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

)

)

2.本程序计算20以内的随机整数的阶乘。

importjava.util.Random;

publicclassExam_l{

publicstaticvoidmain(Stringargs[]){

Randomrandom=newRandom();

floatx=random.nextFloat();〃产生0.0与1・0之间的一个浮点数

intn=Math.round(20*x);〃构造20以内的一个整数

longf=1;〃保存阶乘的结果

intk=1;〃循环变量

〃*********Found********

do{f=f*k;

k++;

}while(kv=n);

System.out.println(n+n!=n4-f);

3.本程序显示数组的长度及每个数组元素的值。

publicclassAnayLength{

publicArrayLength(){

)

publicstaticvoidmain(String[]args){

intc[]=newint[]{1,4,7,2,5};

System.out.println(utheLengthisH4-c.length);

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

(

System.out.println(,,cl,,+i+u|=n+c|II);

)

)

I

4.本程序为定义一个整型数组,输出数组的长度

publicclassArrayDf

(

publicstaticvoidmain(String[]args)

(

int[JintArray;

intArray=newint[10];

System.out.printin("数组长度:"+intArray.length):

)

)

5.本程序为把数组a的第四个数组元素值修改为31,并显示修改前和修改后数组a的全部数组元素

publicclassAnayCopy

(

publicstaticvoidmain(Stringl]args)

(

int[]a={12,3,19,2,10,13,9};

int[]_b;

b=_a;

System,out.println(HBeforeModifying:");

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

(

System.out.print(Ma["+i+"]=u+a[i]+n”);

}

System.out.println(,M');

bf3]=31;

System.out.printingAfterModifying:");

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

(

System.out.print(,,a[,,+i+,']=u+a[i]+"");

6.以下程序段的输出结果为Messagefour

Intx=0,y=4,z=5;

If(x>2){

If(y<5){

System.out.println(4tMessageone");

)

Else

(

System.out.println(t4MessageTwo");

)

)

Elseif(z>5){

System.out.println(4tMessagethree");

}else{System.out.println(44Messagefour");}

7.写出以下程序的输出结果Valueistwo.

Valueisthree.

Intj=2;

Switch(j){

Case2:

System.out.printlnC4Valueistwo.");

Case2+1:

System.out.printingValueisthree.");

Break;

Default:

System.out.printlnC'Valueis"+j);

Break;

)

8.下列程序运行后,输出的结果是556

publicclassTest{

publicstaticvoidmain(String[]args){

intc=5;

System,out.println(c);

System,out.println(c++);

System,out.println(c);

9.下列程序运行后,输出的结果是_i>8_

publicclassIfelse{

publicstaticvoidmain(String[]args){

inti=9;

if(i<3)

System.out.println("iv3'’);

else

if(i<8)

System.out.prinUn(“3viv8'’);

else

System.out.println("i>8”);

)

)

10.下列程序运行后,输出的结果是defaultZeroOne

publicclassBase{

publicstaticvoidmain(String[]args){

inti=4;

switch(i){

default:System.out.print("default’');

case0:System,out.print("Zero’');

case1:System,out.print("One'');break;

case2:System.out.print("Two");

四、写出程序的运行结果:

1.

classFruitThreadextendsThread{

publicFruitThread(Stringname){

super(name);

)

publicvoidrun(){

System,out.println(this.getName());

System.out.println(uDonen+this.getName());

)

}

publicclassTwoFruit{

publicstaticvoidmain(String[]args){

newFruitThread("苹果").start();

)

}

程序运行的结果是:

苹果

Done苹果

2.

publicclasstestimplementsRunnable{

publicvoidrun(){

for(inti=3;i<=15;i++){

if(isPrime(i))

System.out.print(i4-"\t");

)

I

publicbooleanisPrime(intn){

booleanb=true;

for(inti=2;i<n-l&&b;i++){

if((n%i)==0)b=false;

)

returnb;

)

publicstaticvoidmain(String[]args){

Threada=newThread(newtest());

a.start();

)

}

程序运行的结果是:

3571113

3.

classthreadAimplementsRunnable{

publicvoidrun(){

for(inti=0;i<10;i++){

System,out.println("i="+i);

if(i==2)break;

)

)

)

publicclasstest{

publicstaticvoidmain(String[Jargs){

Threada=newThread(newthreadA());

a.start();

)

}

程序运行的结果是:

i=0i=1i=2

4.

classal

{intx=9;}

classccextendsal

{intx=25;

publicstaticvoidmain(Stringargs[])

(

intsl,s2;

alp=newal();

ccpl=newcc();

sl=p.x;

s2=pl.x;

System.out.println(44sr,+sl);

System.out.println("s2''+s2);

)

)

程序运行的结果是:

sl9s225

5.

publicclassAimplementsB

{staticintm;

publicstaticvoidmain(Stringargs[])

{m=B.k;

System,out.println(m);

Aa=newA();

a.myMethod();

}

publicvoidmyMethod()

{System,out.println(++m);}

}

interfaceB

(

intk=5;

voidmyMethod();

)

程序运行的结果是:

56

6.

classPerson(

publicStringname;

publicintage;

publicvoidshow(){

System,out.println("name=n+name);

System,out.println(,'age=,'+age);

classStudentextendsPerson{

publicStringschool;

publicvoidshow(){

super.show();

System,out.println(uschool=n4-school);

)

}

publicclassTest5{

publicstaticvoidmain(String[]args){

Studentsl=newStudent();

="张三";

si.age=20;

si.schoo『”长春职业技术学院”;

Personpl=sl;

p1.show();

)

)

程序运行的结果是:

name=张三age=20school=长春职业技术学院

7.

publicclassTest{

publicstaticvoidmain(String[]args){

intsum=3,a=4,b=6,c=7;

while(a<b){

while(b!=c){

sum+=b;

b++;

)

b=6;

a++;

)

System,out.println(sum);

)

)

程序运行的结果是:

15

8.

publicclassTest{

publicstaticvoidmain(String[]args){

intx=10;

for(inti=5;i<20;i++){

if(i==10)break;

X++;

System,out.println(x);

}

)

程序运行的结果是:

15

9.

publicclassTest{

publicstaticvoidmain(String[]args){

inta=16,b=2;

do{

a/=b;

}while(a>3);

System,out.println(a);

程序运行的结果是:

2

10.

publicclassTest{

publicstaticvoidmain(String[Jargs){

for(inti=0;i<10;i++){

if(i%2==0)continue;

if(i%7==0)break;

System,out.print(i);

程序运行的结果是:

135

五、基本编程题目

1、请写出完整的程序代码,定义一个类,类名为Test,求1到10的阶乘

PublicTest(

Publicstaticvoidmain(String[]argv){

Longresult=1;

For(inti=l;i<=10;i++){

result=result*i;

System.out.printlnC'l到10的阶乘是:"+result);

2、请写出完整的程序代码,类名为Test,利用for语句打印九九乘法表。

publicTest{

publicstaticvoidmain(String[]argv){

longresult=1;

for(inti=l;i<=9;i++){

For(intj=1;j<=iJ++){

result=i*j;

System.out.print(i+、'*''+j+'t'+result+

)

System.out.printing");

3、请写出完整的程序代码,类名为Test,求1+2+3+……100的奇数的和

publicTest{

publicstaticvoidmain(String[]argv){

longresult=1;

for(inti=l;i<=100;i++){

if(i%2==0)

continue;

result=result+i;

)

System.out.printing1至lj100奇数的和是:,?+result);

编写子Application程序,实现求出1—100之和

publicclassabc)

publicstaticvoidmain(String[]args){

for(inti=I,sum=0;i<=100;i++)

sum+=i;

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

}

}

六、综合编程

(一)、编写一个类:People,包括三个属性name(字符串类型),age(整型),sex(字符串类型)。为其

建立4个构造方法,分别为一个无参数的构造方法、一个包含参数为name的构造方法(方法内容为对name

成员变量赋初值)、一个包含参数为name和age两个参数的构造方法(方法内容为对name、age两个成员

变量赋初值)、一个包含参数为name、age、sex三个参数的构造方法(方法内容为对.name、age、sex三个

成员变量赋初值)。包含一个无参数无返回值的普通方法show(),此方法的功能为输出name、age>sex三

个成员变量的值,show方法的输出格式为“姓名为:**,年龄为:**,性别为:叱。编写测试类Test,分别使用

四个构造方法创建对象pl,p2,p3,p4,且分别调用其show()方法。

要求:

1.类名、成员变量名、方法名分别使用题目给出的英文命名

2.People类和测试类放在一个文件中进行编写;

3.程序的入口类为测试类;

程序运行情况:

1.使用无参数的构造方法建立对象pl,调用其show()方法,在控制台能够查看输出。

2.使用带有一个参数的构造方法建立对象p2,name值设为“马晓春”调用其show()方法,在控制台能够查

看输出。

3.使用带有2个参数的构造方法建立对象p3,name值设为“常昊”,age设为34,调用其show。方法,在

控制台能够查看输出。

4.使用带有3个参数的构造方法建立对象p4,name值设为“聂卫平”,age设为58,sex设为“男”,调

用其show。方法,在控制台能够查看输出。

正确答案:

publicclassTest{

publicTest(){

)

publicstaticvoidmain(String[]args){

Peoplepl=newPeople();

pl.show();

Peoplep2=newPeople("马晓春)

p2.show();

Peoplep3=newPeople(“常昊”,34);

p3.show();

Peoplep4=newPeople("聂卫平”,58」男

p4.show();

1

)

classPeople

(

Stringname,sex;

intage;

People()

People(Stringname)

=name;

)

People(Stringnamejntage)

(

=name;

this.age=age;

)

People(Stringname,intage,Stringsex)

{

=name;

this.age=age;

this.sex=sex;

}

publicvoidshow()

(

System.out.println("姓名为:"+name+”,年龄为:"+age+”,性别为:n+sex);

}

(二)、编写一个类Student,包括4个属性(即成员变量):name(字符串类型)、sex(性别)、grade(整型)、age(整

型)。为这个4个属性分别建立其对应的get方法和set方法。在main方法中定义Student

温馨提示

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

评论

0/150

提交评论