您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > Java-2实用教程(第5版)习题解答
习题解答习题1(第1章)一、问答题1.Java语言的主要贡献者是谁?2.开发Java应用程序需要经过哪些主要步骤?3.Java源文件是由什么组成的?一个源文件中必须要有public类吗?4.如果JDK的安装目录为D:\jdk,应当怎样设置path和classpath的值?5.Java源文件的扩展名是什么?Java字节码的扩展名是什么?6.如果Java应用程序主类的名字是Bird,编译之后,应当怎样运行该程序?7.有哪两种编程风格,在格式上各有怎样的特点?1.JamesGosling2.需3个步骤:1)用文本编辑器编写源文件。2)使用javac编译源文件,得到字节码文件。3)使用解释器运行程序。3.源文件由若干个类所构成。对于应用程序,必须有一个类含有publicstaticvoidmain(Stringargs[])的方法,含有该方法的类称为应用程序的主类。不一定,但至多有一个public类。4.setclasspath=D:\jdk\jre\lib\rt.jar;.;5.java和class6.javaBird7.独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行)二、选择题1.B。2.D。1.下列哪个是JDK提供的编译器?A)java.exeB)javac.exeC)javap.exeD)javaw.exe2.下列哪个是Java应用程序主类中正确的main方法?A)publicvoidmain(Stringargs[])B)staticvoidmain(Stringargs[])C)publicstaticvoidMain(Stringargs[])D)publicstaticvoidmain(Stringargs[])三、阅读程序阅读下列Java源文件,并回答问题。publicclassPerson{voidspeakHello(){System.out.print(您好,很高兴认识您);System.out.println(nicetomeetyou);}}classXiti{publicstaticvoidmain(Stringargs[]){Personzhang=newPerson();zhang.speakHello();}}(a)上述源文件的名字是什么?(b)编译上述源文件将生成几个字节码文件?这些字节码文件的名字都是什么?(c)在命令行执行javaPerson得到怎样的错误提示?执行javaxiti得到怎样的错误提示?执行javaXiti.class得到怎样的错误提示?执行javaXiti得到怎样的输出结果?1.(a)Person.java。(b)两个字节码,分别是Person.class和Xiti.class。(c)得到“NoSuchMethodError”,得到“NoClassDefFoundError:Xiti/class”,得到“您好,很高兴认识您nicetomeetyou”习题2(第2章)一、问答题1.什么叫标识符?标识符的规则是什么?false是否可以作为标识符。2.什么叫关键字?true和false是否是关键字?请说出6个关键字。3.Java的基本数据类型都是什么?4.float型常量和double型常量在表示上有什么区别?5.怎样获取一维数组的长度,怎样获取二维数组中一维数组的个数。1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。false不是标识符。2.关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。true和false不是关键字。6个关键字:classimplementsinterfaceenumextendsabstract。3.boolean,char,byte,short,int,long,float,double。4.float常量必须用F或f为后缀。double常量用D或d为后缀,但允许省略后缀。5.一维数组名.length。二维数组名.length。二、选择题2.下列哪三项是正确的float变量的声明?adfA.floatfoo=-1;B.floatfoo=1.0;C.floatfoo=42e1;D.floatfoo=2.02f;E.floatfoo=3.03d;F.floatfoo=0x0123;3.下列哪一项叙述是正确的?bA.char型字符在Unicode表中的位置范围是0至32767B.char型字符在Unicode表中的位置范围是0至65535C.char型字符在Unicode表中的位置范围是0至65536D.char型字符在Unicode表中的位置范围是-32768至327674.以下哪两项是正确的char型变量的声明?beA.charch=R;B.charch='\\'C.charch='ABCD';D.charch=ABCD;E.charch='\ucafe';F.charch='\u10100'5.下列程序中哪些【代码】是错误的?2345publicclassE{publicstaticvoidmain(Stringargs[]){intx=8;byteb=127;//【代码1】b=x;//【代码2】x=12L;//【代码3】longy=8.0;//【代码4】floatz=6.89;//【代码5】}}6.对于inta[]=newint[3];下列哪个叙述是错误的?bA.a.length的值是3。B.a[1]的值是1。C.a[0]的值是0。D.a[a.length-1]的值等于a[2]的值。1.C。2.ADF。3.B。4.BE。5.【代码2】【代码3】【代码4】【代码5】。6.B。三、阅读或调试程序1.属于操作题,解答略。2.属于操作题,解答略。3.属于操作题,解答略。4.下列程序标注的【代码1】,【代码2】的输出结果是什么?publicclassE{publicstaticvoidmain(Stringargs[]){long[]a={1,2,3,4};long[]b={100,200,300,400,500};b=a;System.out.println(数组b的长度:+b.length);//【代码1】System.out.println(b[0]=+b[0]);//【代码2】}}5.下列程序标注的【代码1】,【代码2】的输出结果是什么?publicclassE{publicstaticvoidmain(Stringargs[]){int[]a={10,20,30,40},b[]={{1,2},{4,5,6,7}};b[0]=a;b[0][1]=b[1][3];System.out.println(b[0][3]);//【代码1】System.out.println(a[1]);//【代码2】}}4.【代码1】:4。【代码2】:b[0]=1。5.【代码1】:40。【代码2】:7四、编写程序1.编写一个应用程序,给出汉字‘你’、‘我’、‘他’在Unicode表中的位置。2.编写一个Java应用程序,输出全部的希腊字母。1.publicclassE{publicstaticvoidmain(Stringargs[]){System.out.println((int)'你');System.out.println((int)'我');System.out.println((int)'他');}}2.publicclassE{publicstaticvoidmain(Stringargs[]){charcStart='α',cEnd='ω';for(charc=cStart;c=cEnd;c++)System.out.print(+c);}}习题3(第3章)一、问答题1.关系运算符的运算结果是怎样的数据类型?2.if语句中的条件表达式的值是否可以是int型?3.while语句中的条件表达式的值是什么类型?4.switch语句中必须有default选项码?5.在while语句的循环体中,执行break语句的效果是什么?6.可以用for语句代替while语句的作用吗?1.boolean2.不可以3.boolean4.不是必须的5.结束while语句的执行6.可以二、选择题1.下列哪个叙述是正确的?aA.5.0/2+10的结果是double型数据。B.(int)5.8+1.0的结果是int型数据。C.'苹'+'果'的结果是char型数据。D.(short)10+'a'的结果是short型数据。2.用下列哪个代码替换程序标注的【代码】会导致编译错误?cA.m--0B.m++0C.m=0D.m100&&truepublicclassE{publicstaticvoidmain(Stringargs[]){intm=10,n=0;while(【代码】){n++;}}}3.假设有intx=1;以下哪个代码导致“可能损失精度,找到int需要char”这样的编译错误。cA.shortt=12+'a';B.charc='a'+1;C.charm='a'+x;D.byten='a'+1;1.A。2.C。3.C。三、阅读程序1.下列程序的输出结果是什么?publicclassE{publicstaticvoidmain(Stringargs[]){charx='你',y='e',z='吃';if(x'A'){y='苹';z='果';}elsey='酸';z='甜';System.out.println(x+,+y+,+z);}}2.下列程序的输出结果是什么?publicclassE{publicstaticvoidmain(Stringargs[]){charc='\0';for(inti=1;i=4;i++){switch(i){case1:c='J';System.out.print(c);case2:c='e';System.out.print(c);break;case3:c='p';System.out.print(c);default:System.out.print(好);}}}}3.下列程序的输出结果是什么?publicclassE{publicstaticvoidmain(String[]args){intx=1,y=6;while(y--0){x--;}System.out.print(x=+x+,y=+y);}}x=0,y=5x=-1,y=4x=-2,y=3x=-3,y=2x=-4,y=1x=-5,y=0x=-5,y=-11.你,苹,甜2.Jeep好好3.x=-5,y=-1四、编程序题1.编写应用程序求1!+2!+…+10!。2.编写一个应用程序求100以内的全部素数。3.分别用do-while和for循环计算1+1/2!+1/3!+1/4!……的前20项和。4.一个数如果恰好等于它的因子之和,这个数就称为“完数”。编写应用程序求1000之内的所有完数。5.编写应用程序,使用for循环语句计算8+88+888…前10项之和。6.编写应用程序,输出满足1+2+3…+n8888的最大正整数n。1.publicclassXiti1{publicstaticvoidmain(Stringargs[]){doublesum=0,a=1;inti=1;while(i=20){sum=sum+a;i++;a=a*i;}System.out.println(sum=+sum);}}2.publicclassXiti2{publicstaticvoidmain(Stringargs[]){inti,j;for(j=2;j=100;j++){for(i=2;i=j/2;i++){if(j%i==0)break;}if(ij/2){System.out.print(+j);}}}}3.classXiti3{publicstaticvoidmain(Stringargs[]){doublesum
本文标题:Java-2实用教程(第5版)习题解答
链接地址:https://www.777doc.com/doc-1464156 .html