您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > JAVA程序设计语言基础习题及答案
1JAVA程序设计语言基础习题(1)在Java中,负责对字节代码解释执行的是(B)。A.垃圾回收器B.虚拟机C.编译器D.多线程机制//编译器将JAVa源程序编译成字节代码,即虚拟机代码,然后由虚拟机将虚拟机代码换成相应硬件的机器代码,之后加以执行。(2)Java语言中,负责并发管理的机制是(D)A.垃圾回收B.虚拟机C.代码安全D.多线程//多线程即是多任务的特殊形式,多个任务并发执行。(3)下列叙述中,正确的是(C)A.源文件扩展名为.jarB.源文件名与public类名可以不相同C.Java语言的标识符是区分大小写的D.源文件中public类的数目不限//A项扩展名应为.java;B项应为相同;D项public类只能有一个。(4)Java为移动设备提供的平台是(A)A.J2MEB.J2SEC.J2EED.J2RE//J2ME是致力于消费产品与嵌入式设备之间的最佳解决方案,特别是在移动通信设备,移动计算设备上应用广泛;J2SE是用于编写桌面/工作站应用软件;J2EE是前沿的JAVA技术平台,为服务器的计算提供了所有范围的企业级功能。J2RE是JAVA的运行环境。(5)JDK中提供的文档生成器是(C)A.java.exeB.javap.exeC.javadoc.exeD.jdb.exe//A中的java.exe是java语言解释器;B中的javap.exe是java类文件反汇编器,用于分析类中的所有成员方法和成员变量,当然也包括构造方法;C中的javadoc.exe是JavaAPI文档生成器;D中的jdb.exe是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)A.opcodesB.bytecodesC.virtualmachinesD.applet//Java编译器将源代码翻译成独立于平台的格式是字节码即bytecodes(9)Java可以用来创建程序的工具集是(D)A.JREB.JNIC.JVMD.JDK2//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.HelloworldB.HelloWorldC.helloworldD.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-1C.-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=2E1.2;B.doubled=5.3E-12;C.floatd=3.14f;D.doublef=0.3E0;//表示float型数时在后面加f或F,浮点型数据采用科学计数法表示时尾数必须有,小数部分可有可无;阶码必须有,且必须是整数。(17)下列的(D)赋值语句是正确的A.chara=12;B.inta=12.0;C.inta=12.0f;D.inta=(int)12.0;//浮点型转化为整型数据,必须用强制类型转换。(18)++运算符的操作数个数是(A)A.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[]){3System.out.println(~(0xa5)&0xaa);}}其运行结果是(B)A.0xa5B.10C.0x50D.0xaa//~(0XA5)为0X5A,然后与0XAA相与得0X0A,因为计算机输出的结果为十进制,所以结果为10。(21)阅读下列代码publicclassTest{publicstaticvoidmain(Stringargs[]){System.out.println(92);}}其运行结果是(B)A.4B.2C.3D.1//9的二进制形式为00001001,无符号右移2位的0010,十进制为2(22)阅读下列代码段intx=3;while(x9)x+=2;x++;while语句成功执行的次数是(D)。A.1次B.2次C.0次D.3次//如果在while(x9)后加入大括号,括住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(i0){⑤j=i*2;⑥System.out.println(Thevalueofjis+j);4⑦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(i100);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】;i100;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+人);5System.out.println(得D分的学生有+d+人);System.out.println(得E分的学生有+e+人);}}(27)下面程序中的continue的作用是什么?有、没有标号,运行结果相同吗?publicclassSignContinue{publicstaticvoidmain(Stringargs[]){label:for(inti=0;i3;i++){for(intj=1;j3;j++){if(j!=i)continuelabel;System.out.println(i+j);}}}}//continue的作用是跳过label所指语句块中所有余下部分的语句,回到label语句块的条件测试部分继续执行。有标号的运行结果为2;无标号的运行结果是24。第三章课后的8题,很简单,略。第三章课后的9题,需要分别取出百位数,十位数与个位数。可以使用下面语句实现;设i为一个三位数,a为百位数,b为十位数,c为个位数。则有a=i/100;b=j/10%10;c=i%10;第三章课后的9题,设置三层循环,外层i控制输出5行,中层j控制每行开头的空格,内层k控制*号的输出。程序如下:/*打印图案:每行打印5个星号,每个星号之间空两个空格*/publicclassxinghao{publicstaticvoidmain(Stringargs[]){inti,j,k;for(i=1;i=5;i++){for(j=0;j=3*(i-1);j++)System.out.print();for(k=1;k=5;k++)System.out.print(*);6System.out.println();}}}或者:publicclassPrintStar{publicstaticvoidmain(String[]args){for(inti=0;i5;i++){Stringnum=;for(intk=0;ki;k++){System.out.print(num);}for(intj=0;j5;j++){System.out.print(*);}System.out.println();}}}
本文标题:JAVA程序设计语言基础习题及答案
链接地址:https://www.777doc.com/doc-2343038 .html