Java考试题、题库、各种考试题_第1页
Java考试题、题库、各种考试题_第2页
Java考试题、题库、各种考试题_第3页
Java考试题、题库、各种考试题_第4页
Java考试题、题库、各种考试题_第5页
已阅读5页,还剩115页未读 继续免费阅读

下载本文档

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

文档简介

《JAVA程序设计》期末考试试题(一)

一、单选题

1、当某一线程正处于休眠状态,而另一个线程用Thread类中的interrupt()方

法中断它时,抛出的异常类型是()。

A)lOExceptionB)RuntimeException

C)InterruptedExceptionD)ClassNotFoundException

2、下面的程序段的功能是()0

Filefilel=newFile(nd:\\xxx\\yyy\\zzz'!);

filel.mkdirs();

A)在当前目录下生成子目录:\xxx\yyy\zzzB)生成目录:e:\xxx\yyy\zzz

C)在当前目录下生成文件xxx.yyy.zzzD)以上说法都不对

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

Strings=,fxxxxxxxxxxxxxxx#123#456#zzzzzH;

intn=s.indexOf(M#n);

intk=s.indexOf(n#H,n+1);

Strings2=s.substring(n+l,k);

System.out.println(s2);

A)123456B)123C)xxxxxxxxxxxxxxxD)zzzzz

4、关于下面的程序Test.java说法正确的是()。

publicclassTest{

Stringx=T;

inty;

publicstaticvoidmain(Stringargs[]){

intz=2;

System.out.println(x+y+z);

}

}

A)3B)102C)12D)程序有编译错误

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

intb[][]={{l,l,l},{2,2},{3});

intsum=O;

fbr(inti=0;i<b.length;i-H-){

fdr(intj=O;j<b[i].length;j++){

sum+=b[i][j];

)

)

System.out.println(nsum=n+sum);

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

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

int[]x={125,21,5,168,98};

intmin=x[0];

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

if(x[i]<min)

min=x[i];

}

System.out.println(min);

A)125B)5C)98D)168

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

Hashtablehashtable=newHashtable();

hashtable.put(n100n,naaan);

hashtable.put(n200M,nbbbn);

hashtable.put(“300“Jccc”);

System.out.println(hashtable.get(,,300,1).toString()

+hashtable.get(n200n).toString()

+hashtable.get(H100n).toString());

A)aaaB)bbbC)cccD)cccbbbaaa

8、以下关于java异常说法不正确的是()o

A)Throwable类是Java语言中Error类和Exception类的父类。

B)当异常对象是Exception类(或其子类)的实例时,能通过Java虚拟机或者

throw语句抛出该异常对象,并能通过try...catch...finally处理。

C)如果只用一个catch块捕捉多个异常对象,plijcatch子句中的参数类型应是所

有异常对象的父类。

D)以上说法都不对。

9、下面的程序创建了一个文件输出流对象,用来向文件test.txt中输出数据,假

设程序当前目录下不存在文件test.txt,编译下面的程序Testjava后,将该程序运

行3次,则文件test.txt的内容是()o

importjava.io.*;

publicclassTest{

publicstaticvoidmain(Stringargs[]){

try{

Strings="ABCDE";

byteb[]=s.getBytes();

FileOutputStreamfile=newFileOutputStreamCtest.txt",true);

file.write(b);

file.closeO;

)

catch(IOExceptione){

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

A)ABCABCB)ABCDEC)TestD)ABCDEABCDEABCDE

10、下面说法不正确的是()?

A洌表(List)、集合(Set)和映射(Map)都是java.util包中的接口。

B)List接口是可以包含重复元素的有序集合。

C)Set接口是不包含重复元素的集合。

D)M叩接口将键映射到值,键可以重复,但每个键最多只能映射一个值。

二、多选题

1、下面哪些关键字能用来控制对类成员的访问()?

A)publicB)protectedC)privateD)default

2、下面关于Java中异常处理try块的说法正确的是()?

A)try块后通常应有一个catch块,用来处理try块中抛出的异常。

B)catch块后必须有finally块。

C)可能抛出异常的方法调用应放在try块中。

D)对抛出的异常的处理必须放在try块中

3、线程对象的生命周期中,通常经历下面哪些状态()。

A)新建B)运行C)就绪D)死亡

4、定义如下的二维数组b,下面的说法正确的是()0

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

A)b.length的值是3。B)b[l].length的值是30

的值是5。D)二维数组b的第一行有3个元素

5、类B是一个抽象类,类C是类B的非抽象子类,下列创建对象xl的语句中

正确的是()o

A)Bxl=newB();B)Bxl=newC();

C)Cxl=newC();D)Cxl=newB();

6、下面关于进程、线程的说法正确的是()。

A)进程是程序的一次动态执行过程。一个进程在其执行过程中,可以产生多个线

程——多线程,形成多条执行线索。

B)线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的

控制流。线程本身不能自动运行,栖身于某个进程之中,由进程启动执行。

C)Java多线程的运行与平台相关。

D)对于单处理器系统,多个线程分时间片获取CPU或其他系统资源来运行。对

于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务。

7、下面关于外部类和内部类成员的相互访问的规则中,正确的选项是()。

A)内部类可以直接访问外部类的成员

B)外部类可以直接访问内部类的成员

C)外部类不能访问内部类的成员

D)外部类可通过创建内部类的实例来访问内部类的成员

三、程序阅读题

1、阅读下面的程序代码,并回答问题(❶问3分,❷问3分,共6分)。

Stringsi=newString(nabcdeH);

Strings2=newString,abcde");

booleanbl=sl.equals(s2);

booleanb2=sl==s2;

System.out.print(b1+””+b2);

❶程序段执行后,在命令行的输出结果如何?

❷解释输出(1)的结果的原因?

答案:

❶truefalse

❷equals方法比较两个字符串的内容是否相等;运算符判断两个对象是否

指向同一个引用,即是否为同一个对象。

2、阅读下面的程序,并回答问题(❶问3分,❷问3分,共6分)。

importjava.io.*;

publicclassTest{

publicstaticvoidmain(Stringargs[])throwslOException{

BufferedReaderbuf=newBufferedReader(

newInputStreamReader(System.in));

while(true){

Stringstr=buf.readLine();

if(str.equals(nquitH))

break;

intx=lnteger.parselnt(str);

System.out.println(x*x);

编译运行上面的程序:

❶从键盘输入10,回车后输出的结果如何?

❷从键盘输入exit,回车后程序能正确执行吗?为什么?

答窠:

❶100

❷不能;因为方法Integer.parselnt(str)不能将字符串"exit"转化为整数,抛出异

常。

3、写出下面的程序编译、运行后的结果(6分)。

publicclassTest{

publicstaticvoidmain(Stringargs[]){

newStudent("Tom”90,88);

newStudent(nJackH,66,89);

newStudent(nMaryn,T,76,86);

System.out.println(nnaiTie\tsex\tchinese\tenglishn);

Student.printQ;

classStudent{

protectedStringname;

protectedcharsex;

protectedintChinese;

protectedintenglish;

protectedStudentnext;

staticStudentlist;

Student(Stringname,charsex,intChinese,intenglish)

=name;

this.sex=sex;

this.chinese=chinese;

this.english=english;

this.next=list;

list=this;

)

staticvoidprint(){

Studentfriend=list;

if(friend==null)

System.out.println(MThelistisempty.H);

else{

do{

System.out.println(friend.toStringO);

friend=friend.next;

}while(friend!=null);

)

)

publicStringtoString(){

returnnewString(name+"\t"+sex+"\t"+chinese+”\t"+english);

答案:

namesexChineseenglish

Maryf7686

Jackm6689

Tomm9088

《JAVA程序设计》期末考试试题(二)

一、填空题

1.定义类的保留字是(class),定义接口的保留字是(interface)。

2.Socket通常也称为(套接字),用于描述(IP地址)和(端口)o

3.线程的优先级在(1)至(10)之间,数值越大(任务越紧急)o

4.构造方法是一种特殊的成员方法,构造方法名与(类名)相同。

5.Java语言只允许单继承,指每个类只能有一个(父类)。

6.Java源程序的扩展名是(.java),经过编译后的程序的扩展名是(.class)。

7.在一个时间只能由个线程访问的资源称为(临界资源)。访问临界资源的

代码(临界代码)o

8.在多线程系统中,多个线程之间有(同步)和(互斥)两种关系。

二、选择题

1.关于选择结构下列哪个说法正确?()

A.if语句和else语句必须成对出现

B.if语句可以没有else语句对应

C.switch结构中每个case语句中必须用break语句

D.switch结构中必须有default语句

2.while循环和do…while循环的区别是:()

A.没有区别,这两个结构任何情况下效果一样

B.while循环比do…while循环执行效率高

C.while循环是先循环后判断,所以循环体至少被执行一次

D.do...while循环是先循环后判断,所以循环体至少被执行一次

3.关于for循环和while循环的说法哪个正确?()

A.while循环先判断后执行,for循环先执行后判断。

B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果

C.两种循环任何时候都不可以替换

D.两种循环结构中都必须有循环体,循环体不能为空

4.下列修饰符中与访问控制无关的是()

A.privateB.public

C.protectedD.final

5.void的含义:()

A.方法没有返回值B.方法体为空

C.没有意义D.定义方法时■必须使用

6.return语句:()

A.只能让方法返回数值B.方法都必须含有

C.方法中可以有多句returnD.不能用来返回对象

7.关于对象成员占用内存的说法哪个正确?()

A.同一个类的对象共用同一段内存

B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间

C.对象的方法不占用内存

D.以上都不对

8.下列说法哪个正确?

A.不需要定义类,就能创建对象

B.对象中必须有属性和方法

C.属性可以是简单变量,也可以是一个对象

D、属性必须是简单变量

9.下列说法哪个正确?()

A、一个程序可以包含多个源文件

B、一个源文件中只能有一个类

C、一个源文件中可以有多个公共类

D、一个源文件只能供一个程序使用

10.关于方法main()的说法哪个正确?()

A.方法main()只能放在公共类中

Bmain()的头定义可以根据情况任意更改

C.一个类中可以没有main()方法

D.所有对象的创建都必须放在main。方法中

11.构造函数何时被调用?(

A、创建对象时B、类定义时

C、使用对象的方法时D、使用对象的属性时

12.抽象方法:()

A、可以有方法体

B、可以出现在非抽象类中

C、是没有方法体的方法

D、抽象类中的方法都是抽象方法

13.关于继承的说法正确的是:

A、子类将继承父类所有的属性和方法。

B、子类将继承父类的非私有属性和方法。

C、子类只继承父类public方法和属性

D、子类只继承父类的方法,而不继承属性

14.关于构造函数的说法哪个正确?()

A、一个类只能有一个构造函数

B、一个类可以有多个不同名的构造函数

C、构造函数与类同名

D、构造函数必须自己定义,不能使用父类的构造函数

15.this和super:

A、都可以用在main。方法中

B、都是指一个内存地址

C、不能用在main()方法中

D、意义相同

16.关于super的说法正确的是:

A、是指当前对象的内存地址

B、是指当前对象的父类对象的内存地址

C、是指当前对象的父类

D^可以用在main()方法中

17.覆盖与重载的关系是()

A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中

B.覆盖方法可以不同名,而重载方法必须同名

C.final修饰的方法可以被覆盖,但不能被重载

D.覆盖与重载是同一回事

18.关于接口哪个正确?()

A、实现一个接口必须实现接口的所有方法

B.一个类只能实现一个接口

C.接口间不能有继承关系

D.接口和抽象类是同一回事

19.异常包含下列哪些内容?()

A.程序执行过程中遇到的事先没有预料到的情况

B.程序中的语法错误

C.程序的编译错误

D.以上都是

20.对于已经被定义过可能抛出异常的语句,在编程时:()

A、必须使用try/catch语句处理异常,或用throws将其抛出

B.如果程序错误,必须使用try/catch语句处理异常

C.可以置之不理

D.只能使用try/catch语句处理

21.字符流与字节流的区别在于()

A.前者带有缓冲,后者没有

B.前者是块读写,后者是字节读写

C.二者没有区别,可以互换使用

D.每次读写的字节数不同

22.下列流中哪个不属于字节流()

A.FileinputStream

B・BufTeredlnputStream

C.FilterlnputStream

D.InputstreamReader

三、程序填空题

1.publicclassSum{

publicstaticvoidmain(String[]args){

intj=10;

System.out.println(Hjis:"+j);

calculate①;

System.out.println(HAtlast,jis:”+j);

)

staticvoidcalculate(intj){

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

j++;

System.out.println(Hjincalculate()is:

}

)

输出结果为:

jis:(1)

jincalculate()is:(2)

Atlastjis:(3)

答案:(1)10;(2)20;(3)10o

2.按要求填空

abstractclassSuperAbstract{

voida(){...}

abstractvoidb();

abstractintc(inti);

i

interfaceAsSuper

(

voidx();

)

abstractclassSubAbstractextendsSuperAbstractimplementsAsSuper

(

publicvoidb(){...}

abstractStringfi();

}

publicclassInheritAbstractextendsSubAbstract{

publicvoidx(){...}

publicintc(inti){...}

publicString[){,・・}

publicstaticvoidmain(Stringargs[]){

InheritAbstractinstance=newInheritAbstract();

instance.x();

instance.a();

instance.b();

instance.c(lOO);

System.out.println(instance.f());

)

在以上这段程序中:

抽象类有:SuperAbstract和(1)(写出类名)

非抽象类有:(2)(写出类名)

接口有:(3)(写出接口名)

AsSuper中的x()方法是(4)方法,所以在InheritAbstract中必须对它进行(5)

答案:

(1)SuperAbstract;

(2)InheritAbstract;

(3)AsSuper;

(4)抽象;

(5)覆盖和实现。

3.按注释完成程序

publicclassLeaf{

privateinti=0;〃此属性值用于检验

Leafincrement。{〃定义方法increment(),返回值是Leaf类的对象

i++;

return(1);〃将当前对象的地址作为返回值返回

)

voidprint(){

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

}

publicstaticvoidmain(Stringargs[]){

Leafx=(2);//创建Leaf类的对象x

x.increment().increment().increment().print();

}〃多次调用方法increment。,返回的都是x的地址,i值表示调用次数

)

输出结果为i=(3)

答案:

(1)this;

⑵newLeaf();

⑶3

4.按注释提示完成文件复制的程序

//FileStream源代码如下:

importjava.io.*;

classFileStream{

publicstaticvoidmain(Stringargs[]){

try{

FileinFile=newFile^filel.txf*);〃指定源文件

FileoutFile=newFile(”file2.txt");〃指定目标文件

FilelnputStreamfis=(1);

FileOutputStreamfbs=newFileOutputStream(outFile);

intc;

〃逐字节从源文件中输入,再输出到fos流

while((c=fis.read())!=-1)

(2);

fis.close();

fbs.close();

)

catch(Exceptione){

System.out.println(HFileStreamsTest:"+e);

答案:

(1)newFilelnputStream(inFile);

(2)fbs.write(c);

5.阅读程序,给出结果:

//AbstractClassDemo.java源代码如下:

abstractclassShape{〃定义抽象类Shape和抽象方法display

abstractvoiddisplay();

)

classCircleextendsShape{

voiddisplay(){〃实现抽象类的方法

System.out.println(HCirclen);

)

)

classRectangleextendsShape{

voiddisplay(){〃实现抽象类的方法

System.out.println(,,RectangleH);

classTriangleextendsShape{

voiddisplay(){〃实现抽象类的方法

System.out.println("Triangle");

publicclassAbstractClassDemo{

publicstaticvoidmain(Stringargs[]){

(newCircle()).display();〃定义无名对象来调用对应的display方法

(newRectangle()).display();

(newTriangle()).display();

}

)

输出结果是?

答案:(1)Circle;(2)Rectangle;⑶Triangle。

《JAVA程序设计》题库

-、选择题(每小题2分,共40分)

1.下列关于java语言的叙述中,正确的是

A.机器语言B汇编语言C.面向过程的语言D.面向对象的语喜

2.下列是Java合法的标识符

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

3.下列关于继承的描述中,正确的是

A.在Java中允许多重继承

BJava的单•继承使代码更可靠

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

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

4.下列代表十六进制整数

A.0x7EB.034C.2E3D.19

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

A.staticB.abstractC.finalD.define

6.switch语句不能用于下列数据类型

A.byteB.shortC.charD.float

7.执行下列程序段后,b,x,y的值正确的是

intx=6,y=8;

booleanb;

b=x<y||++x二二--y;

A.true,6,8B.false,7,7C.true,7,7D.

false,6,8

8.设a=8,则表达式a»2的值是

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

9.下面是findSum(intm,intn)方法的定义,方法调用findSum(l,4)的返回结果是

intfindSum(intm,intn){

intsum=O;

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

sum+=i;

)

returnsum;

)

A.lB.4C.5D.10

10.Java中main()方法的返回值是

A.stringB.intC.charD.void

11.以下关于JAVA程序的叙述中正确的是o

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

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

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

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

12^若有inta=l,b=2,c=3,d=4;booleanm,n;执行表达式(m=a〉b)&&(n=c++>d)

后c的值为o

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

13、JAVA语言提供的合法的关键字是。

A.CharB.maxC.switchD.Default

14、以下各标识符组中,合法的用户标识符为o

A.Pad、#abcB.b」、alOC.void>maxD.8a、temp

15、若有doublex=2,y;则表达式y=x+5/2的值是_

A.3B.4C.4.5D.4.0

16、设有intx=y=z=l;booleanc;则执行语句c=­x>0&&-y<2||—z〈l;后,x,y,z

的值分别为o

A.0,1,1B.0,1,0C.1,0,1D.0,0,1

17、inta=12,b;b=a>>2;则b、a的值为。

A.3、3B.3、12C.6、12D.24、3

18、执行下面的语句后,x、y、z的值为0

intx=7,y=9,z;

z=(x>y)?x+y:x/y;

A.7、9、16B.1、9、0C.16、9、16D.16、16、16

19、以下关于if语句的错误描述是。

A.条件表达式可以是任意的表达式

B.条件表达式只能是关系表达式或逻辑表达式

C.条件表达式的括号不能省略

D.与else配对的if语句是其之前最近的未配对的if语句

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

intj=8,k=15;

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

k++;

)

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

22.下列语句序列执行后,j的值是'()o

intj=3,i=2;

while(-i!=i/j)

j=j+2;

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

23.下列语句序列执行后,i的值是'()o

inti=0;

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

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

24.下列语句序列执行后,k的值是'()0

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

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

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

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

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

switch(x%y+3){

case0:k=x*y;break;

case6:k=x/y;break;

case12:k=x-y;break;

default:k=x*y-x;break;

A.12B.0C.15D.-2

26.执行完下面的程序段后,输出的结果是()。

charc='\0';

for(c=,a;c<'z';c+=3){

if(c>=,d')break;

)

System,out.printin("\''+c+"\'");

A.'e'B.'f'C.'a'D.'d'

27.执行完下面的程序段后,k的值是()。

intk=0;

label:for(inti=l;i<10;i++)

(

for(intj=l;j<5;j++)

(

k+=i+j;

if(j==3)

breaklabel;

}

)

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

28.执行完下面的程序段后,k的值是()。

intk=0;

label:for(inti=l;i<3;i++)

(

for(intj=l;j<3;j++)

(

k+=i+j;

System,out.println(k);

if(i==2)

continuelabel;

}

)

A.3B.5C.8D.12

29.表达式(short)8/9.2*5的值的类型为()。

A.shortB.intC.doubleD.float

30.以下选项中变量均已正确定义,合法的赋值语句是()。

A.a==1B.++iC.a=a+l=5D.y(int)i(iA

初始化)

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

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

义一个或多个类,每个类由若干个方法和变量组成。

B.Java程序中声明有public类时,则Java程序文件名必须与public类

的类名相同,并区分大小写,扩展名为.java。

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

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

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

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

33.编译Java程序时,用于指定生成class文件位置的选项是()。

A.-dB.-gC.-verboseD.-nowarn

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

A.voidmain()B.privatestaticvoidmain(String

args[])

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

ngargs[])

35.下面哪些标识符在Java语言中是合法的?()

A.6persons$B.TwoUsers

C.*pointD.instanceofF.end-line

36.下列()是合法标识符。

A.2endB.-helloC.=ABD.整型变量

37.若x=5,y=8,则表达式x|y的值为()o

A.3B.13C.0D.5

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

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

化为8.0

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

化为8.0

39.基本数据类型short的取值范围是()。

A.(-256)~255B.(-32768)~32767

C.(-128)~127D.0飞5535

40.下列()是不能通过编译的语句。

A.doubled=545.0:B.charal="c":C.inti=321:D.f

loatfl=45.Of;

41.若定义有shorts;byteb;charc;则表达式s*b+c的类型为(

)o

A.charB.shortC.intD.byte

42.下列循环语句的循环次数是()o

inti=5;

do{System,out.printin(i-);

i一;

}while(i!=0);

A.5B.无限C.0D.1

43.下面的表达式哪些是正确的?()

A.Strings="你好";inti=3;s+=i;

B.Strings="你好";inti=3;if(i==s){s+=i};

C.Strings="你好";inti=3;s=i+s;

D.Strings=null;inti=(s!=null)&&(s.length0>0)?s.length():0;

44.下列代表十六进制整数的是()。

A.012345B.2008C.0xfa08D.fb05

45.在switch(expression)语句中,expression的数据型不能是()。

A.charB.shortC.doubleD.byte

46.指出正确的表达式()。

A.byte=128;B.longl=0xfffL;C.Boolean=null;D.doub

le=0.9239d;

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

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

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

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

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

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

其他类和其他包的该类子类的修饰符是()。

A.默认B.protectedC.privateD.public

49.在类的修饰符中,规定只能被同一包类所使用的修饰符是()。

A.publicB.默认C.finalD.abstract

50.下列关于抽象类的描述中,错误的是()。

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

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

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

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

oid声明

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

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

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

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

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

53.下列哪些方法与方法publicvoidadd(inta){}为不合理的重载方

法?()

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

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

a)

54.MAX_LENGTH是int型public成员变量,变量值保持为常量100,其定

义是()。

A.publicintMAX_LENGTH=100;B.finalpublicintMAX_LEN

GTH=100;

C.publicfinalintMAX_LENGTH=100;D.finalintMAX_LENGTH=1

00;

55、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码

文件的扩展名为(

A1aVa

UB..class

C

UID..exe

V2Z3

56、设x*==则表达式的值是(

=13y+=z----/++x)o

A.B.3.5

C.4D.5

57、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用

类名AB作为前缀就可以调用它,该方法头的形式为()。

A.staticvoidmethod()B.publicvoid

method()

C.finalvoidmethod()D.abstractvoid

method()

58.JavaSE的命令文件(java、javac、javadoc等)所在目录是()。

A.%JAVA_HOME%\jreB.%JAVA_HOME%\lib

C.%JAVA^HOME%\binD.%JAVA_HOME%\demo

59.在以下供选择的概念中,不属于面向对象语言概念的是()

A.类B.函数

C.动态联编D.抽象

60.JAVA语言中,int类型的数据长度是。

A.1个字节B.2个字节C.4个字节D.8个字节

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

1.已知:inta=8,b=6;则:表达式++a-b++的值为(3)。

2.(interface)只描述系统所提供的服务,而不包含服务的实现细节。

3.构造方法的方法名与(类名)相同,若类中没有定义任何的构造方法,

则运行时系统会自动为该类生成一个(默认构造)方法。

4.在方法体内定义的变量是(局部变量)

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

6.类成员的访问控制符有(public)(private)、(protected)和默

认四种。

7.若子类和父类在同一个包中,则子类继承父类中的(public)(prot

ected)和(默认)成员,将其作为子类的成员,但不能继承父类的(private)

成员。

8.(子类)直接赋值给(父类)时,子类对象可自动转换为父类对象,(父

类)赋值给(子类)时,必须将父类对象强制转换为子类对象。

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

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

11.接口中定义的数据成员均是(public),所有成员方法均为(public)

方法,且没有(private)方法。

12.this代表(当前对象)的引用,super表示的是当前对象的直接父类对

象。

13.如果一个类包含一个或多个abstract方法,则它是一个(abstract)

类。

14.接口中只能包含(public)类型的成员变量和(public)类型的成员方

法。

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

16、JAVA源文件的扩展名为_java,字节码的扩展名class。

17、标识符是由_下划线_$为开头

18>inta=6,b=5;floatc;c=a/b;则c的值为__1.0

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

20、短路逻辑运算符包括_&&__和_三目运算符是—?:______o

21、定义一个单精度浮点型变量f,并赋值@1.56,JAVA语句为

f=1.56_F_o

22、intx=2,y=5;booleanb;b=++x>4&++y<3,则x、y、b的值为

3_,6,false。

23>floatf=33.7;f=f%10;则f的值为—3.7□

三、程序阅读题(每小题10分,共20分)

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

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

If(x>2){

If(y<5){

System,out.printin(uMessageone");

)

Else

{

System,out.printin(uMessageTwo");

)

)

Elseif(z>5){

System,out.printin(uMessagethree");

}else{System,out.printin("Messagefour");}

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

_______________________________Valueisihree.

Intj=2;

Switch(j){

Case2:

System,out.printin("Valueistwo.");

Case2+1:

System,out.println("Valueisthree.");

Break;

Default:

System.out.println(uValueis"+j);

Break;

3.写出以下程序的输出结果

**

***

****

For(inti=l;i<=5;i++)

For(intj=l;j<=i;j++)

System.out.print("*");

System,out.println("");

}

4.下列程序运行后,输出的结果是56

publicclassTest{

publicstaticvoidmain(String[]args){

intc=5;

System,out.printin(c);

System.out.printin(c++);

System,out.printin(c);

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

publicclassIfelse{

publicstaticvoidmain(String[]args){

inti=9;

if(i<3)

System,out.printin("i<3");

else

if(i<8)

System,out.println(u3<i<8,?);

else

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

)

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

publicclassBase{

publicstaticvoidmain(StringE]args){

inti=4;

switch(i){

default:System,out.print("default");

case0:System.out.print("Zero”);

case1:System,out.print(^Onew);break;

case2:System,out.print(“Two”);

)

)

四、程序题(每题15分,共30分)

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

PublicTest{

Publicstaticvoidm

温馨提示

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

评论

0/150

提交评论