Java题库及答案2.docx

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

Java题库及答案2.docx

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

Java题库及答案2.docx

Java题库及答案2

Java程序设计试题及答案

(一)

时间:

2012-02-20

Java程序设计试题及答案

(一) 

一、判断题。

判断下列各题是否正确,若正确,在()内打“√”,否则打“×”。

1、Java语言具有较好的安全性和可移植性及与平台无关等特性。

2、Java语言的源程序不是编译型的,而是编译解释型的。

3、Java语言使用的是Unicode字符集,每个字符在内存中占8位。

×

4、Java语言中不同数据类型的长度是固定的,不随机器硬件不同而改变。

6、一个类可以实现多个接口,接口可以实现“多重继承”。

7、实现接口的类不能是抽象类。

×

二、不定项选择题。

1、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。

A、java   B、class   C、html   D、exe

2、main方法是Java Application程序执行的入口点,关于main方法的方法首部,以下(B)项是合法的。

A、public staticvoid main()

B、publicstaticvoidmain(String args[])

C、publicstaticintmain(String[]arg)

D、publicvoidmain(String arg[])

3、关于下面代码的说法(C)是正确的?

publicclassExample{

      publicstaticvoidmain(String[]args){

             int[]arr=newint[10];

             System.out.println(arr[1]);

      }        

}

A、编译时产生错误  B、编译时正确,运行时将产生错误 C、输出零 D、输出空(null)

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、抽象类与普通类的区别是什么?

C

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块中包括多个异常类,这些异常类的匹配原则是什么?

C

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

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程序设计试题及答案

(二)

时间:

2012-02-20

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

#include//函数exit的函数头

usingnamespacestd;

intmain()

{

 voidsort(intx[],intn);//函数声明

 intn;

 cin>>n;//数组长度由用户输入

 int*a=newint[n];//动态分配数组的长度

 if(a==NULL)

 {

 cout<<"Error,CannotAllocateMemory!

"<

 exit

(1);

 }

 int*p,i;

 p=a;

 for(i=0;i

 cin>>a[i];

 p=a;

 sort(p,n);//调用函数

 for(p=a,i=0;i

 {

 cout<

 cout<

 }

 delete[]a;//释放内存块

 return0;

}

voidsort(intx[],intn)

{

 inti,j,k,t;

 for(i=0;i

 {

 k=i;

 for(j=i+1;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

 callcrlf

 shownotein2

 callcrlf

 calldeci_input

 movindata+2,bx

 callcrlf

 movax,bx

 addax,indata

 movoutdata,ax

 shownoteout

 callcrlf

 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

 xchgax,bx

 addbx,ax

 jmpnewchar

   noteerr:

callcrlf

 shownotewarn

 callcrlf

 shownoteagain

 jmpnewchar

   exit:

   ret

deci_inputendp

deci_outputprocnear

 movbx,outdata

 movcl,100d

 movax,bx

 divcl

 movbl,

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

当前位置:首页 > 自然科学 > 天文地理

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

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