Java程序设计试题及答案.docx

上传人:b****1 文档编号:1326208 上传时间:2023-04-30 格式:DOCX 页数:18 大小:23.79KB
下载 相关 举报
Java程序设计试题及答案.docx_第1页
第1页 / 共18页
Java程序设计试题及答案.docx_第2页
第2页 / 共18页
Java程序设计试题及答案.docx_第3页
第3页 / 共18页
Java程序设计试题及答案.docx_第4页
第4页 / 共18页
Java程序设计试题及答案.docx_第5页
第5页 / 共18页
Java程序设计试题及答案.docx_第6页
第6页 / 共18页
Java程序设计试题及答案.docx_第7页
第7页 / 共18页
Java程序设计试题及答案.docx_第8页
第8页 / 共18页
Java程序设计试题及答案.docx_第9页
第9页 / 共18页
Java程序设计试题及答案.docx_第10页
第10页 / 共18页
Java程序设计试题及答案.docx_第11页
第11页 / 共18页
Java程序设计试题及答案.docx_第12页
第12页 / 共18页
Java程序设计试题及答案.docx_第13页
第13页 / 共18页
Java程序设计试题及答案.docx_第14页
第14页 / 共18页
Java程序设计试题及答案.docx_第15页
第15页 / 共18页
Java程序设计试题及答案.docx_第16页
第16页 / 共18页
Java程序设计试题及答案.docx_第17页
第17页 / 共18页
Java程序设计试题及答案.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Java程序设计试题及答案.docx

《Java程序设计试题及答案.docx》由会员分享,可在线阅读,更多相关《Java程序设计试题及答案.docx(18页珍藏版)》请在冰点文库上搜索。

Java程序设计试题及答案.docx

Java程序设计试题及答案

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方法是JavaApplication程序执行的入口点,关于main方法的方法首部,以下(B)项是合法的。

A、publicstaticvoidmain()

B、publicstaticvoidmain(Stringargs[])

C、publicstaticintmain(String[]arg)

D、publicvoidmain(Stringarg[])

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;

}

publicvoidsetHeight(doubleheight){//设置高

this.height=height;

}

publicdoublegetHeight(){//得到高

returnheight;

}

publicdoublevolumn(){//求容积

doublevolumnValue;

volumnValue=length*width*height;

returnvolumnValue;

}

publicdoublesurfaceArea(){//求表面积

doublesurfaceAreaValue;

surfaceAreaValue=length*width*2+width*height*2+height*length*2;

returnsurfaceAreaValue;

}

利用for循环,计算1+2+34+5+…+100的总和

publicclassAdd{

publicstaticvoidmain(String[]args){

intn,result;

n=100;

result=add1(n);

System.out.println(result);

}

publicstaticintadd1(intn){

inti,result=0;

for(i=1;i<=n;i++){

result+=i;

}

returnresult;

}

}

利用while语句,计算1+3+5+7+9...+99的总和

publicclassSum{

publicstaticvoidmain(Stringargs[]){

inti,j,sum=0;r=1;

while(i<=20){

for(j=1;j<=i;j++){

r=r*i;

}

sum+=r;

i++;

}

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

}

}

 

JAVA程序设计语言基础习题

(1)在Java中,负责对字节代码解释执行的是(B )。

A.垃圾回收器B.虚拟机C.编译器D.多线程机制

//编译器将JAVa源程序编译成字节代码,即虚拟机代码,然后由虚拟机将虚拟机代码换成相应硬件的机器代码,之后加以执行。

(2)Java语言中,负责并发管理的机制是(D)

A.垃圾回收 B.虚拟机C.代码安全 D.多线程

//多线程即是多任务的特殊形式,多个任务并发执行。

(3)下列叙述中,正确的是(C)

A.源文件扩展名为.jar

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

C.Java语言的标识符是区分大小写的

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

//A项扩展名应为.java;B项应为相同;D项public类只能有一个。

(4)Java为移动设备提供的平台是(A)

A.J2ME B.J2SE C.J2EE D.J2RE

//J2ME是致力于消费产品与嵌入式设备之间的最佳解决方案,特别是在移动通信设备,移动计算设备上应用广泛;J2SE是用于编写桌面/工作站应用软件;J2EE是前沿的JAVA技术平台,为服务器的计算提供了所有范围的企业级功能。

J2RE是JAVA的运行环境。

(5)JDK中提供的文档生成器是(C)

A.java.exe B.javap.exe 

C.javadoc.exe D.jdb.exe

//A中的是java语言解释器;B中的是java类文件反汇编器,用于分析类中的所有成员方法和成员变量,当然也包括构造方法;C中的是JavaAPI文档生成器;D中的是javadebug的缩写,既JAVA调试器。

(6)在Java语言中,不允许使用指针体现出的Java特性是(D)

A.可移植 B.解释执行 C.健壮性 D.安全性

//java不支持指针数据类型,它提供了字节码的检查机制还提供了自动的“内存垃圾”手机功能,提高了JaVA的稳定性和安全性。

(7)下列描述中,错误的是(A)

A.Java要求编程者管理内存

B.Java的安全性体现在多个层次上

C.Applet要求在支持Java的浏览器上运行

D.Java有多线程机制Java不需要编程者管理内存,提供了自动的“内存垃圾”的收集功能

//Java不需要编程者管理内存,提供了自动的“内存垃圾”的收集功能

(8)Java编译器将源代码翻译成独立于平台的格式是(B)

//Java编译器将源代码翻译成独立于平台的格式是字节码即bytecodes

(9)Java可以用来创建程序的工具集是(D)

//A中的JRE是JAVA运行环境。

B中JNI是JAVA本地接口。

C中的JVM是JAVA虚拟机。

D中的JDK是JAVA的工具集。

(10)Java语言与其他主要语言相比较,独有的特点是(C)

A.面向对象B.多线程C.平台无关性D.可扩展性

//用JAVA语言编写的各种程序可以不经过修改在各个平台系统上运行。

(11)下列属于合法的Java标识符是(A)

A._catB.5booksC.+staticD.-3.14159

//标识符是以字母、下划线或$符号开头的字母、下划线以及数字序列。

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

A.Helloworld B.HelloWorld 

C.helloworld D.helloWorld 

//用Java标识符来表示类名时,如果多于一个单词,则每个单词的第一个字母需要大写。

定义变量名时,若一个变量名是有一个以上单词所组成的,则第一个单词之后的所有单词都以大写字母开头。

(13)在Java中,表示“回车”的转义字符是(B)

A.\nB.\rC.\bD.\t

//A中的\n是回车并且换行的意思。

B中的\r是回车的意思(即回到本行的开头)。

C中的\b是向前退格的意思。

D中的\t是横向跳格的意思。

(14)char类型的取值范围是(B)

A.2-7~27-1B.0~216-1

C.-215~215-1D.0~28-1

//JAVA中字符型是用16位的Unicode码来表示的。

(15)十进制数16的16进制表示格式是(A)

A.0x10B.0x16C.0xAD.16

//十进制数16表示的二进制数为00010000,然后再将其化为十六进制的0X10

(16)下列的(A)赋值语句是不正确的

A.floatf=;B.double-12;

C.floatd=f;D.doublef=E0;

//表示float型数时在后面加f或F,浮点型数据采用科学计数法表示时尾数必须有,小数部分可有可无;阶码必须有,且必须是整数。

(17)下列的(D)赋值语句是正确的

A.chara=12;B.inta=12.0;

C.inta=;D.inta=(int)12.0;

//浮点型转化为整型数据,必须用强制类型转换。

(18)"++"运算符的操作数个数是(A)

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

//++为单目运算符,操作数个数为1。

(19)在switch(expression)语句中,expression的数据类型不能是(A)

 A.double  B.char  C.byte  D.short

//表达式必须是符合byte,char,short和int类型的表达式,而不能使用浮点类型或long类型,也不能是一个字符串。

(20)阅读下列代码

publicclassTest{

publicstaticvoidmain(Stringargs[]){

System.out.println(~(0xa5)&0xaa);}}

其运行结果是(B)

A.0xa5 B.10 C.0x50 D.0xaa

//~(0XA5)为0X5A,然后与0XAA相与得0X0A,因为计算机输出的结果为十进制,所以结果为10。

(21)阅读下列代码

publicclassTest{

publicstaticvoidmain(Stringargs[]){

System.out.println(9>>>2);}}

其运行结果是(B)

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

//9的二进制形式为00001001,无符号右移2位的0010,十进制为2

(22)阅读下列代码段

intx=3;

while(x<9)

x+=2;

x++;

while语句成功执行的次数是(D)。

次B.2次次次

//如果在while(x<9)后加入大括号,括住x+=2;再加入输出语句System.out.println(“x=”+x);则会输出x=5x=7x=9,成功执行while语句3次。

但是如果将x++;也括到大括号中,则输出x=5x=8,成功执行while语句2次。

(23)阅读下面程序:

importjava.*;

publicclassTypeTransition

{publicstaticvoidmain(Stringargs[])

{chara='h';

inti=100,j=97;

intaa=a+i;

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

charbb=(char)j;

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

}

}

如果输出结果的第二行为bb=a,那么第一行的输出是(C)

A.aa=1B.aa=vC.aa=204D.aa=156

//字符h的Unicode值为104,所以a转化为整型数据时为104,故aa为204

(24)给出下列的代码,哪行在编译时可能会有错误?

①publicvoidmodify(C){

②inti,j,k;

③i=100;

④while(i>0){

⑤j=i*2;

⑥System.out.println("Thevalueofjis"+j);

⑦k=k+1;

⑧}

⑨}

A.line4B.line6C.line7D.line8

//⑦k=k+1;中的k没有初始化,所以出错。

(25)下列程序中,要求按照从小到大的顺序输出1到100之间所有能被7整除的数字,请将下列程序补充完整。

注意:

请勿改动main()主方法和其他已有语句内容,仅在横线处填入适当语句。

publicclassExample1

{publicstaticvoidmain(Stringargs[])

{inti=1;

【do】

{if(【i%7==0】)

System.out.print(i+",");

【i++】

}while(i<100);

System.out.println();

}

}

(26)下面的程序中,随机产生100个学生的成绩,并计算他们的平均成绩。

学生的成绩按照5级打分制,A表示4分、B表示3分、C表示2分、D表示1分、E表示0分,平均成绩用浮点数表示。

请填写横线处的内容。

importjava.math.*;

publicclassAverageScore

{publicstaticvoidmain(Stringargs[])

{floataver=0;

inta=0,b=0,c=0,d=0,e=0;

for(【inti=0】;i<100;i++)

{doublesd=Math.random()*5+'A';

charscore=【(char)sd】;

【switch】(score)

{case'A':

aver+=4;a++;break;

case'B':

aver+=3;b++;break;

case'C':

aver+=2;c++;break;

case'D':

aver+=1;d++;break;

case'E':

aver+=0;e++;break;

default:

break;

}

}

aver/=100;

System.out.println("平均分数为"+aver+",学生人数100");

System.out.println("得A分的学生有"+a+"人");

System.out.println("得B分的学生有"+b+"人");

System.out.println("得C分的学生有"+c+"人");

System.out.println("得D分的学生有"+d+"人");

System.out.println("得E分的学生有"+e+"人");

}

}

(27)下面程序中的continue的作用是什么?

有、没有标号,运行结果相同吗?

publicclassSignContinue

{publicstaticvoidmain(Stringargs[])

{label:

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

{for(intj=1;j<3;j++)

{if(j!

=i)continuelabel;

System.out.println(i+j);

}

}

}

}

//continue的作用是跳过label所指语句块中所有余下部分的语句,回到label语句块的条件测试部分继续执行。

有标号的运行结果为2;无标号的运行

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2