JAVA初级练习题汇总.docx
- 文档编号:28850278
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:17
- 大小:25.22KB
JAVA初级练习题汇总.docx
《JAVA初级练习题汇总.docx》由会员分享,可在线阅读,更多相关《JAVA初级练习题汇总.docx(17页珍藏版)》请在冰豆网上搜索。
JAVA初级练习题汇总
JAVA初级练习题
一、单选题(本大题15小题,每小题2分,共30分)
1.下列语句执行后,变量a、c的值分别是(A)。
intx=182;
inta,c;
c=x/100;
a=x%10;
A)1,2B)2,1C)1.82,2D)100,82
2.下面哪个表达式可用得到x和y的最大值(D)?
A)x>y?
y:
xB)x y: xC)x>y? (x+y): (x-y)D)x==y? y: x; 3.以下是应用程序中定义的静态方法printBinary,若在其main方法中有方法调用语句printBinary (2),则输出的结果是()。 staticvoidprintBinary(inti){ System.out.print(i+"的2进制数表示为: \t"); for(intj=31;j>=0;j--) if(((1< =0) System.out.print("1"); else System.out.print("0"); System.out.println();//换行 } A)00000000000000000000000000000001B)00000000000000000000000000000010 C)00000000000000000000000000001111D)00000000000000000000000000000000 4.应用程序的main方法中有以下语句,则输出的结果是()。 Strings1="0.5",s2="12"; doublex=Double.parseDouble(s1); inty=Integer.parseInt(s2); System.out.println(x+y); A)12.5B)120.5C)12D)“12.5” 5.应用程序的main方法中有以下语句,则输出的结果是()。 doublex=1234.1234567; DecimalFormatform1=newDecimalFormat("0000.0"); System.out.println("PI="+form1.format(x)); A)PI=1234.1B)PI=1234 C)PI=1234.1235D)PI=1234.0 6.下列程序段执行后的结果是()。 Strings=newString("abcdefg"); for(inti=0;i System.out.print(s.charAt(i)); } A)acegB)ACEGC)abcdefgD)abcd 7.应用程序的main方法中有以下语句,则输出的结果是()。 int[]x={122,33,55,678,-987}; intmax=x[0]; for(inti=1;i if(x[i]>max) max=x[i]; } System.out.println(max); A)678B)122C)-987D)33 8.下列语句序列执行后,k的值是()。 intx=2,y=5,k=0; switch(x%y){ case0: k=x+y;break; case1: k=x-y;break; case2: k=x*y;break; default: k=x/y;break; } System.out.println(k); A)2B)5C)10D)0 9.下面的程序输出的结果是() publicclassAimplementsB{ publicstaticvoidmain(Stringargs[]){ inti; Ac1=newA(); i=c1.k; System.out.println("i="+i); } } interfaceB{ intk=10; } A)i=0B)i=10C)程序有编译错误D)i=true 10.应用程序的main方法中有以下语句,则输出的结果是()。 intb[][]={{1,2,3},{4,5},{6,7}}; intsum=0; for(inti=0;i for(intj=0;j sum+=b[i][j]; } } System.out.println("sum="+sum); A)28B)6C)9D)13 11.有整型数组: int[]x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是(). A)2781235B)1235872C)3512872D)8712352 12.编译和运行下面的应用程序,并在命令行界面输入12345,则回车后屏幕输出的结果是(). publicclassA{ publicstaticvoidmain(Stringargs[])throwsIOException{ BufferedReaderbuf=newBufferedReader( newInputStreamReader(System.in)); Stringstr=buf.readLine(); intx=Integer.parseInt(str); System.out.println(x/100); } } A)45B)5C)123D)12345 13.下面的程序段执行后输出的结果是()。 StringBufferbuf=newStringBuffer("Beijing2008"); buf.insert(7,"@"); System.out.println(buf.toString()); A)Beijing@2008B)@Beijing2008C)Beijing2008@D)Beijing#2008 14.下面的程序编译运行后输出的结果是()。 publicclassAimplementsRunnable{ publicstaticvoidmain(Stringargv[]){ Aa=newA(); Threadt=newThread(a); t.start(); } publicvoidrun(){ while(true){ try{ Thread.currentThread().sleep(1000); }catch(InterruptedExceptione){ System.out.println(e.toString()); } System.out.println("loopingwhile"); } } } A)在屏幕上重复输出"loopingwhile"。 B)在屏幕上输出一次"loopingwhile"。 C)没有结果输出。 D)以上说法都错误。 15.下面的程序段创建了BufferedReader类的对象in,以便读取本机d盘my文件夹下的文件1.txt。 File构造函数中正确的路径和文件名的表示是()。 Filef=newFile(填代码处); file=newFileReader(f); in=newBufferedReader(file); A)"1.txt"B)"d: \\my\\1"C)"d: \\my\\1.txt"D)"d: \my\1.txt" 二、多选题(本大题10小题,每小题2分,共20分) 1.下面的说法正确的是()。 A)Java语言是面向对象的、解释执行的网络编程语言。 B)Java语言具有可移植性,是与平台无关的编程语言。 C)Java语言可对内存垃圾自动收集。 D)Java语言编写的程序虽然是“一次编译,到处运行”,但必须要java的运行环境。 2.下面main()方法的定义哪些是正确的()? A)publicstaticvoidmain(Stringargs[]){}B)publicstaticvoidmain(String[]){} C)publicstaticvoidmain(String[]args){}D)publicstaticvoidmain(String[]x){} 3.定义变量如下: charc='w';inti=8;longL=15;floatf=8.9f; 以下赋值语句正确的是()。 A)i=c+i;B)c=c+i;C)L=f+L;D)f=i+L+f; 4.下面哪些关键字能用来控制对类成员的访问()? A)publicB)protectedC)privateD)default 5.面向对象程序设计的基本特征是()。 A)抽象B)封装C)继承D)多态 6.下面关于类的说法正确的是()。 A)类是Java语言中的一种复合数据类型。 B)类中包含数据变量和方法。 C)类是对所有具有一定共性的对象的抽象。 D)Java语言的类只支持单继承。 7.编译并运行下面的程序,运行结果为(). publicclassT1{ publicstaticvoidmain(String[]args){ T1a=newT1(); a.method(8); a.method(1.2f); } voidmethod(floati){ System.out.println("float: "+i); } voidmethod(longi){ System.out.println("long: "+i); } } A)程序有编译错误,因为两个method()方法必须定义为静态(static)的。 B)程序可以编译运行,输出结果为: long: 8 float: 1.2 C)程序可以编译运行,输出结果为: float: 1.2 long: 8 D)程序中定义的两个参数不同的method方法称为方法重栽。 8.下面是在命令行运行Java应用程序A,怎样才能在main(Stringargs[])方法中访问单词"first"()? javaAthefirstsnow,thefirstsnowcame. A)args[0]B)args[1]C)args[2]D)args[5] 9.编译并运行下面的程序,运行结果为(). publicclassA{ publicstaticvoidmain(String[]args){ Aa=newB(); a.test(); } voidtest(){ System.out.print("A"); } } classBextendsA{ voidtest(){ super.test(); System.out.println("B"); } } A)子类B定义了与父类A中同名的方法test,java中称为方法的覆盖。 B)代码可以编译运行,并输出结果: AB。 C)代码可以编译运行,并输出结果: A。 D)子类B定义了与父类A中同名的方法test,java中称为方法的重载。 10.下面哪个说法正确()? A)如果某公共的接口被声明在一个源文件中,则接口必须与源文件具有相同的名字。 B)如果源文件包含import语句,则该语句必须是除空行和注释行外的第一个语句行。 C)如果某源文件包含package语句,则该语句必须是第一个非空、非注释行。 D)接口中的方法必定是抽象方法,但可以不用关键字abstract修饰。 三、填空题(本大题10小题,每小题1分,共10分) 1.创建类的对象时,使用运算符___________给对象分配内存空间。 2.定义类的构造方法不能有返回值类型,其名称与_____名相同。 3.Java语言中关键字_____表示双精度类型。 4.若有定义: floatb={1.1f,3.5f,6.8f};,则b.length()的值是_______。 5.若有类定义: classBextendsA{ … } 则类B是类A的______。 6.接口中的成员只有静态常量和______。 7.在子类中使用关键字_______做前缀可调用被子类覆盖的父类中的方法。 8.关键字______用于导入包中的类到程序中,供程序中使用。 9.Java语言中,通常把可能发生异常的方法调用语句放到try块中,并用紧跟其后的_____块来捕获和处理异常。 10.程序中实现多线程的方法有两种: 继承_____类和实现Runnable接口。 四、阅读程序,回答问题(本大题5小题,每小题5分,共25分) 1.(5分) 1: publicclassOutput1{ 2: publicstaticvoidmain(Stringarge[]){ 3: inti=0; 4: for(charch=97;ch<113;ch++,i++){ 5: if(i%8==0) 6: System.out.println(""); 7: System.out.print("\t"+ch); 8: } 9: } 10: } (1)程序第5、6行的if语句的功能是什么? (2分) (2)程序输出的结果有几行? (3分) 2.(5分) 1: importjava.util.Arrays; 2: 3: publicclassSortArray{ 4: publicstaticvoidmain(Stringargs[]){ 5: String[]str={"size","abs","length","class"}; 6: Arrays.sort(str); 7: for(inti=0;i 8: System.out.print(str[i]+""); 9: } 10: } (1)写出程序运行后的结果。 (2分) (2)方法调用str[0].length()的返回结果是多少? (3分) 3.(5分) 1: //TestKeyListener.java 2: importjava.applet.Applet; 3: importjava.awt.*; 4: importjava.awt.event.*; 5: 6: publicclassTestKeyListenerextendsApplet{ 7: 8: Colorclr; 9: 10: publicvoidinit(){ 11: 12: addKeyListener( 13: newKeyAdapter(){ 14: publicvoidkeyTyped(KeyEvente){ 15: if(e.getKeyChar()=='r'||e.getKeyChar()=='R') 16: clr=Color.red; 17: elseif(e.getKeyChar()=='g'||e.getKeyChar()=='G') 18: clr=Color.green; 19: elseif(e.getKeyChar()=='b'||e.getKeyChar()=='B') 20: clr=Color.blue; 21: else 22: clr=Color.black; 23: setBackground(clr); 24: } 25: }); 26: } 27: } (1)程序第15、16行实现的功能是什么? (2分) (2)编译该程序,并编写嵌入该程序字节码文件的网页后,通过支持java的浏览器打开网页。 如果敲击键盘的‘b’键,有什么结果? (3分) 4.定义类A和类B如下.(5分) classA { inta=1; doubled=2.0; voidshow() { System.out.println("ClassA: a="+a+"\td="+d); } } classBextendsA { floata=3.0f; Stringd="Javaprogram."; voidshow() { super.show(); System.out.println("ClassB: a="+a+"\td="+d); } } (1)若在应用程序的main方法中有以下语句: Aa=newA(); a.show(); 则输出的结果如何? (2分) (2)若在应用程序的main方法中定义类B的对象b: Ab=newB(); b.show(); 则输出的结果如何? (3分) 5.(5分) importjava.util.*; publicclassW{ staticString[]s={"甲","乙","丙","丁"}; publicstaticvoidmain(String[]args){ Stackstk=newStack(); for(inti=0;i stk.push(s[i]+""); } intk=0; while(k<3){ System.out.print(stk.pop()); k++; } } } (1)堆栈的操作规则如何? (2分) (2)写出程序运行后的结果。 (3分) 五、根据题目要求编写程序(本大题2小题,第1小题5分,第2小题10分,共15分) 1.请定义一个名为Card的扑克牌类,该类有两个private访问权限的字符串变量face和suit: 分别描述一张牌的牌面值(如: A、K、Q、J、10、9、…、3、2等)和花色(如: “黑桃”、“红桃”、“梅花”和“方块”)。 定义Card类中的public访问权限的构造方法,为类中的变量赋值;定义protected访问权限的方法getFace(),得到扑克牌的牌面值;定义protected访问权限的方法getSuit(),得到扑克牌的花色;定义方法toString(),返回表示扑克牌的花色和牌面值字符串(如“红桃A”、“梅花10”等)。 2.若应用程序的main方法中,定义字符串数组f和s: 分别表示扑克牌的牌面值和花色;定义52个元素的Card类型数组deck,用来存放4个花色的52张牌。 如下所示。 Stringf[]={"A","2","3", "4","5","6","7","8", "9","10","J","Q","K"}; Strings[]= {"黑桃","红桃","梅花","方块"}; Carddeck=newCard[52]; (1)使用Card类的构造方法给deck数组的52张牌赋值,要求数组中先存放黑桃花色的A、2、3、…、K;然后是红桃花色的A、2、3、…、K;梅花花色的A、2、3、…、K;方块花色的A、2、3、…、K。 请写出实现上述功能的程序段。 (2)请编写模拟洗牌的程序段,即把数组deck中的扑克牌随机打乱存放顺序。 程序设计基础》练习题1参考答案 一、单选题(本大题15小题,每小题2分,共30分) 1.B,2B3B4A5A6A7A8C9B10A11A12C13A14A15C 二、多选题(本大题10小题,每小题2分,共20分) 1ABCD2ACD3AD4ABC5ABCD6ABCD7BD8BD9AB10ABCD 三、填空题(本大题10小题,每小题1分,共10分) 1.new2.类3.double4.35.子类6.抽象方法7.super8.import9.catch10.Thread 四、阅读程序,回答问题(本大题5小题,每小题5分,共25分) 1【答案】 (1)每打印8个字符,则换行。 (2)输出的结果有2行 2【答案】 (1)absclasslengthsize (2)4 3【答案】 (1)如果敲击键盘的‘r’键,则将颜色对象的值赋为红色。 (2)小程序的背景颜色变为兰色。 4【答案】 (1)ClassA: a=1d=2.0 (2)ClassA: a=1d=2.0 ClassB: a=3.0d=Javaprogram. 5【答案】 (1)先进后出 (2)丁丙乙 五、根据题目要求编写程序(本大题2小题,第1小题5分,第2小题10分,共15分) 1【答案】1.5分 classCard{ privateStringface; privateStringsuit; publicCard(Stringf,Strings){ face=f; suit=s; } protectedStringgetSuit(){ returnsuit; } protectedStringgetFace(){ returnface; } publicStringtoString(){ returnface+"of"+suit; } } 2【答案】 (1)5分 for(inti=0;i deck[i]=newCard(faces[i%13],suits[i/13]); } 【答案】 (2)5分 for(intfirst=0;first intsecond=(int)(Math.random()*52); Cardtemp=deck[first]; deck[first]=deck[se
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 初级 练习题 汇总
![提示](https://static.bdocx.com/images/bang_tan.gif)