Java程序设计试题及答案_第1页
Java程序设计试题及答案_第2页
Java程序设计试题及答案_第3页
Java程序设计试题及答案_第4页
Java程序设计试题及答案_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

Java程序设计试题及答案(一)一、判断题。判断下列各题是否正确,若正确,在()内打“V,”否则打“X”1、 Java语言具有较好的安全性和可移植性及与平台无关等特性。丁2、 Java语言的源程序不是编译型的,而是编译解释型的。丁3、 Java语言使用的是Unicode字符集,每个字符在内存中占8位。X4、 Java语言中不同数据类型的长度是固定的,不随机器硬件不同而改变。丁6、一个类可以实现多个接口,接口可以实现“多重继承”。V7、 实现接口的类不能是抽象类。X二、不定项选择题。1、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。A、 javaB、 classC、 htmlD、 exe2、 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、 privateclassMyClassextendsObjectB、 classMyClassextendsObjectC、 publicclassMyClassD、 publicclassMyClassextendsObject6、下列构造方法的调用方式中,正确的是(C)。A、 按照一般方法调用B、 由用户直接调用C、 只能通过new自动调用D、 被系统调用7、 private级的成员可以被哪些对象访问?CA、 同一包中的其他类B、 仅同一类的私有成员方法C、 仅同一类的所有成员方法D、 所有其他类8、 关于Object类,以下正确的是(ADE)。A、 Object类中定义了一些重要的方法,以方便Java类的使用B、 Object类是一个非常特殊的“虚拟”类,就是说只能从Object类派生出其它类,但不能创建一个Object类的对象,也不能将一个引用变量定义为Object类型C、 如果一个类已经有了父类,那么这个类同时继承了Object类,也就是说这时候这个类实际上有两个父类D、 Object类是所在其他Java类的直接或间接父类E、 Java中的类是单继承的,因此所在的类以Object类为根,形成了棵继承树9、 抽象类与普通类的区别是什么?CA、 抽象类没有成员变量,只有成员函数B、 抽象类只有成员变量,没有成员函数C、 抽象类中有抽象函数,而普通类的每个函数都是有具体实现的D、 抽象类与普通类没有区别10、使用接口的通常办法是(D)。A、 将接口数当作静态数据来调用B、 直接调用接口的方法C、 将接口变量作为方法的参数来使用D、 定义一个接口变量,该变量指向实现接口的对象来访问E、 定义一个接口对象,通过对象访问11、执行下列代码后,哪个结论是正确的String[]s=newString[10];BDA、s[10]为""B、s[9]为null;C、s[0]为未定义D、s.length为1012、以下对substring函数的描述中,错误的是()。BCA、 String和StringBuffer类都可以使用substring函数B、 substring函数返回一个StringBuffer对象C、 substring函数获得从指定位置开始,到指定位置为止的字符串D、 substring函数用于获得字符串的一个子串13、如果catch块中包括多个异常类,这些异常类的匹配原则是什么?CA、 接try块中程序执行的顺序,寻找最通用的异常类B、 接try块中程序执行的顺序,寻找能够最精确匹配的类C、 接catch块中异常类的排列顺序,寻找第一个能够匹配的异常对象D、 在catch块中寻找能够最精确匹配的类14、以下异常中,不属于RuntimeException的是(D)。A、 IndexoutofBoundsException数组以下越界异常B、 NullPointerExcePtion使用未初始化的引用变量C、 ArithmeticException算术异常D、 IllegalAccessException没有足够的权限访问其他类的成员15、运行下列程序,会产生什么结果。ADpublicclassMyThreadextendsThreadimplementsRunnable{publicvoidrun(){System.out.println("thisisrun()");}publicstaticvoidmain(String[]args){Threadt=newThread(newMyThread());t.start();}}A、 第一行会产生编译错误B、 第六行会产生编译错误C、 第六行会产生运行错误D、 程序会运行和启动三、简答题。1、子类重新定义与父类方法的方法头完全相同的方法,这种情况称为什么?此时子类对象还能执行父类中原来的方法吗?答:这种情况称为方法的覆盖,此时,在子类中已不能找到父类原来的方法,它的内存位置已经被替代。2、 final修饰符可以用来修饰什么?被fina1修饰符修饰后有何特点?答:fina1修饰符可用来修饰类、属性、方法和终结器。 被fina1修饰符修饰的类没有子类。被final修饰符修饰的属性在程序整个执行过程中都不能改变。被fina1修饰符修饰的方法是功能和内部语句不能更改的最终方法。被fina1修饰符修饰的终结器(以称析构器——fina1ize()方法,是在对象被删除前进行收尾工作的方法)也是不能更改的。3、 试写出一个语句创建一个名为myPackage的包,这个语句应该放在程序的什么位置?packageMyPackage;应该在程序第一句。四、编程题。1、打印出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如:153是一个“水仙花数”,因为153=13+53+33。#inc1ude<stdio.h>intmain(){//所谓水仙花数是指一个三位数,其各位数字立方和等于该数inti;inta=O,b=O,c=O;〃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程序设计语言基础习题在Java中,负责对字节代码解释执行的是(B)。垃圾回收器 B.虚拟机 C.编译器D.多线程机制〃编译器将JAVa源程序编译成字节代码,即虚拟机代码,然后由虚拟机将虚拟机代码换成相应硬件的机器代码,之后加以执行。Java语言中,负责并发管理的机制是(D垃圾回收 B.虚拟机C.代码安全D.多线程〃多线程即是多任务的特殊形式,多个任务并发执行。下列叙述中,正确的是(C源文件扩展名为jar源文件名与public类名可以不相同Java语言的标识符是区分大小写的源文件中public类的数目不限//A项扩展名应为.java;B项应为相同;D项public类只能有一个。Java为移动设备提供的平台是(A)A.J2MEB.J2SEC.J2EED.J2RE//J2ME是致力于消费产品与嵌入式设备之间的最佳解决方案,特别是在移动通信设备,移动计算设备上应用广泛;J2SE是用于编写桌面/工作站应用软件;J2EE是前沿的JAVA技术平台,为服务器的计算提供了所有范围的企业级功能。J2RE是JAVA的运行环境。JDK中提供的文档生成器是(CA.java.exe B.javap.exeC.javadoc.exeD.jdb.exe//A中的是java语言解释器;B中的是java类文件反汇编器,用于分析类中的所有成员方法和成员变量,当然也包括构造方法;C中的是JavaAPI文档生成器;D中的是javadebug的缩写,既JAVA调试器。在Java语言中,不允许使用指针体现出的Java特性是(D)A.可移植B.解释执行C.健壮性D.安全性//java不支持指针数据类型,它提供了字节码的检查机制还提供了自动的“内存垃圾”手机功能,提高了JaVA的稳定性和安全性。下列描述中,错误的是(A )Java要求编程者管理内存Java的安全性体现在多个层次上Applet要求在支持Java的浏览器上运行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语言与其他主要语言相比较,独有的特点是(CA.面向对象B.多线程 C.平台无关性 D.可扩展性〃用JAVA语言编写的各种程序可以不经过修改在各个平台系统上运行。(11)下列属于合法的Java标识符是(AA._cat B.5booksC.+staticD.-3.14159〃标识符是以字母、下划线或$符号开头的字母、下划线以及数字序列。(12)按照Java的标识符命名规范,下列表示一个类的标识符正确的是(BA.Helloworld B.HelloWorldC.helloworldD.helloWorld〃用Java标识符来表示类名时,如果多于一个单词,则每个单词的第一个字母需要大写。定义变量名时,若一个变量名是有一个以上单词所组成的,则第一个单词之后的所有单词都以大写字母开头。在Java中,表示“回车”的转义字符是(BA.\nB.\r C.\b D.\t〃A中的\n是回车并且换行的意思。B中的\r是回车的意思(即回到本行的开头)。C中的\b是向前退格的意思。D中的\t是横向跳格的意思。char类型的取值范围是(BA.2-7〜27-1 B.0〜216-1-215〜215-1 D.0〜28-1//JAVA中字符型是用16位的Unicode码来表示的。十进制数16的16进制表示格式是(A)A.0x10B.0x16C.0xAD.16〃十进制数16表示的二进制数为00010000,然后再将其化为十六进制的0X10下列的(A)赋值语句是不正确的A.floatf=; B.double-12;C.floatd=f; D.doublef=E0;〃表示float型数时在后面加f或F,浮点型数据采用科学计数法表示时尾数必须有,小数部分可有可无;阶码必须有,且必须是整数。下列的(D)赋值语句是正确的A.chara=12; B.inta=12.0;C.inta=; D.inta=(int)12.0;〃浮点型转化为整型数据,必须用强制类型转换。(18)"++"运算符的操作数个数是(AA.1个B.2个C.3个D.4个//++为单目运算符,操作数个数为1。19)在switch(expression)语句中,expression的数据类型不能是(A)A.doubleB.charC.byteD.short〃表达式必须是符合byte,char,short和int类型的表达式,而不能使用浮点类型或long类型,也不能是一个字符串。(20)阅读下列代码publicclassTest{publicstaticvoidmain(Stringargs[]){System.out.println(〜(0xa5)&0xaa); } }其运行结果是(B)A.0xa5 B.10C.0x50D.0xaa〃〜(0XA5)为0X5A,然后与0XAA相与得0X0A,因为计算机输出的结果为十进制,所以结果为10。(21)阅读下列代码publicclassTest{publicstaticvoidmain(Stringargs[]){System.out.println(9>>>2); } }其运行结果是(B)A.4B. 2C.3D. 1//9的二进制形式为00001001,无符号右移2位的0010,十进制为2(22)阅读下列代码段intx=3;while(xv9)x+=2;x++;while语句成功执行的次数是(D)。次B.2次次次〃如果在while(x<9)后加入大括号,括住x+=2;再加入输出语句System.out.println(“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没有初始化,所以出错。下列程序中,要求按照从小到大的顺序输出1到100之间所有能被7整除的数字,请将下列程序补充完整。注意:请勿改动main()主方法和其他已有语句内容,仅在横线处填入适当语句。publicclassExample1{publicstaticvoidmain(Stringargs[]){inti=l;【do】{if(【i%7==0 )System.out.print(i+",");【i++】}while(iv100);System.out.println();}}下面的程序中,随机产生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+"人“);Sy

温馨提示

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

评论

0/150

提交评论