您好,欢迎访问三七文档
第1章Java入门2.选择题(1)下列哪个是JDK提供的编译器?()BA.java.exeB.javac.exeC.javap.exeD.javaw.exe(2)下列哪个是Java应用程序主类中正确的main方法?()DA.publicvoidmain(Stringargs[])B.staticvoidmain(Stringargs[])C.publicstaticvoidMain(Stringargs[])D.publicstaticvoidmain(Stringargs[])3.阅读程序阅读下列Java源文件,并回答问题。PublicclassPerson{VoidspeakHello(){System.out.print(“您好,很高兴认识您”);System.out.println(“nicetomeetyou”);}}ClassXiti{Publicstaticvoidmain(Stringargs[]){Personzhang=newPerson();Zhang.speakHello();}}(1)上述源文件的名字是什么?(2)编译上述源文件将生成几个字节码文件?这些字节码文件的名字都是什么?(3)在命令行执行javaPerson得到怎样的错误提示?执行javaxiti得到怎样的错误提示?执行javaXiti.class得到怎样的错误提示?执行javaXiti得到怎么样的输出结果?答:(1)Person.java(2)两个字节码,分别是Person.class和Xiti.class。(3)得到“NoSuchMethodError”,得到“NoClassDefFoundError:Xiti/class”,得到“您好,很高兴认识您nicetomeetyou”。第2章基本数据类型与数组2.选择题(1)下列哪项字符序列可以作为标识符?()CA.trueB.defaultC._intD.good-class(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至32767(4)以下哪两项是正确的char型变量的声明?()BEA.charch=”R”;B.charch=’\\’;C.charch=’ABCD’;D.charch=”ABCD”;E.charch=’\ucafe’;F.charch=’\u10100’;(5)下列程序中哪些【代码】是错误的?()【代码2】【代码3】【代码4】【代码5】publicclassE{publicstaticvoidmain(Stringargs[]){intx=8;byteb=127;//【代码1】b=x;//【代码2】x=12L;//【代码3】longy=8.0;//【代码4】floartz=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]的值。3.阅读或调试程序(1)上机运行下列程序,注意观察输出的结果。publicclassE{publicstaticvoidmain(Stringargs[]){for(inti=20302;i=20322;i++){System.out.println((Char)i);}}}(2)上机调试下列程序,注意System.out.print()和System.out.println()的区别。publicclassOutputData{publicstaticvoidmain(Stringargs[]){intx=234,y=432;System.out.println(x+””+(2*x));System.out.print(“我输出结果后不回车”);System.out.println(“我输出结果后自动回车到下一行”);System.out.println(“x+y=”+x+y);}}(3)上机调试下列程序,了解基本数据类型数据的取值范围。PublicclassE{Publicstaticvoidmain(Stringargs[]){System.out.println(“byte取值范围:”+Byte.MIN_VALUE+”至”+Byte.MAX_VALUE);System.out.println(“short取值范围:”+Short.MIN_VALUE+”至”+Short.MAX_VALUE);System.out.println(“int取值范围:”+Integer.MIN_VALUE+”至”+Integer.MAX_VALUE);System.out.println(“long取值范围:”+Long.MIN_VALUE+”至”+Long.MAX_VALUE);System.out.println(“float取值范围:”+Float.MIN_VALUE+”至”+Float.MAX_VALUE);System.out.println(“double取值范围:”+Double.MIN_VALUE+”至”+Double.MAX_VALUE);}}(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】}}【代码1】:4【代码2】:b[0]=1(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】}}【代码1】:40【代码2】:74.编写程序(1)编写一个应用程序,给出汉字“你”、“我”、“他”在Unicode表中的位置。publicclassE{publicstaticvoidmain(Stringargs[]){System.out.println((int)’你’);System.out.println((int)’我’);System.out,println((int)’他’);}}(2)编写一个Java应用程序,输出全部的希腊字母。publicclassE{publicstaticvoidmain(Stringargs[]){charcStart=’α’,cEnd=’ω’;for(charc=cStart;ccEnd;c++)System.out.print(““+c);}}第3章运算符、表达式和语句2.选择题(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;3.阅读程序(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(“好”);}}}}答:Jeep好好(3)下列程序的输出结果是什么?PublicclassE{Publicstaticvoidmain(String[]args){Intx=1,y=6;While(y--0){x--;}System.out.print(“x=”+x+”,y=”+y);}}答:x=-5,y=-14.编程序题(1)编写应用程序求1!+2!+……+10!。publicclassXitil{publicstaticvoidmain(Stringargs[]){doublesum=0,a=1;inti=1;while(i=20){sum=sum+a;i++;a=a*I;}System.out.println(“sum=”+sum);}}(2)编写一个应用程序求100以内的全部素数。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)分别用do-while和for循环计算1+1/2!+1/3!+1/4!+……的前20项和。classXiti3{publicstaticvoidmain(Stringargs[]){doublesum=0,a=1,i=1;do{sum=sum+a;i++;a=(1.0/i)*a;}while(i=20);System.out.println(“使用do-while计算的sum=”+sum);for(sum=0,i=1,a=1;i=20;i++){a=a*(1.0/i);sum=sum+a;}System.out.println(“使用for循环计算的sum”+sum);}}(4)一个数如果恰好等于它的因子之和,这个数就称为完数。编写应用程序求1000之内的所有完数。publicclassXiti4{publicstaticvoidmain(Stringargs[]){intsum=0,I,j;for(i=1;i=1000;i++){for(j=1,sum=0;jI;j++){if(i%j==0)sum=sum+j;}if(sum==1)System.out.println(“完数:”+i);}}}(5)编写应用程
本文标题:Java习题
链接地址:https://www.777doc.com/doc-1816505 .html