JAVA语言程序设计期末考试试题及答案_第1页
JAVA语言程序设计期末考试试题及答案_第2页
JAVA语言程序设计期末考试试题及答案_第3页
JAVA语言程序设计期末考试试题及答案_第4页
JAVA语言程序设计期末考试试题及答案_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

JAVA语言程序设计考试试题及部分答案

一、单选题:(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,

请将正确选项的标记写在题干后的括号内。

1.下列语句序列执行后,K的值是(B

intm=3,n=6,k=0;

while((m++)<(-n))++k;

A)0B)102D)3

2.设i、J为im型变量名,a为ini型数组名,以下选项中,正确的赋值语句是(B)。

A)i=i+2B)a|01=7;

0I++--J;D)a(0)=66;

3.Java语言的类间的继承关系是(B)。

A)多重的B)单重的Q线程的D)不能继承

4.设有定义hi"=6;,则执行以下语句后,i的值为

i+=i-l;

A|10B)121011D)100

5.下列选项中,用于在定义子类时声明父类名的关键字是(C)。

A)interfaceB)package0exlendsD)class

6.若已定义bytellx=<11,22,33,-66);

其中0WKW3,则对X数组元素错误的引用是(C)。

A)XI5-31B)X(k|0Xlk+51D)X(0]

7.下列语句序列执行后,Chi的值是(B)。

charclrt=,A,,€h2='W;

if(thl+2<ch2)++chl;

A)'A'B)WoTD)B

8.下列语句序列执行后,1的值是(D)。

int1=8,1=16;

elsej-;

A(15B)16O7D)8

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

1011=10,)=18,k=30;

swit€h(J-I)

{case8:k++;

case9:k+=2;

case10:k+=3;

default:k/=|;

}

A(31B)3202D)33

10下面语句执行后,I的值是(B)°

ior(int1=0,j=l;j<5;j+=3)l=l+j;

A)4B)5O6D)7

11.设有定义BoalX=3.53=4・61,片5.71;则以下的表达式中,值为inw的是(B)。

A)x>y11x>zB)x!=y

Oi>(y+x)D)x<y&!(x<z)

12下列语句序列执行后,1的值是(D)。

int1=16;

do{l/=2;}while(i>3);

A|16B)8C)4D)2

13以下由for语句构成的循环执行的次数是(B)。

for(intI=0;true;i++);

A)有语法错,不能执行B)无限次

Q执行1次D)一次也不执行

14定义类头时能使用的修饰符是(C

A)privateB)static0abstractD)protected

15.设Ini型变量a、b,float型变量x、y,char型变量ch均已正确定义并赋值,

正确的swllcli语句是D)。

A)switch(x+y)B)switch(ch+1)

{…}{…}

0switchchD)swiicn(a+D);

{….}{…}

16.下列最终属性I的定义中,正确的是(

A)staticfinalint1=100;B)finalInti=1.2;

0finali=*wa;D)finalchari;

n,下列类定义中,不正确的是代

A)classx{....}

B)classxextendsy{....}

0staticclassximplementsyl,y2{....}

D)publicclassxextendsApplet{....}

18,设*、y为已定义的类名,下列声明x类的对象xl的语句中正确的是()0

A)staticxxl;B)publicxxl=newx(int123);

0yxl;D)xxl=x();

19.设1、j、K为类x中定义的int型变量名,下列类x的构造函数中不正确的是(B)o

A)x(intmH...}B)voidx(IntmR...}

0x(lntm,intnX...}D)x(inihjntmjntn){...}

20,下列方法定义中,正确的是(A)。

A)intx(Xcharch=*a';return(int)ch;}

B)voidx(K...returntrue;}

0Intx(){...returntrue;)

D)intx(inta,b){returna+b;}

21,用于定义类成员的访问控制权的一组关键字是(D)。

A)class,float,double,public

BHloat,boolean,intlong

0char,extends,float,double

D)puDiic,pnvaie,proieciea

22,不能构成循环的语句是(t)。

A)for语句B)while语句0switch语句D)do_while语句

23,下列程序段执行后h3的结果是(D)。

booleanbl=true,b2,b3;

24=bl?bl:b2;

trueD)false

25下面数据结构中,属于非线性的是(B)。

A)线性表B)树C)队列D)堆栈

11.设有定义mt1=123;longj=456;下面赋值不正确的语句是(D)。

A)j=i;BH=(long)l;Oi=(intM;D)i=J;

二、填空题:(每空1分)

1.构造函数_没_有返回值。

2.Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为HoatWdouble

两种具体类型。

3.创建类对象的运算符是_new。

4,当整型变量n的值不能被13除尽时,其值为false的Java语言表达式是

_n%13==0___________o

5.在Java语言中,所有的数组都有一个lenqm属性,这个属性存储了该数组的一元素个数。

6,定义类就是定义一种抽象的父类,它是所有具有一定共性的对象的抽象描述。

7.在java语言中,使用—平台无关一、―lava虚拟机—等技术,实现软件重用。

8.表达式3/6♦5的计算结果是—0―o

9.下面是一个类的定义:

publiccla舞」nlMyclass

(

intx,y;

Myclass(intL=0)//构造函数

(

x=l;

y=l;

)

)

io,下面是一个javaAmmcaiion的主类的定义,其功能是输出所有命令行参数。

Importjava.io.*;

publicclassMyClass

(

publicstaticvoidmain(StringartslI)

(

H(args.length!=_0_)

lordnti=0;i<args.length;1++)

Svstem.oul.Drintln(,,i=,,+i):

else没有命令行参数);

)

)

11下面是一个小程序的主类nyprotrani的定义,其中A、B是该主类所在源程序中己定义的另两个

类的类名:

importlavaawl.*;

Importfavaapplet.*;

publicclassmyprogram函end§A叩砥〃定义小程序的主类

{

Aa;Bb;

publicmyprogram_init()

{a=newA();b=new_B();}

}

12java的复合数据类型有:类、数组和—接口一等,Java的简单数据类型有:数值类型(整

形和浮点类型),自负类型和布尔类型

13,表达式3/6*5的计算结果是_0。

14,定义初值为10的10次方的长整型变量Ivar的语句是:long

lvar=l*eW。

15.顺序结构、分支结构(或称选择结构)、_循环结构是结构化程序设计的三种基本流

程控制结构。

16.以下方法m的功能是求两参数之积的整数部分。

intm(floatx,floaty)

{k=(lnt)x*y;}

17.java源程序文件编译后产生的文件称为一字节码—文件,其扩展名为—.class

18.Java和C++都是面向对象的程序设计语言。

三、程序分析:(每题4分)

1.下面是一个排序的程序:

importlava.io.*;

publicclassTes(56_Sort

(

publicstaticvoidmain(Slring♦,§[])

(

intll*={42,99,5,63,95,36,2,69,200,96};

SyslenLoiiLpiimiii(排序前的数据序列:);

ShowArray(a);

Sort(a);

SWcntouLpiimiii(排序后的数据序列:);

ShowArray(a);

)

publicstaticvoidSort(ininx)

mtw;

for(inli=l;i<x.length;I++)

(

for(inti=0;|<x,length-l;j++)

U(xOI>xB+l»

{w=x|jl;xUl=x|j+l);xB+U=w;}

/♦lf(i==l||i==2)ShowArray(x);

U(i==2)break;♦/

)

)

publicsialicvoidShowArraydnt皿)

(

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

System.out.print(,,D|i,,+i+,l=H+D|iD;

System.out.printliK);

)

)

问题:如果将方法§ort()中的一对注释符(/**/)去掉,程序输出的结果是什么?

排序前的数据序列:

b|01=42b|l|=90l)|21=5bI31=63i)|4)=951)|51=361)|6|=2b|7]=69bI8|=200t)|91=96

b|0)=42b|l]=5b[2|=63b|31=95b|4]=36bI5|=2b(61=69b|7]=99b|81=96b|91=200

D|0]=5D|1|=42D|2|=63D|3|=36D|4)=2D|5|=69D(6|=95D17|=90D|8|=99D|9|=2UO

排序后的数据序列:

D|0|=5D|ll=42b|21=63b|3|=36ll|41=2h|51=69b|61=95D|71=96b|8|=99h|91=200

2.请写下程序的输出结果:

publicclassTest52

(

Stringstrl="HelloyJavaworld!\f;

(<1

Siringstr2=Hellofstudents!';

publicstaticvoidmain(Slrlngar和)

(

System.out.prlnt(strl);

System.out.println(str2);

)

)

输出结果:

3.请写下程序的输出结果:

publicclassT2_4{

publicstaticvoidmain(Slrlngnargs)

inti,j;

char€=***;

ior(i=o;l<5;l++)

(

for(j=0;j<=l;j++)

System.out.printC'*");

System.out.printlnO;

}

}

)

输出结果:

4、请写下程序的输出结果:

publicclassex2_2

(

publicstaticvoidmain(StringargslI)

{

lntx,y;

hyteh=6;

floati=1.234f;

doublew=1.23;

booleanflag;

X=12;

y=300;

nag=x>y;

System.out.prln(ln(>'x>y==ll+iia0;

Ilag=z>w;

System.out.prinan("z>w=="+fla^;

}

}

四、问答题:(每题5分,)

1.Java的接口和C++的虚类的相同和不同处。

由于Java不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属

性,现有的单继承机制就不能满足要求。与继承相比,接口有更高的灵活性,因为接口中没有任何实

现代码。当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在

默认状态下面都是publicsialic,所有方法默认情况下是mimic.一个类可以实现多个接口。

2.垃圾回收的优点和原理。并考虑2种回收机制。

Java语言中一个显著的特点就是引入了垃圾回收机制,使C++程序员最头疼的内存管理的问

题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,

Java中的对象不再有“作用域”的概念,只有对象的引用才有''作用域:垃圾回收可以有效的防止内存

泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知

的情况下对内存堆中口经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用

垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增

量垃圾回收。

3,谈谈(Inal,finally,hnallzc的区别。

Final一修饰符(关键字)如果一个类被声明为linah意味着它不能再派生出新的子类,不能

作为父类被继承。因此一个类不能既被声明为aDWraci的,又被声明为miai的。将变量或方法声明为

finaL可以保证它们在使用中不祓改变。被声明为mud的变量必须在声明时给定初侑,而在以后的引

用中只能读取,不可修改。被声明为rniai的方法也同样只能使用,不能重载。

Hnany一再异常处理时提供mumy块来执行任何清除操作。如果抛出一个异常,那么相匹配

的catch子句就会执行,然后控制就会进入finally块(如果有的话)。

Finalize一方法名。Java技术允许使用finalize()方法在垃圾收集器将对象从内存中清除出去

之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。

它是在Objecl类中定义的,因此所有的类都继承了它。子类覆盖Ihialize()方法以整理系统资源或

者执行其他清理工作。finalizeo方法是在垃圾收集器删除对象之前对这个对象调用的。

4,数组有没有le晒h()这个方法?血时有没有le哂h()这个方法?举例说明使用方法?

数组没有数飕mo这个方法,有—的属性。

MUM有有此时曲()这个方法。

5.Java中的异常处理机制的简单原理和应用。

当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。违反

语义规则包括2种情况。一种是JAVA类库内置的语义检查。例如数组下标越界,会引发

indexOutOfBoundsException;访问iwll的对象时会引发NuHPoimerExcepiion.另一种情况就是JAVA允许程序

员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用nuow关键字引发异常。所

有的异常都是|ava.lang.Thowabie的子类。

五、程序设计:(每题11分,共33分)

1、编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。

但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF“,6,应该输出为“

我MT而不是“我ABC+汉的半个”。

2、编程求解:所TT两位整数能被3整除的数的和,以及不能被3整除的数的各位数字之和。

3、设计一个程序求解e的值。精度达到l.oe。

4、请设计一个对N个数进行排序的程序

一、选择题(每道题只有一个正确答案,每小题2分,共30分)15道题

1、关于Java语言叙述错误的是:(C)

A.Java语言具有跨平台性

B.java是一种面向对象的语言

C.Java语言中的类可以多继承

D.java的垃圾收集机制自动回收程序已不再使用的对象

2、以下叙述正确的是:(B)的确台a

A.构造方法必须是mMe方法

B.main方法必须是public方法

C.Java应用程序的文件名可以是任意的

D.构造方法应该声明为void类型

3、关于Java中数据类型叙述正确的是:(B)

A、整型数据在不同平台下长度不同

B.boolean类型数据只有2个值,Hue和fake

C.数组属于简单数据类型

D.java中的指针类型和(:语言的一样

4、设hi”=l,floa〔y=2,则表达式x/y的值是:(D)

A.0

B.1

C.2

D.以上都不是

5、以下语句有语法错的是:(A)

A.intx=l;y=2;Z=3

B.for(intx=10j=0;x>0;x++);

C.while(x>5);

D.ior(;;);

6、关于类和对象的叙述正确的是:(A)

A.Java的类分为两大部分:系统定义的类和用户自定义的类

B.类的静态属性和全局变量的概念完全一样,只是表达形式不同

C.类的成员至少有一个属性和一个方法

D.类是对象的实例化

7、以下有关构造方法的说法,正确的是:(A)

A.一个类的构造方法可以有多个

B.构造方法在类定义时被调用

C.构造方法只能由对象中的其它方法调用

D.构造方法可以和类同名,也可以和类名不同

8、以下有关类的继承的叙述中,正确的是:(D)

A.子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性

B.子类只能继承父类的方法,不能继承父类的属性

C.子类只能继承父类的非私有属性,不能继承父类的方法

D.子类不能继承父类的私有属性

9、下列属于容器的组件有:(B)

A.JButton

B.jPane

C.Canvas

D.jTexlArea

10、void的含义:(C)

A.方法体为空

B.定义的方法没有形参

C.定义的方法没有返回值

D.方法的返回值不能参加算术运算

11、关于Java中异常的叙述正确的是:(D)

A.异常是程序编写过程中代码的语法错误

B.异常是程序编写过程中代码的逻辑错误

C.异常出现后程序的运行马上中止

D.异常是可以捕获和处理的

12、所有的异常类皆继承哪一个类?(C)

A.iava.iolxception

B.iava.lang.Throwable

C.Java.langlxception

D.Java.lang.Error

13、下面哪个不是java语言中的关键字?(B)

A.long

B.slzeof

C.instanceof

D.cinst

14、为实现进程之间的通信,需要使用下列那种流才合适?(D)

A.Datastream

B.Filestream

(,Bulferedstream

D.Pipedstream

15、在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?(D)

A.Actionlistener

B.Mouselistener

C.MouseMotlonlistern

D.ItemListener

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

1、面向对象程序设计所具有的基本特征是:―抽象性_封装性_继承性_多态性—

2、数组X定义如下

intx||||=newlnt|3]|21

贝ijx..length的值为3,

xiOLlengm的值为2。

3、java中实现多线程一般使用两种方法,一是—继承Tur%。类,二是_____实现Runnable

方法__________

4、java的图形用户界面设计中,有很多布局管理器用来摆放组件的位置.,一般用到的布局管理器有(列

出四种即可)_Flowlayout,_Gridlayout,_Borderlayout,_Cardlayout

5、Applel常用的方法是:_inilO_>_runo_、_WopO_和CeWroyO,

三、阅读程序,写出程序的输出结果(每题5分,共20分)

1、classA{

privateintprivateVar;

A(int_privateVar){

privateVar=_prlvateVar;

}

booleanisEqualTo(AanolherAK

if(thls.privatevar==anotherA.prlvafeVar)

returntrue;

else

returnfalse;

}

}

publicclassB(

publicstaticvoidmain(Strlngargs[|H

Aa=newA(l);

Ab=newA(2);

System.out.pnnlln(a.isEqualTo(b));

}

)

程序的输出结果为:—false

2.classA{

double((doublex,doubley){

returnx*y;

}

}

classBextendsA{

douDle((doublex,doubley){

returnx+y;

)

)

publicclassTest{

publicstaticvoidmain(Stringargsll){

Bobj=newBO;

System.out.printlnC'Theprogramoutputis"+ob|.I(4,6»;

}

)

程序的输出结果为:_Theprogramoutputis

3、pumicclassvncneckea{

publicstaticvoidmain(SirIng||args){

try(

methoiO;

}catch(Exceptione){

System.out.printlnC'A");

}finally(

System.out.printliK"Bn);

}

)

staticvoidmethodO{

try(

wrenchO;

Syslem.out.printlnC'C");

}catch(ArithmeticExceptione){

System.out.println("D");

}finally(

System.out.printlnC'E");

}

System.out.prinllnC'F");

}

staticvoidwrenchO{

thrownewNullPointerExceptionO;

)

)

程序的输出结果为:

B

4、publicclassTest(

publicstaticvoidmain(Stringl)args){

intx;

intan={o,o,o,o,o,o};

calculated,a(5]);

System.out.prinlln(<,thevalueofa(0|is"+a|0D;

System.out.prinllnC'thevalueIsa|5|is”+a|51);

)

staticintcalculatefintx|Linty){

for(intI=1;I<x.length;i++)

If(y<x.length)

xlil=xli-11+1;

returnx|0|;

)

程序的输出结果为:

thevalueofa|0)is0

thevalueIsa|5|Is5

1.下面哪些是§nor1型的取值范围|€|

A,-27-27-1

B.0-2164

C.-215-215-1

D.-231-23M

2,下面哪些是合法的标识符[ABE]

A.(persons

B.TwoDsers

C.*point

D.this

E._endllne

3.哪些是将一个十六进制值赋值给一个io时型变量[D1

A.longnumber=3451;

B.longnumber=0345;

C.longnumber=0345L;

D.longnumber=0x3451;

4.下面的哪些程序片断可能导致错误。|BD|

A.

Strings="Gonewiththewind',;

Stringt="good”;

Siringk=s+1;

Strings="Gonewiththewind";

Stringt;

I=s|3|+HoneH;

c.

Strings="Gonewiththewind',;

Stringstandard=s.toDpper(aseO;

D.

Strings="homedirectory";

Siringt=s-"directory";

5.在〃polMx处的哪些声明是合法的|DE|

classPerson{

privateinta;

publicIntchangedntmKreturnm;}

)

publicclassTeacherextendsPenon{

publicintb;

publicstaticvoidmain(StrlngargllK

Penonp=newPersonO;

Teachert=newTeacher。;

inti

//pointx

)

)

A.I=m;

B.i=n;

(.i=p.a;

D.l=p.change(30);

E.I=Lb;

6.当Frame的大小被改变时Jrame中的按钮的位置也可能被改变,请问此时使用的是什么布局管

理器IBI

A.Borderlayout

B.Flowlayout

C.CardLayoul

D.Gridlayout

7,给出下面的代码片断

1publicvoidcreateo{

2Vectormyvecl;

3myVect=newVectorO;

4)

下面的哪些陈述是正确的?[ADE]

A.第二行的声明不会为变量myvecl分配内存空间。〃指的是堆空间,只是在栈中分配;这里不用

较真.自己理解就好;

B.第二行的声明分配一个到Veclor对象的引用的内存空间。

C.第二行语句创建一个vccior类对象。

D.第三行语句创建一个VMor类对象。

E.第三行语句为一个VMor类对象分配内存空间。

〃分配栈空间,相当于指针,但是不分配“到Vector对象的引用的空间”;选项二的意思是分配了堆空

间;

8.下面的哪些答案可以用以表示八进制值8?[A1

A.010

B.0X10

C.08

D.0X8

9.哪些不是Java关键字(AB1

A.TRUE

B.slzeol

C.const

D.super

E.void

10,下面的哪些叙述为真。IAD1

A.equal§0方法判定引用值是否指向同一对象。〃不说是谁的就是默认的

B.==操作符判定两个分立的对象的内容和类型是否一致。

C.equalso方法只有在两个对象的内容一致时返回lruen

D・类File重写方法equal的在两个分立的对象的内容和类型一致时返回什配。〃当两个独立的对象

的内容和类型一致;

11.下面关于继承的哪些叙述是正确的。[AD1

4.在java中只允许单一继承c

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

(:・在java中一个类不能同时继承一个类和实现一个接口。

D.java的单一继承使代码更可靠。

12.第十行的声明将调用哪些方法.(D1

1classPerson{

2publicvoidDrintValue(inttintj){}

3publicvoidprintvaluedntl){}

4)

5publicclassTeacherextendsPerson{

6publicvoidprintvalueo(}

7publicvoidprinlValue(inti){}

8publicstaticvoidmaln(StringargsllK

Persont=newTeacherO;

10l.printValue(lO);

n)

12)

A.第2行的方法

B.第3行的方法

(:・第6行的方法

D.第7行的方法

13.下面哪些不是Java的原始数据类型(Bq

A・short

B.Boolean

C.unit

D.float

14,下面的哪些关键字通常用来对对象的加锁,该标记使得对对象的访问是排他的?网

A.Iransienf

B.synchronized

C.serialize

D.static

15.malii0方法的返回类型是什么?[Bl

A.int

B.void

€.Dooiean

D.static

16,给出以下关于一个使用适当的字符间距的字体的Texffiem的表达式

TextFieldt=newTextHeldCtheyaregoodn,40);//40指的是像素

哪些叙述是对的?[D]

A,被显示的字符串可以使用多种字体。

B.一行中最大的字符数是40

C,显示的宽度正好是40个字符宽。

D.用户可以编辑字符。

17.关于垃圾收集的哪些叙述是对的?IB1

A.程序开发者必须自己创建一个线程进行内存释放的工作。

B.垃圾收集将检查并释放不再使用的内存。

G垃圾收集允许程序开发者明确指定并立即释放该内存。

D.垃圾收集能够在期望的时间释放被Java对象使用的内存。

18,给出下面的代码

1publicclassTest{

2intm,n;

3publicTestO{}

4publicTesldnta){m=a;}

5PUDIICsialicvommain(strmgargil){

6TestIl,t2;

7iniLk;

8j=O;k=o;

9ll=newTeslO;

10I2=newTest(j,k);

11)

12}

在编译时哪行将导致一个错误?ID1

A.第3行

B.第5行

(:•第6行

D.第10行

19.Thread的方法re§umeO负责恢复哪些线程的执行?皿

A.通过调用§10P0方法而停止的线程。

B.通过调用流饰0方法而停止运行的线程。

C.通过调用wait。方法而停止运行的线程。

D.通过调用$11§眦11(10方法而停止运行的线程。〃已经过期了

20.有关线程的哪些叙述是对的?IBD]

A.一旦一个线程被创建,它就立即开始运行。

B.使用§伯110方法可以使一个线程成为可运行的,但是它不一定立即开始运行。

C.当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。〃比它优先级高的进

程抢占了CPU,它运行的时间根据操作系统而定;

D.一个线程可能因为不同的原因停止并进入就绪状态。〃可运行状态

21,给出下面的不完整的方法

1

2{success=connectO;

3if(success==-l){

4thrownewTlmedOulExceptionO;

5)

6}

已知TimedOutException不是一个RuntimeExceplion0下面的哪些声明可以被加入第一行完成此方

法的声明16(1

A.publicvoidmethodO

B.publicvoidmethodOthrowsException

C.publicvoidmethodOthrowsTimedOutException

D.publicvoidmethodOthrowTimedOutException

E.publicthrowTimedOutExceptionvoidmethodO

22,给出下面的代码

classPerson{

stringname,department;

publicvoidprlntValueO(

System.out.printlnC'nameisM+name);

Syslem.out.printlnC'departmentisH+(lepartinenO;

}

)

publicclassTeacherextendsPenon{

intsalary;

publicvoidprlntValueO{

//完成父类代码中primvahieo相同的工作

Syslem.out.printinC'salaryIsn+salary);

)

)

下面的哪些表达式可以加入primvaiueo方法的注释部分?ID1

A.printvalueo;

B.this.prlntValueO;

C.person.printvalueo;

D.super.printvalueo;

23,下面的哪些赋值语句是错的?[A]

A.floatf=11.1;

B.doubled=5.3E12;

t.aoumea=3.14159;

D.doubled=3.14D;

24.给出下面的不完整的类代码

(lassPerson{

Stringname,department;

intage;

publicPersoiRStringn){name=n;}

publicPenon(Stringn,inta){name=n;age=a;}

publicPerson(Stringn,Stringd,ima){

//完成Person(Stringn,inta)的逻辑

department=d;

)

)

下面的哪些表达式可以加到构造方法中的注释处?m

A.Person(n,a);

B.血VPerson(ii,a));//构造函数的名字不能当方法名调用;

(.thlsfn.a);

D.HilsOimneMe);〃构造方法的参数也不能直接传实例变量名

25.下面关于变量及其范围的陈述哪些是对的?[ACD1

A.实例变量是类的成员变量。

B.实例变量用关键字声明。

(.在方法中定义的局部变量在该方法被执行时创建

D.局部变量在使用前必须被初始化。

26,给出下面的代码

publicvoidtesto{

iry(

oneMelhodO;

System.oul.println("condiilonV);

}catch(ArraylndexOutOIBoundsExceptione){

System.oul.printinC'condition2");

}catdKExceptione){

System.out.DrinllnCcondition3U):

}finally(

System.out.println("nnally>>);

}

)

在oncMMwdO方法运行正常的情况下将显示什么?[ADI

A.condition1

B.condition2

C.condition3

u.nnaiiy

27.给出下面的代码

publicclassTes({

voidprintvaluedntm){

do(

System.out.printlnf'Thevalueisav+m);

}whlle(“m>10);

)

publicstaticvoidmain(Strin^a刚){

mti=io;

Test1=newTeslO;

t.printvalue(i);

)

)

输出将是什么?m

18

B.9

C.10

D.ll

28,下面的有关声明的哪些叙述是对的?[BC]

A.对原始数据类型例如boolean,的他的变量的声明不会为该变量分配内存空间。

B.对原始数据类型例如boolean,byte的变量的声明将为之分配内存空间。

(.非原始数据类型例如的1唱VMoit的变量的声明不会为该对象分配内存。

D.非原始数据类型例如String,Vector的变量的声明会为该对象分配内存。

〃该对象指的是堆空间的对象;指向该对象的引用只能叫变量;

29.类的设计要求它的某个成员变量不能被外部类直接访问。应该使用下面的哪些修饰符获得需要

的访问控制?IDI

A.public

B.不加修饰符

(.protected

D.private〃面向对象编程P196页的表格wlvale一行有错误

30.给出下面的代码片断

1Stringstr=null;

2If((str!=null)&&(str.lengthO>10)){

3System.out.printlnC'morethan10");

4)

5elseif((str!=null)&(str.lengthO<5)){〃空指针异常

6System.out.printlnC'lessthan5');

7)

8else{WWem.oiil.prmnnC'eiul'');}

哪些行将导致错误?[Cl

A.第1行

B.笫2行

C.第5行

D.第8行

31.下面有关lava代码安全性的叙述哪些是对的?IBCDI

A.字节码校验器加载杳询执行需要的所有类。

B.运行时解释器执行代码。

C.在运行时,字节码被加载,验证然后在解释器里面运行。

D.类加载器通过分离本机文件系统的类和从网络导入的类增加安全性。

32,给出下面的代码

publicclassPenon{

intarm=newInHlO];〃非静态属性

publicstaticvoidmain(Slrlnia|l){

W§〔ein.oiH.lMlnflnemiD;〃静态方法不能访问非静态属性

)

}

哪些叙述是对的?[A]

A.编译时出错。

B.编译时正确而运行时出错,

C.输出Oo

D.输出nullo

33,给出下面的代码

publicclassParent{

publicIntaddValue(Inta,intb){

inis;

s=a+h;

returns;

}

)

classChildextendsParent{

)

哪些方法可以加入类Child中?IBQ〃方法的覆盖

A.IntaddValuefinta,inthK//dosomething...}

B.publicvoidaddValue0{〃dosomething...)

C.publicintaddValue(inta){//dosomething...}

D.publicIntaddValue(inta,Inib(throwsException{//dosomething...}

34.公有成员变量MAXJENGTH是一个血型值,变量的值保持常数值100,定义这个变量的代码为?

ICD1

A.publicintMAX_LENGTH=100;

B.iinaimiMAX_LEN(ITH=IOO;

C.finalpublicintMAX」JENGTH=100;〃修饰符的顺序可以交换

D.publicfinalintMAX_LENGTH=100;

35,下面的哪些lava源文件代码片断是对的?|A(D|

A.packagetestpackage;

publicclassTest{//dosomething...)

B.importjava.Io.*;

packagetestpackage;

publicclassTest{//dosomething...)

C.Importjava.io.*;

classPerson{//dosomething...}

publicclassTest{//dosomething...}

D.importjava.Io?;

importjava.awt.*;

publicclassTes({//dosomething..)

36,给出下面的类

publicclassSample(

longlength;

publicSample(longl){length=I;}

publicstaticvoidmain(StrintargUK

Samplests2,s3;

si=newsampie(2iL);

§2=newSample(21L);

s3=s2;

longm=21L;

}

)

哪个表达式返回true?|B|

A.§1==S2;

B.S2==S3;

C.m==si;

D.sLeQuals(m);

37,给出下面有关java.awt.list的表达式

List!=new〃第二个参数是false的话只能选一个

其中哪些叙述是正确的?|A(1

A.在没有其它的约束的条件下该列表将有6行可见。

B.一行的最大字符数是6

C.列表将允许用户多选

D.列表只能有一项被选中

38,给出下面的代码

classParent{

Stringone,two;

publicParenKSlringa,StringbX

one=a;

two=h;

)

publicvoidprint(){Syslem.out.println(one);)

)

publicclassChildextendsParent{

publiccmid(Stringa,SiringIX

super(a,b);

)

publicvoidprini(){

System.out.println(one+Hton+two);

)

publicstaticvoidmain(StringargsUK

Parentp=newParent(nsoulhn,Mnorthu);

Parentt=newChildCteasl","west");

p.prlnto;

t.printo;

)

)

下面的哪些情况或输出的结果正确?IE]

A.编译时出错

B.south

east

C.southtonorth

easttowest

D.southtonorth

east

E.south

easttowest

39.类Teacher和Student都是类Person的子类

Penonp;

Teachert;

Students;

若讯1和§都是非空值

if(tinstanceofPenon){s=(Student)t;)

这个语句导致的结果是什么?[Cl〃默认new时声明的都是本类;

A.将构造一个ShidcM对象

B.表达式合法

C.编译时非法

D.编译时合法而在运行时可能非法

40,给出下面的代码

Strings=•,hello";

SiringI="hello”;

charcn=

下列选项里,哪些返回inie?|A€D1

A.s.equals(l);

B.t.equalsfc);

C.s==t;

D.t.eauals(newSlrin^C'hello"));

E.t==C;

一、单选题(本大题15小题,每小题2分,共30分)

1,下列语句执行后,变量a、c的值分别是()。

intx=182;

infa,c;

€=X/100;

a=x%io;

A”,2B[2,1C)1.82,2D)100,82【答案】B

2,下面哪个表达式可用得到x和y的最大值()?

A)x>y?y:xB)x<y?y:x0x>y?(x+y):(x-y)D)x==y?y:x;【答案】B

3.以下是应用程序中定义的静态方法prinlBinary,若在其main方法中有方法调用语句prlMBlnary。),

则输

出的结果是()。

staticvoidprlntBinarydnti){

System.out.printd+”的2进制数表示为:\r);

fordnfj=31;j>=0;H

1((((1«i)&I)!=0)

System.ont.printC'l");

else

System.out.printC'O");

WWcioiiLDrlnniiO;〃换行

)

A)00000000000000000000000000000001B)00000000000000000000000000000010

C)00000000000000000000000000001111D)00000000000000000000000000600000【答案】

B

4.应用程序的main方法中有以下语句,则输出的结果是()。

Strtng51=,,0.5,,,52=,,12,,;

aoimiex=DouDie.parseuouDie(si);

Inty=lnteger.parselnt(s2);

System.out.pnntln(x+y);

A)12.5B)120.5012D)“12・5”【答案】A

5,应用程序的main方法中有以下语句,则输出的结果是()。

doubleX=1234.1234567;

DecimalFormatforml=newDecimalFormatC'OOOO.O'j;

System.oul.println(,'Pl=N+forml.forinat(x));

A)PI=1234.1B)PI=1234

0PI=1234.1235D)PI=1234.0【答案】

6,下列程序段执行后的结果是(

Sirings=newSlringC'ahcdefg1');

loKinti=0;i<s.length0;i+=2K

System.out.print(s.charAt(h);

)

A)acegB)MEG0abcdefgD)abed【答案】A

7,应用程序的main方法中有以下语句,则输出的结果是()。

lnt||X={122,33,55,678,-087);

intmax=x|0|;

fordnti=l;i<x.length;i++){

H(x|i|>max)

max=x|ll;

)

Syslem.out.println(max);

A)678B)122C)-987D)33【答案】A

8.下列语句序列执行后,K的值是()0

intx=2,y=5,k=0;

switch(x%y){

caseo:k=x+y;hreak;

case1:k=x-y;break;

case2:k=x*y;break;

delault:k=x/y;break;

)

Syslem.oul.println(k);

A)2B)5CHOD)0【答案】t

9.下面的程序输出的结果是()

publicclassAImplementsB{

publicsialicvoidmain(Stringargsll){

Acl=newAO;

i=cl.k;

sysiem.oui.priniinci=(v+i);

)

)

interfaceB{

mtk=10;

}

A)1=0B)i=100程序有编译错误D)i=true

【答案】B

10.应用程序的main方法中有以下语句,则输出的结果是()。

mtbDD={{l,2,3},{4,5},{6,7});

Intsum=0;

fordnfi=O;i<h.length;i++){

fordnlj=O;j<h(il.length;j++){

sum+=b(i|(jl;

)

)

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

A)28BX)C)9D)13【答案】A

11.有整型数组:intU3={12,35,8,7,2};,则调用方法41!邺.§0110()后,数组X中的元索值依次是().

A)2781235B)1235872€)3512872D)8712

352

【答案】A

12.编译和运行下面的应用程序,并在命令行界面输入12345,则回车后屏幕输出的结果是(

publicclassA{

publicstaticvoidmain(Strin^argsll)throwslOException{

BulferedReaderbuf=newBufferedReader(

newinputStreamReader(SyslemJn));

Stringstr=bul.readLIneO;

inix=lnteger.parselnl(str);

System.oul.println(x/100);

)

}

A)45B)50123D)12345【答案】C

13,下面的程序段执行后输出的结果是()o

StringBufferbuf=newStringBuifer("Beijing2008");

Duf.insert(7,H@n);

Syslem.out.println(buf.toStringO);

A)Beljing@2008B)@Beijing20080Beljing2008@D)Bel|ing#2008【答案】A

14,下面的程序编译运行后输出的结果是()。

publicclassAimplementsRunnable{

publicstaticvoidmainfStringargvD){

Aa=newAO;

Threadt=newThread(a);

Lstarto;

)

publicvoidrun(){

while(true){

lry(

Thread.currentThreadO.sleep(lOOO);

}cat€h(lnterruptedExceptione){

System.out.println(e.toSlringo);

)

System.oul.prlntlnC'loopingwhile");

)

)

)

A)在屏幕上重复输出“loom曜while”。B)在屏幕上输出一次“loomngwhiled

0没有结果输出。D)以上说法都错误。【答案】A

15,下面的程序段创建了BunercdReadcr类的对象in,以便读取本机d盘my文件夹下的文件l.txto

File构造函

数中正确的路径和文件名的表示是()。

Filei=newHie(填代码处);

iile=newFileReader(f);

in=newBufferedReader(file);

A)"l.txt"B)nd:\\my\\lH0''d:\\iny\\l.HrD)Hd:\my\l.txr

【答案】c

二、多选题(本大题10小题,每小题2分,共20分)

1.下面的说法正确的是(

A)java语言是面向对象的、解释执行的网络编程语言。B)java语言具有可移植性,是与平台无关

的编程语

言。

OJava语言可对内存垃圾自动收集。D)java语言编写的程序虽然是“一次编译,到处运行”,但必

须要

java的运行环境。

【答案】ABCD

2.下面main。方法的定义哪些是正确的()?

A)publicsialicvoidmaliKStringargsll){}B)publicstaticvoidmaln(String|h{}

Opumicstaticvommain(siring||args){}D)PUDIICstaticvoidmam(Sfrlngux)o

【答案】ACD

3.定义变量如下:

char€='w';inii=8;long1=15;floati=8.9f;

以下赋值语句正

温馨提示

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

评论

0/150

提交评论