Java题库及答案2Word文档格式.docx

上传人:b****6 文档编号:18819688 上传时间:2023-01-01 格式:DOCX 页数:245 大小:132.99KB
下载 相关 举报
Java题库及答案2Word文档格式.docx_第1页
第1页 / 共245页
Java题库及答案2Word文档格式.docx_第2页
第2页 / 共245页
Java题库及答案2Word文档格式.docx_第3页
第3页 / 共245页
Java题库及答案2Word文档格式.docx_第4页
第4页 / 共245页
Java题库及答案2Word文档格式.docx_第5页
第5页 / 共245页
点击查看更多>>
下载资源
资源描述

Java题库及答案2Word文档格式.docx

《Java题库及答案2Word文档格式.docx》由会员分享,可在线阅读,更多相关《Java题库及答案2Word文档格式.docx(245页珍藏版)》请在冰豆网上搜索。

Java题库及答案2Word文档格式.docx

4、不正确的表达式是(AB)。

A、floata=1.0d;

B、Doublea=newDouble(1.0) 

C、bytea=(byte)340;

D、Bytea=120;

5、定义一个类名为"

MyClass.java"

的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为(CD)。

A、privateclassMyClassextendsObject 

B、classMyClassextendsObject

C、publicclassMyClass 

D、publicclassMyClassextendsObject

6、下列构造方法的调用方式中,正确的是(C)。

A、按照一般方法调用 

B、由用户直接调用

C、只能通过new自动调用 

D、被系统调用

7、private级的成员可以被哪些对象访问?

C

A、同一包中的其他类 

B、仅同一类的私有成员方法

C、仅同一类的所有成员方法 

D、所有其他类

8、关于Object类,以下正确的是(ADE)。

A、Object类中定义了一些重要的方法,以方便Java类的使用

B、Object类是一个非常特殊的“虚拟”类,就是说只能从Object类派生出其它类,但不能创建一个Object类的对象,也不能将一个引用变量定义为Object类型

C、如果一个类已经有了父类,那么这个类同时继承了Object类,也就是说这时候这个类实际上有两个父类

D、Object类是所在其他Java类的直接或间接父类

E、Java中的类是单继承的,因此所在的类以Object类为根,形成了棵继承树

9、抽象类与普通类的区别是什么?

A、抽象类没有成员变量,只有成员函数

B、抽象类只有成员变量,没有成员函数

C、抽象类中有抽象函数,而普通类的每个函数都是有具体实现的

D、抽象类与普通类没有区别

10、使用接口的通常办法是(D)。

A、将接口数当作静态数据来调用 

B、直接调用接口的方法

C、将接口变量作为方法的参数来使用

D、定义一个接口变量,该变量指向实现接口的对象来访问

E、定义一个接口对象,通过对象访问

11、执行下列代码后,哪个结论是正确的String[]s=newString[10];

BD

A、s[10]为"

"

B、s[9]为null;

C、s[0]为未定义 

D、s.length为10

12、以下对substring函数的描述中,错误的是()。

BC

A、String和StringBuffer类都可以使用substring函数

B、substring函数返回一个StringBuffer对象

C、substring函数获得从指定位置开始,到指定位置为止的字符串

D、substring函数用于获得字符串的一个子串

13、如果catch块中包括多个异常类,这些异常类的匹配原则是什么?

A、接try块中程序执行的顺序,寻找最通用的异常类

B、接try块中程序执行的顺序,寻找能够最精确匹配的类

C、接catch块中异常类的排列顺序,寻找第一个能够匹配的异常对象

D、在catch块中寻找能够最精确匹配的类

14、以下异常中,不属于RuntimeException的是(D)。

A、IndexoutofBoundsException数组以下越界异常

B、NullPointerExcePtion使用未初始化的引用变量

C、ArithmeticException算术异常

D、IllegalAccessException没有足够的权限访问其他类的成员

15、运行下列程序,会产生什么结果。

AD

publicclassMyThreadextendsThreadimplementsRunnable{

 publicvoidrun(){

  System.out.println("

thisisrun()"

);

 }

 publicstaticvoidmain(String[]args) {

  Threadt=newThread(newMyThread());

  t.start();

A、第一行会产生编译错误 

B、第六行会产生编译错误

C、第六行会产生运行错误 

D、程序会运行和启动

三、简答题。

1、子类重新定义与父类方法的方法头完全相同的方法,这种情况称为什么?

此时子类对象还能执行父类中原来的方法吗?

答:

这种情况称为方法的覆盖,此时,在子类中已不能找到父类原来的方法,它的内存位置已经被替代。

2、final修饰符可以用来修饰什么?

被final修饰符修饰后有何特点?

final修饰符可用来修饰类、属性、方法和终结器。

被final修饰符修饰的类没有子类。

被final修饰符修饰的属性在程序整个执行过程中都不能改变。

被final修饰符修饰的方法是功能和内部语句不能更改的最终方法。

被final修饰符修饰的终结器(以称析构器——finalize()方法,是在对象被删除前进行收尾工作的方法)也是不能更改的。

3、试写出一个语句创建一个名为myPackage的包,这个语句应该放在程序的什么位置?

packageMyPackage;

应该在程序第一句。

四、编程题。

1、打印出所有的“水仙花数”。

所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。

例如:

153是一个“水仙花数”,因为153=13+53+33。

#include<

stdio.h>

intmain()

{

//所谓水仙花数是指一个三位数,其各位数字立方和等于该数

inti;

inta=0,b=0,c=0;

//a表示百位上的数,b表示十位上的数,c表示个位上的数,

printf("

打印三位数的所有水仙花数\n"

for(i=100;

i<

1000;

i++)

a=i/100;

b=i/10;

c=i;

if(i==a*a*a+b*b*b+c*c*c)

{

printf("

%d\n"

i);

}

return0;

2、编程创建一个Cube类,在其中定义三个变量表示一个立方体的长、宽和高,定义一个构造方法对这三个变量进行初始化,然后定义一个方法求立方体的体积。

创建一个对象,求给定尺寸的立方体的体积。

publicclassBox

doublelength;

//长

doublewidth;

//宽

doubleheight;

//高

publicBox()

{//构造函数

length=0;

width=0;

height=0;

publicvoidsetLength(doublelength)

{//设置长

this.length=length;

publicdoublegetLength()

{//得到长

returnlength;

publicvoidsetWidth(doublewidth)

{//设置宽

this.width=width;

publicdoublegetWidth()

{//得到宽

returnwidth;

Java程序设计试题及答案

(二)

Java程序设计试题及答案

(二) 

1、JavaApplication程序中,必有一个主方法main(),该方法有没有参数都可以。

2、Java程序中不区分大小写字母。

3、已知bytei=(byte)127;

i=i+1;

这两个语句能被成功编译。

4、调用this或super构造方法的语句必须放在第一条语句。

5、创建对象时系统将调用适当的构造方法给对象初始化。

6、对象可作方法参数,对象数组不能作方法参数。

1、Java程序的编程与运行分几个阶段,下面的阶段描述中正确的是(BE)。

A、Java编译器将源文件编译为二进制的目标码文件

B、连接软件将目标码文件连接为最终的执行文件

C、Java虚拟机运行连接后的可执行文件,将它们翻译为硬件能够理解的机器语言

D、目标码无需连接,可以直接由Java虚拟机执行

E、Java虚拟机解释目标文件,并把它们翻译为硬件能够理解的机器语言

2、执行一个Java程序“FirstApp”的方法是(B)

A、直接双击编译好的Java目标码文件执行 

B、运行“javacFirstApp.class”

C、运行“javaFirstApp.java” 

D、运行“javaFirstApp”

3、按照Java的标识符命名规范,下列表示一个类的标识符正确的是(B)。

A、Helloworld 

B、HelloWorld 

C、helloworld 

D、helloWorld 

4、下列叙述中,正确的是(A)。

A、Java语言的标识符是区分大小写的

B、源文件名与public类名可以不相同

C、源文件扩展名为.jar

D、源文件中public类的数目不限

5、指出下列哪个方法不是publicvoidadd(inta){}的重载方法。

(A)

A、publicintadd(inta) 

B、publicvoidadd(longa)

C、publicvoidadd(inta,intb) 

D、publicvoidadd(floata)

6、关于缺省级和公开级的类在访问上的差别,描述正确的是(BD)。

A、对于其它包的类,只要用“import”关键字导入,就可以访问到缺省级的类

B、“import”关键字只能导入公开级的类

C、在公开级,不但同一个包里的其它类可以访问这个类,而且其它包里的类也可以访问它

D、缺省级下,只有同一个包内的其它类可以访问这个类,外界不能访问

E、缺省级和公开级的类都能从包外访问到

7、子类如何调用父类带有参数的构造方法?

A、子类也创建具有同样参数的方法参数,Java会自动调用父类构造方法

B、子类构造方法的开头用“super”语句调用父类构造方法

C、无法调用

D、创建子类对象时,先调用父类的构造方法,再调用子类的构造方法

8、public的成员变量能够被以下哪些对象访问到?

C

A、所有的对象,但子类只能直接访问,而不能继承父类对象的public组成员

B、所有的对象,但其它包中的对象只能访问少数从句中导出的成员

C、所有的对象,子类可以直接访问,也可以继承父类对象的public组成员

D、所有的对象

E、所有的对象,但子类不能访问其它包中的父类对象的public组成员

9、当父类的引用变量指向子类对象时,对于同名的方法调用哪个?

A

A、调用子类的方法 

B、先调用父类的方法再调用子类的方法

C、调用父类的方法 

D、先调用子类的方法再调用父类的方法

10、关于多态性,以下描述中正确的是(D 

)。

A、多态性就是方法的覆盖 

B、多态性就是方法重载

C、多态性只存在于同名的成员变量之间

D、多态性是指按引用变量指向的对象,而不是引用变量本身的类型来决定调用哪个方法

11、以下关于字符串函数的描述中,正确的是( 

C)。

A、delete函数用于删除整个字符串

B、replace函数的作用是替换一段子串

C、setCharAt函数的作用是将String或StringBuffer字符串的某个字符替换

D、insert函数的作用是在字符串的某个位置插入一个字符

12、以下关于运行期异常的说法中,错误的是(AD)。

A、运行期异常不需要在函数定义的throws部分给出

B、在程序运行中,如发生运行期异常会被自动抛出函数

C、运行期异常必须用try、catch块捕获

D、RuntimeException是各种在正常运行情况下可以被Java虚拟机抛出的异常的父类

13、以下关于捕获的原则中,错误的是(D)。

A、Exception类必须出现,而且必须作为catch块中第一个匹配的类

B、先列出具体的异常类,后列出通用的异常类

C、先列出子类,后列出父类

D、RuntimeException可以不被捕获,Java会自动处理运行期的异常

三、简答题(每题5分,共20分)。

1、阅读下面的程序并写出类MyClass3的所有成员,并写明它们定义自哪里。

classMyClass1{

privateintpro11;

doublepro12;

}

classMyClass2extendsMyClass1{

privatedoublepro12;

intpro21;

classMyClass3extendsMyClass2{

privateintpro21;

doublepro31;

2、创建接口使用什么关键字?

接口可以有父接口吗?

试书写语句创建—个名为MyInterface的接口,它是继承了MySuperInterface1和MySuperInterface2两个接口的子接口。

创建接口使用关键字Interface。

接口可以有父接口。

  InterfaceMyInterfaceextendsMySuperInterface,MySuperInterface2

四、编程题(每题10分,共30分)。

1、编写一个方法,实现对数组元素由大到小排列。

#include<

iostream>

cstdlib>

//函数exit的函数头

usingnamespacestd;

intmain()

{

voidsort(intx[],intn);

//函数声明

intn;

cin>

>

n;

//数组长度由用户输入

int*a=newint[n];

//动态分配数组的长度

if(a==NULL)

cout<

<

Error,CannotAllocateMemory!

endl;

exit

(1);

int*p,i;

p=a;

for(i=0;

i++)

cin>

a[i];

sort(p,n);

//调用函数

for(p=a,i=0;

delete[]a;

//释放内存块

voidsort(intx[],intn)

inti,j,k,t;

n-1;

i++)//选择排序法,这里也可以选用其他排序法

k=i;

for(j=i+1;

j<

j++)

if(x[j]>

x[k])

k=j;

if(k!

=i)

{

t=x[i];

x[i]=x[k];

x[k]=t;

}

2、定义一个学生类(Student),属性包括:

学号,班号,姓名,性别,年龄,班级总人数;

方法包括:

获得学号,获得班号,获得姓名,获得性别,获得年龄,获得班级总人数,修改学号,修改班号,修改姓名,修改性别,修改年龄以及一个toString()方法将Student类中的所有属性组合成一个字符串。

定义一个学生数组对象。

设计程序进行测试。

classstudent{

privateStringxuehao;

privateStringbanhao;

privateStringxingming;

privateStringxingbie;

privateintnianling;

publicstudent(Stringx,Stringb,Stringm,Stringb1,intn){

this.xuehao=x;

this.banhao=b;

this.xingming=m;

this.xingbie=b1;

this.nianling=n;

publicStringgetxuehao(){

returnxuehao;

publicStringgetbanhao(){

returnbanhao;

publicStringgetxingming(){

returnxingming;

publicStringgetxingbie(){

returnxingbie;

publicintgetnianling(){

returnnianling;

publicStringtoString(){

returnxuehao+"

"

+banhao+"

+xingming+"

+xingbie+"

+nianling;

publicclassDome4{

publicstaticvoidmain(Stringargs[]){

students1=newstudent("

02122168"

"

12"

安静"

男"

24);

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

3、从键盘输入两个数,进行相加,显示和。

当输入串中含有非数字时,通过异常处理机制,使程序能正确运行。

datasegment

indatadw2dup(?

outdatadw1dup(?

notein1db'

pleaseinputthefirstdecimalnumber(0-99):

$'

notein2db'

pleaseinputtheseconddecimalnumber(0-99):

noteoutdb'

theresultofadditionis:

notewarndb'

warning:

wrongchar!

noteagaindb'

pleaseinputagain:

dataends

showmacroaddr

movah,9h

leadx,addr

int21h

endm

codesegment

assume 

cs:

code,ds:

data,es:

data

mainprocfar

start:

pushds

subax,ax

pushax

movax,data

movds,ax

moves,ax

shownotein1

callcrlf

calldeci_input

movindata,bx

shownotein2

movindata+2,bx

movax,bx

addax,indata

movoutdata,ax

shownoteout

calldeci_output

ret

mainendp

deci_inputprocnear

movbx,0

newchar:

movah,1

int21h

cmpal,0dh

jzexit

subal,30h

jlnoteerr

cmpal,9d

jgnoteerr

cbw

xchgax,bx

movcx,10d

mulcx

addbx,ax

jmpnewchar

noteerr:

shownotewarn

shownoteagain

exit:

ret

deci_inputendp

deci_outputprocnear

movbx,outdata

movcl,100d

divcl

movbl,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1