JAVA期末考试试题及答案_第1页
JAVA期末考试试题及答案_第2页
JAVA期末考试试题及答案_第3页
JAVA期末考试试题及答案_第4页
JAVA期末考试试题及答案_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

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

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

有一个选项是正确的,请将正确选项的标记写在题干后的括号内。

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

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

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

A)0B)1C)2D)3

2.设i、j为int型变量名,a为int型数组名,以下选项中,正确的赋值语

句是(B)。

A)i=i+2B)a[0]=7;

C)i++--j;D)a(0)=66;

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

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

4.设有定义inti=6;,则执行以下语句后,i的值为(C)。

i+=i-1;

A)10B)121C)11D)100

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

A)interfaceB)packageC)extendsD)class

6.若已定义byte[]x={11,22,33,-66);

其中0&k<3,则对x数组元素错误的引用是(C)。

A)x[5-3]B)x[k]C)x[k+5]D)x[0]

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

charchl='A',ch2='W';

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

A)'A'B)'B'C)'CD)B

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

inti=8,j=16;

if(i-1>j)i--;elsej-;

A)15B)16C)7D)8

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

inti=10,j=18,k=30;

switch(j-i)

{case8:k++;

case9:k+=2;

case10:k+=3;

default:k/=j;

)

A)31B)32C)2D)33

10.下面语句执行后,i的值是(B)。

for(inti=0,j=l;j<5;j+=3)i=i+j;

A)4B)5C)6D)7

11.设有定义floatx=3.5f,y=4.6f,z=5.7f;则以下的表达式中,值为true

的是(B)。

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

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

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

inti=16;

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

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

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

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

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

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

14.定义类头时能运用的修饰符是(C)o

A)privateB)staticC)abstractD)protected

15.设int型变量a、b,float型变量x^y,char型变量ch均已正确定

义并赋值,

正确的switch语句是D)o

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

C)switchchD)switch(a+b);

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

A)staticfinalinti=100;B)finalinti=1.2;

C)finali='w';D)finalchari;

17.下列类定义中,不正确的是(C)o

A)classx{....}

B)classxextendsy{....}

C)staticclassximplementsyl,y2{....}

D)publicclassxextendsApplet{....}

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

()o

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

C)yxl;D)xxl=x();

19.设i、j、k为类x中定义的int型变量名,下列类x的构造函数中不

正确的是(B)o

A)x(intm){...}B)voidx(intm){...}

C)x(intm,intn){...}D)x(inth,intm,intn){...}

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

A)intx(){charch='a';return(int)ch;}

B)voidx(){...returntrue;}

C)intx(){...returntrue;}

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

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

A)class,float,double,public

B)float,boolean,int,long

C)char,extends,float,double

D)public,private,protected

22.不能构成循环的语句是(C)。

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

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

booleanbl=true,b2,b3;

24=bl?bl:b2;

A)0B)1C)trueD)false

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

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

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

A)j=i;B)j=(long)i;C)i=(int)j;D)i=j;

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

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

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

为float和__double两种具体类型。

3.创建类对象的运算符是—newo

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

是—n%13==0o

5.在Java语言中,全部的数组都有一个lenght属性,这个属性存储了该数

组的—元素个数。

6.定义类就是定义一种抽象的父类,它是全部具有确定共性的

对象的抽象描述。

7.在Java语言中,运用—平台无关—、java虚拟机—等技术,实现软

件重用。

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

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

publicclass_intMyclass

{

intx,y;

Myclass(inti,__=0.)//构造函数

x=i;

y=j;

1。.下面是一个JavaApplication的主类的定义,其功能是输出全部叮嘱行

参数。

importjava.io.*;

publicclassMyClass

{

publicstaticvoidmain(Stringargs[])

{

if(args.length!=_Q)

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

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

elseSystem.out.printin(没有叮嘱行参数);

)

)

11下面是一个小程序的主类myprogram的定义,其中A、B是该主类所在

源程序中已定义的另两个类的类名:

importjavaawt.*;

importjavaapplet.*;

publicclassmyprogramextendsApplet〃定义小程序的主类

{

Aa;Bb;

publicmyprogram__init()

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

)

12.Java的复合数据类型有:类、数组和—接口—等。Java的简洁数据

类型有:数值类型(整形和浮点类型),自负类型和布尔类型

13.表达式3/6*5的计算结果是一0o

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

lvar=l*el0。

15.依次结构、分支结构(或称选择结构)、—循环结构是结构化程

序设计的三种基本流程限制结构。

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

intm(floatx,floaty)

{k=(int)x*y;}

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

为___.classo

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

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

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

importjava.io.*;

publicclassTest56_Sort

{

publicstaticvoidmain(Stringargs[])

int[]a={42,99,5,63,95,36,2,69,200,96);

System.out.println(排序前的数据序列:);

ShowArray(a);

Sort(a);

System.out.printin(排序后的数据序列:);

ShowArray(a);

publicstaticvoidSort(int[]x)

(

intw;

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

{

for(intj=0;j<x.length-l;j++)

if(x[j]>x[j+l])

{w=x[j];x[j]=x[j+l];x[j+l]=w;}

/*if(i==l||i==2)ShowArray(x);

if(i==2)break;*/

)

}

publicstaticvoidShowArray(intb[])

{

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

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

System.out.println();

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

什么?

排序前的数据序列:

b[0]=42b[l]=99b[2]=5b[3]=63b[4]=95b[5]=36b[6]=2b[7]=69b[8]=200b[

9]=96

b[0]=42b[l]=5b[2]=63b[3]=95b[4]=36b[5]=2b[6]=69b[7]=99b[8]=96b[9]

=200

b[0]=5b[l]=42b[2]=63b[3]=36b[4]=2b[5]=69b[6]=95b[7]=96b[8]=99b[9]

=200

排序后的数据序列:

b[0]=5b[l]=42b[2]=63b[3]=36b[4]=2b[5]=69b[6]=95b[7]=96b[8]=99b[9]

=200

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

publicclassTest52

(

Stringstrl="Hello,Javaworld!\t";

Stringstr2="Hello,students!";

publicstaticvoidmain(Stringargs[])

{

System.out.print(strl);

System.out.println(str2);

输出结果:

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

publicclassT2_4{

publicstaticvoidmain(String[]args)

inti,j;

charc='*';

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

{

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

System.out.print("*");

System.out.println();

}

)

)

输出结果:

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

publicclassex2_2

i

publicstaticvoidmain(Stringargs[])

{

intx,y;

byteb=6;

floatz=1.234f;

doublew=1.23;

booleanflag;

x=12;

y=300;

flag=x>y;

System.out.printin("x>y=="+flag);

flag=z>w;

System.out.println("z>w=="+flag);

}

}

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

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

由于Java不支持多继承,而有可能某个类或对象要运用分别在几个类或

对象里面的方法或属性,现有的单继承机制就不能满足要求。与继承相比,接

口有更高的灵敏性,因为接口中没有任何实现代码。当一个类实现了接口以后,

该类要实现接口里面全部的方法和属性,并且接口里面的属性在默认状态下面

都是publicstatic,全部方法默认状况下是public.一个类可以实现多个接

口。

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

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

头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再

须要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有"作用域"

的概念,只有对象的引用才有“作用域"。垃圾回收可以有效的防止内存泄露,

有效的运用可以运用的内存。垃圾回收器通常是作为一个单独的低级别的线程

运行,不行预知的状况下对内存堆中已经死亡的或者长时间没有运用的对象进

行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或全部对象进行

垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。

3,谈谈final,finally,finalize的区分。

Final一修饰符(关键字)假如一个类被声明为final,意味着它不能再派

生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract

的,又被声明为final的。将变量或方法声明为final,可以保证它们在运用中

不被变更。被声明为final的变量必需在声明时给定初值,而在以后的引用中

只能读取,不行修改。被声明为final的方法也同样只能运用,不能重载。

Finally一再异样处理时供应finally块来执行任何清除操作。假如抛出

一个异样,那么相匹配的catch子句就会执行,然后限制就会进入finally块

(假如有的话)。

Finalize一方法名。Java技术允许运用finalize()方法在垃圾收集器

将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在

确定这个对象没有被引用时对这个对象调用的。它是在Object类中定义的,

因此全部的类都继承了它。子类覆盖finalize()方法以整理系统资源或者

执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对

象调用的。

4,数组有没有length()这个方法?String有没有length()这个方

法?举例说明运用方法?

数组没有length()这个方法,有length的属性。

String有有length()这个方法。

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

当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错

误表示为一个异样。违反语义规则包括2种状况。一种是JAVA类库内置的语

义检查。例如数组下标越界,会引发IndexOutOfBoundsException;访问

null的对象时会引发NullPointerException.另一种状况就是JAVA允许程

序员扩展这种语义检查,程序员可以创建自己的异样,并自由选择在何时用

throw关键字引发异样。全部的异样都是java.lang.Thowable的子类。

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

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

按字节截取的字符串。但是要保证汉字不被截半个,如"我ABO4,应当截为

“我AB",输入"我ABC汉DEF",6,应当输出为“我ABC"而不是"我ABC+

汉的半个"。

2、编程求解:全部两位整数能被3整除的数的和,以与不能被3整除的数的

各位数字之和。

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

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

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

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

A.Java语言具有跨平台性

B.Java是一种面对对象的语言

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

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

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

A.构造方法必需是public方法

B.main方法必需是public方法

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

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

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

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

B.boolean类型数据只有2个值,true和false

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

D.Java中的指针类型和C语言的一样

4、设intx=1,floaty=2,则表达式x/y的值是:(D)

A.0

B.1

C.2

D.以上都不是

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

A.intx=1;y=2;z=3

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

C.while(x>5);

D.for(;;);

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.JTextArea

10、void的含义:(C)

A.方法体为空

B.定义的方法没有形参

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

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

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

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

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

C.异样出现后程序的运行立即中止

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

12、全部的异样类皆继承哪一个类?(C)

A.java.io.Exception

B.java.lang.Throwable

C.java.lang.Exception

D.java.lang.Error

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

A.long

B.sizeof

C.instanceof

D.const

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

A.Datastream

B.

C.Bufferedstream

D.Pipedstream

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

(D)

A.ActionListener

B.MouseListener

C.MouseMotionListern

D.ItemListener

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

1、面对对象程序设计所具有的基本特征是:—抽象性_封装性—,

继承性_,一多态性—

2、数组x定义如下

intx[][]=newint[3][2]

则x..length的值为3,

x[0].length的值为2。

3、Java中实现多线程一般运用两种方法,一是—继承Thread类________,

二是_____实现Runnable方法__________

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

般用到的布局管理器有(列出四种即可)_FlowLayout,

__GridLayout,_BorderLayout,CardLayout

5、Applet常用的方法是:_init()_、_run()一、一stop。一和destroy。。

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

1、classA(

privateintprivateVar;

A(int_privateVar){

privateVar=_privateVar;

)

booleanisEqualTo(AanotherA){

if(this.privateVar==anotherA.privateVar)

returntrue;

else

returnfalse;

}

}

publicclassB(

publicstaticvoidmain(Stringargs[]){

Aa=newA(l);

Ab=newA(2);

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

)

)

程序的输出结果为:—false

2、classA{

doublef(doublex,doubley){

returnx*y;

}

I

classBextendsA{

doublef(doublex,doubley){

returnx+y;

I

J

I

J

publicclassTest{

publicstaticvoidmain(Stringargs[]){

Bobj=newB();

System.out.println("Theprogramoutputis"+obj.f(4,6));

}

}

程序的输出结果为:一Theprogramoutputis10_

3、publicclassUnchecked{

publicstaticvoidmain(String[]args){

try(

methodQ;

}catch(Exceptione){

System.out.println("A");

}finally(

System.out.println("B");

}

}

staticvoidmethodQ{

try(

wrench();

System.out.println("C");

}catch(ArithmeticExceptione){

System.out.println("D");

}finally{

System.out.println("E");

}

System.out.println("F");

}

staticvoidwrench(){

thrownewNullPointerExceptionQ;

程序的输出结果为:

E

A

B

4、publicclassTest{

publicstaticvoidmain(String[]args){

intx;

inta[]={0,0,0,0,0,0};

calculate(a,a[5]);

System.out.println("thevalueofa[0]is"+a[0]);

System.out.println("thevalueisa[5]is"+a[5]);

)

staticintcalculate(intx[],inty){

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

if(y<x.length)

x[i]=x[i-1]+1;

returnx[0];

}

}

程序的输出结果为:

thevalueofa[0]is0

thevalueisa[5]is5

1.下面哪些是short型的取值范围[C]

A.-27-27-1

B.0-216-1

C.-215-215-1

D.-231-231-1

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

A.$persons

B.TwoUsers

C.*point

D.this

E._endline

3.哪些是将一个十六进制值赋值给一个long型变量[D]

A.longnumber=345L;

B.longnumber=0345;

C.longnumber=0345L;

D.longnumber=0x345L;

4.下面的哪些程序片断可能导致错误。旧D]

A.

Strings="Gonewiththewind";

Stringt="good

Stringk=s+t;

B.

Strings="Gonewiththewind";

Stringt;

t=s[3]+"one";

c.

Strings="Gonewiththewind";

Stringstandard=s.toUpperCase();

D.

Strings="homedirectory";

Stringt=s-"directory";

5.在〃pointx处的哪些声明是合法的[DE]

classPerson(

privateinta;

publicintchange(intm){returnm;}

}

publicclassTeacherextendsPerson(

publicintb;

publicstaticvoidmain(Stringarg[]){

Personp=newPersonQ;

Teachert=newTeacherQ;

inti;

//pointx

A.i=m;

B.i=b;

C.i=p.a;

D.i=p.change(30);

E.i=t.b;

6.当Frame的大小被变更时,Frame中的按钮的位置也可能被变更,请问此

时运用的是什么布局管理器[B]

A.BorderLayout

B.FlowLayout

C.CardLayout

D.GridLayout

7.给出下面的代码片断

1publicvoidcreateQ{

2VectormyVect;

3myVect=newVectorQ;

4)

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

A.其次行的声明不会为变量myVect支配内存空间。//指的是堆空间,只是

在栈中支配;这里不用较真.自己理解就好;

B.其次行的声明支配一个到Vector对象的引用的内存空间。

C.其次行语句创建一个Vector类对象。

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

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

〃支配栈空间,相当于指针,但是担心排"到Vector对象的引用的空间”;选项二

的意思是支配了堆空间;

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

A.010

B.0x10

C.08

D.0x8

9.哪些不是Java关键字[AB]

A.TRUE

B.sizeof

C.const

D.super

E.void

10.下面的哪些叙述为真。[AD]

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

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

C.equals。方法只有在两个对象的内容一样时返回true。

D.类File重写方法equals。在两个分立的对象的内容和类型一样时返回

true0〃当两个独立的对象的内容和类型一样;

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

A.在java中只允许单一继承。

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

C.在java中一个类不能同时继承一个类和实现一个接口。

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

12.第十行的声明将调用哪些方法.[D]

1classPerson{

2publicvoidprintValue(inti,intj){}

3publicvoidprintValue(inti){}

4}

5publicclassTeacherextendsPerson{

6publicvoidprintValue(){}

7publicvoidprintValue(inti){}

8publicstaticvoidmain(Stringargs[]){

9Persont=newTeacherQ;

10t.printValue(lO);

11}

12}

A.第2行的方法

B.第3行的方法

C.第6行的方法

D.第7行的方法

13.下面哪些不是java的原始数据类型旧C]

A.short

B.Boolean

C.unit

D.float

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

他的?[B]

A.transient

B.synchronized

C.serialize

D.static

15.main。方法的返回类型是什么?[B]

A.int

B.void

C.boolean

D.static

16.给出以下关于一个运用适当的字符间距的字体的TextField的表达式

TextFieldt=newTextField("theyaregood",40);//40指的是像素

哪些叙述是对的?[D]

A.被显示的字符串可以运用多种字体。

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

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

D.用户可以编辑字符。

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

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

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

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

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

18.给出下面的代码

1publicclassTest{

2intm,n;

3publicTest(){}

4publicTest(inta){m=a;}

5publicstaticvoidmain(Stringarg[]){

6Testtl,t2;

7intj,k;

8j=0;k=0;

9tl=newTest();

10t2=newTest(j,k);

11}

12}

在编译时哪行将导致一个错误?[D]

A.第3行

B.第5行

C.第6行

D.第10行

19.Thread的方法resume。负责复原哪些线程的执行?[D]

A.通过调用stop。方法而停止的线程。

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

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

D.通过调用suspend。方法而停止运行的线程。//已经过期了

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

A.一旦一个线程被创建,它就立刻起先运行。

B.运用start。方法可以使一个线程成为可运行的,但是它不愿定立刻起先运

行。

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

它优先级高的进程抢占了cpu,它运行的时间依据操作系统而定;

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

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

1

2{success=connectQ;

3if(success==-l){

4thrownewTimedOutExceptionQ;

5}

6}

已知TimedOutException不是一个RuntimeException。下面的哪些声

明可以被加入第一行完成此方法的声明旧C]

A.publicvoidmethod()

B.publicvoidmethod()throwsException

C.publicvoidmethod()throwsTimedOutException

D.publicvoidmethod()throwTimedOutException

E.publicthrowTimedOutExceptionvoidmethod()

22.给出下面的代码

classPerson{

Stringname,department;

publicvoidprintValue(){

System.out.println("nameis"+name);

System.out.println("departmentis"+department);

publicclassTeacherextendsPerson(

intsalary;

publicvoidprintValue(){

//完成父类代码中printVahie()相同的工作

System.out.println("salaryis"+salary);

|

}

下面的哪些表达式可以加入printValue。方法的注释部分?[D]

A.printValueQ;

B.this.printValueQ;

C.person.printValueQ;

D.super.printValueQ;

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

A.floatf=11.1;

B.doubled=5.3E12;

C.doubled=3.14159;

D.doubled=3.14D;

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

classPerson{

Stringname,department;

intage;

publicPerson(Stringn){name=n;}

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

publicPerson(Stringn,Stringd,inta){

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

department=d;

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

A.Person(n,a);

B.this(Person(n,a));//构造函数的名字不能当方法名调用;

C.this(n,a);

D.this(name,age);//构造方法的参数也不能干脆传实例变量名

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

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

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

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

D.局部变量在运用前必需被初始化。

26.给出下面的代码

publicvoidtest(){

try{

oneMethodQ;

System.out.println("condition1");

}catch(ArraylndexOutOfBoundsExceptione){

System.out.println("condition2");

}catch(Exceptione){

System.out.printin("condition3");

}finally{

System.out.println("finally");

在oneMethodO方法运行正常的状况下将显示什么?[AD]

A.condition1

B.condition2

C.condition3

D.finally

27.给出下面的代码

publicclassTest{

voidprintValue(intm){

do{

System.out.printin("Thevalueis"+m);

}while(—m>10);

I

publicstaticvoidmain(Stringarg[]){

inti=10;

Testt=newTest();

t.printValue(i);

)

}

输出将是什么?[C]

A.8

B.9

C.10

D.11

28.下面的有关声明的哪些叙述是对的?旧C]

A.对原始数据类型例如boolean,byte的变量的声明不会为该变量支配内存

空间。

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

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

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

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

29.类的设计要求它的某个成员变量不能被外部类干脆访问。应当运用下面的

哪些修饰符获得须要的访问限制?[D]

A.public

B.不加修饰符

C.protected

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

30.给出下面的代码片断

1Stringstr=null;

2if((str!=null)&&(str.length()>10)){

3System.out.println("morethan10");

4}

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

6System.out.println("lessthan5");

7}

8else{System.out.println("end");}

哪些行将导致错误?[C]

A.第1行

B.第2行

C.第5行

D.第8行

31.下面有关java代码平安性的叙述哪些是对的?[BCD]

A.字节码校验器加载查询执行须要的全部类。

B.运行时说明器执行代码。

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

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

32.给出下面的代码

publicclassPerson{

intarr[]=newint[10];〃非静态属性

publicstaticvoidmain(Stringa[]){

System.out.println(arr[l]);〃静态方法不能访问非静态属性

/

)

哪些叙述是对的?[A]

A.编译时出错。

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

C.输出Oo

D.输出null。

33.给出下面的代码

publicclassParent{

publicintaddValue(inta,intb){

ints;

s=a+b;

returns;

}

}

classChildextendsParent{

}

哪些方法可以加入类Child中?旧C]//方法的覆盖

A.intaddValue(inta,intb){//dosomething...}

B.publicvoidaddValue(){//dosomething...)

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

D.publicintaddValue(inta,intb)throwsException{//do

something...)

34.公有成员变量MAX_LENGTH是一个int型值,变量的值保持常数值

100,定义这个变量的代码为?[CD]

A.publicintMAX_LENGTH=100;

B.finalintMAX_LENGTH=100;

C.finalpublicintMAX_LENGTH=100;//修饰符的依次可以交换

D.publicfinalintMAX_LENGTH=100;

35.下面的哪些java源文件代码片断是对的?[ACD]

A.packagetestpackage;

publicclassTest{//dosomething...)

B.importjava.io.*;

packagetestpackage;

publicclassTest{//dosomething...)

C.importjava.io.*;

classPerson"/dosomething...)

publicclassTest{//dosomething...)

D.importjava.io.*;

importjava.awt.*;

publicclassTest{//dosomething..)

36.给出下面的类

publicclassSample(

longlength;

publicSample(long1){length=1;}

publicstaticvoidmain(Stringarg[]){

Samplesi,s2,s3;

si=newSample(21L);

s2=newSample(21L);

s3=s2;

longm=2IL;

|

}

哪个表达式返回true?旧]

A.si==s2;

B.s2==s3;

C.m==si;

D.si.equals(m);

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

List1=newList(6,true);//其次个参数是false的话只能选一个

其中哪些叙述是正确的?[AC]

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

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

C.列表将允许用户多选

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

38.给出下面的代码

classParent{

Stringone,two;

publicParent(Stringa,Stringb){

one=a;

two=b;

|

publicvoidprint(){System.out.println(one);}

}

publicclassChildextendsParent{

publicChild(Stringa,Stringb){

super(a,b);

publicvoidprint(){

System.out.println(one+"to"+two);

}

publicstaticvoidmain(Stringargs[]){

Parentp=newParent("south","north");

Parentt=newChild("east","west");

p.print();

t.printO;

}

}

下面的哪些状况或输出的结果正确?[E]

A.编译时出错

B.south

east

C.southtonorth

easttowest

D.southtonorth

east

E.south

easttowest

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

Personp;

Teachert;

Students;

若p,t和S都是非空值

if(tinstanceofPerson){s=(Student)t;}

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

A.将构造一个Student对象

B.表达式合法

C.编译时非法

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

40.给出下面的代码

Strings="hello";

Stringt="hello";

charc[]={h,'e',T,T「o'};

下列选项里,哪些返回true?[ACD]

A.s.equals(t);

B.t.equals(c);

C.s==t;

D.t.equals(newString("hello"));

E.t==c;

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

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

intx=182;

inta,c;

c=x/100;

a=x%10;

A)1,2B)2,1C)1.82,2D)100,82

【答案】B

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

A)x>y?y:xB)x<y?y:xC)x>y?(x+y):(x-y)D)x==y?y:x;

【答案】B

3.以下是应用程序中定义的静态方法printBinary,若在其main方法中有方

法调用语句printBinary⑵,则输

出的结果是()o

staticvoidprintBinary(inti){

System.out.print(i+"的2进制数表示为:\t");

for(intj=31;j>=0;j-)

if(((l«j)&i)!=0)

System.out.print("l");

else

System.out.print("0");

System.out.println。;//换彳亍

}

A)0000000001B)0000000010

C)0000001111D)0000000000【答案】B

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

Stringsl="0.5",s2="12";

doublex=Double.parseDouble(s1);

inty=lnteger.parselnt(s2);

System.out.printin(x+y);

A)12.5B)120.5C)12D)“12.5”

【答案】A

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

doublex=1234.1234567;

DecimalFormatforml=newDecimalFormat("0000,0");

System.out.println("PI="+form1.format(x));

A)PI=1234.1B)PI=1234

C)PI=1234.1235D)PI=1234.0

【答案】A

6.下列程序段执行后的结果是()o

Strings=newString("abcdefg");

for(inti=0;i<s.length();i+=2){

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

)

A)acegB)ACEGC)abcdefgD)abed

【答案】A

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

int[]x={122,33,55,678,-987};

intmax=x[0];

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

if(x[i]>max)

max=x[i];

System.out.printin(max);

A)678B)122C)-987D)33

【答案】A

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

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

switch(x%y){

case0:k=x+y;break;

case1:k=x-y;break;

case2:k=x*y;break;

default:k=x/y;break;

}

System.out.printin(k);

A)2B)5C)10D)0

【答案】C

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

publicclassAimplementsB(

publicstaticvoidmain(Stringargs[]){

inti;

Acl=newA();

i=cl.k;

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

interfaceB{

intk=10;

}

A)i=0B)i=10C)程序有编译错误D)i=true

【答案】B

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

intb[][]={{l,2,3},{4,5},{6,7}};

intsum=0;

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

for(intj=0;j<b[i].length;j++){

sum+=b[i][j];

}

}

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

A)28B)6C)9D)13

【答案】A

11.有整型数组:int[]x={12,35,8,7,2};,则调用方法A"ays.sort(x)后,数

组x中的元素值依次是().

A)2781235B)1235872C)3512

872D)8712

352

【答案】A

12.编译和运行下面的应用程序,并在叮嘱行界面输入12345,则回车后屏幕

输出的结果是().

publicclassA{

publicstaticvoidmain(Stringargs[])throwsIOException{

BufferedReaderbuf=newBufferedReader(

newInputStreamReader(System.in));

Stringstr=buf.readLine();

intx=Integer.parselnt(str);

System,out.printin(x/100);

}

}

A)45B)5C)123D)12345

【答案】C

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

StringBufferbuf=newStringBuffer("Beijing2023");

buf.insert(7,"@");

System.out.printin(buf.toStringQ);

A)Beijing@2023B)@Beijing2023C)Beijing2023@D)

Beijing#2023【答案】A

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

publicclassAimplementsRunnable{

publicstaticvoidmain(Stringargv[]){

Aa=newA();

Threadt=newThread(a);

t.start();

publicvoidrun(){

while(true)

温馨提示

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

评论

0/150

提交评论