JAVA程序设计练习测试题及参考答案.docx
- 文档编号:24836297
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:18
- 大小:29.82KB
JAVA程序设计练习测试题及参考答案.docx
《JAVA程序设计练习测试题及参考答案.docx》由会员分享,可在线阅读,更多相关《JAVA程序设计练习测试题及参考答案.docx(18页珍藏版)》请在冰豆网上搜索。
JAVA程序设计练习测试题及参考答案
第一部分
《Java程序设计》练习测试
[说明]:
要求所有答案务必写在答题纸的相应题号位置上,否则不予评分。
一、单选择题(共10分,每小题2分)
1、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为()。
A.classB.htmlC.javaD.exe
2、设intx=1,y=2,z=3;则表达式y+=z--/++x的值是()。
A3B3.5C4D5
3、在JavaApplet程序用户自定义的Applet子类中,一般需要重载父类的()方法来完成一些画图操作。
Astart()Bstop()Cinit()Dpaint()
4、不允许作为类及类成员的访问控制符的是()。
ApublicBstaticCprivateDprotected
5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为()。
Afinalvoidmethod();Bpublicvoidmethod();
Cstaticvoidmethod();Dabstractvoidmethod();
二、填空题(共20分,每空格1分)
1、开发与运行Java程序需要经过的三个主要步骤为⑴、⑵和⑶。
2、如果一个JavaApplet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是⑷类的子类并且存储该源程序文件的文件名为⑸。
3、如果一个JavaApplet程序文件中定义有4个类,则使用Sun公司的JDK编译器⑹
编译该源程序文件将产生⑺个文件名与类名相同而扩展名为⑻的字节码文件。
4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用⑼字节内存空间,这样,无论是中文字符还是英文字符,都是占用⑽字节内存空间。
5、设inty=5;则表达式(y++)/6的值是⑾。
6、若intx=5,y=10;则x
7、⒁方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。
⒂方法是不能被当前类的子类重新定义的方法。
8、创建一个名为MyPackage的包的语句是⒃,该语句应该放在程序的位置为:
⒄。
9、设有数组定义:
inta[]={20,30,40,50,60,70,80,90,100,110,120,130};则执行以下几个语句后的输出结果是⒅。
ints=0;
for(inti=0;i if(i%4==0)s+=a[i]; System.out.println(s); 10、在Java程序中,通过类的定义只能实现⒆重继承,但通过接口的定义可以实现⒇重继承关系。 三、写出下列程序完成的功能。 (每小题5分,共20分) 1、 publicclassSum {publicstaticvoidmain(Stringargs[]) {doublesum=0.0; intsign=-1.0; for(inti=1;i<=50;i+=2){ sign*=-1; sum+=sign/(double)i;} System.out.println("sum="+sum); } } 2、 importjava.io.*; publicclassReverse {publicstaticvoidmain(Stringargs[]) {inti,n=10; inta[]=newint[20]; for(i=0;i try{ BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in)); a[i]=Integer.parseInt(br.readLine());//输入一个整数 }catch(IOExceptione){}; For(i=n-1;i>=0;i--) System.out.print(a[i]+""); System.out.println(); } } 3、 importjava.awt.*; publicclassabc{ publicstaticvoidmain(Stringargs[]){newFrameOut();} } classFrameOutextendsFrame//Frame为系统定义的窗框类 {Buttonbtn; FrameOut() { super("JUST”); btn=newButton("MIS"); setLayout(newFlowLayout()); add(btn); setSize(300,200); show(); } } 4、importjava.io.*; publicclassabc {publicstaticvoidmain(Stringargs[]) {SubClasssb=newSubClass(); System.out.println(sb.min()); } } classSuperClass {inta=25,b=70;} classSubClassextendsSuperClass {intmin() {return((a a: b);} } 四、写出下面程序的运行结果(每小题10分,共30分) 1、importjava.io.*; publicclassabc {publicstaticvoidmain(Stringargs[]) {ABs=newAB("Hi! ","Nicetomeetyou."); System.out.println(s.toString()); } } classAB{ Strings1; Strings2; AB(Stringstr1,Stringstr2) {s1=str1;s2=str2;} publicStringtoString() {returns1+s2;} } 2、 importjava.io.*; publicclassabc {publicstaticvoidmain(Stringargs[]){ inti,s=0; inta[]={10,20,30,40,50,60,70,80,90,100,110,120,130,140,150}; for(i=0;i System.out.println("s="+s); } } 3、importjava.io.*; publicclassabc{ publicstaticvoidmain(Stringargs[]){ SubSubClassa1=newSubSubClass(40,50,60); a1.show(); SuperClassa2=newSuperClass(70,80); a2.show(); } } classSuperClass{ inta,b; SuperClass(intaa,intbb){ a=aa;b=bb; } publicvoidshow(){ System.out.println("a="+a+"\nb="+b); } } classSubClassextendsSuperClass {intc; SubClass(intaa,intbb,intcc) {super(aa,bb); c=cc; } } classSubSubClassextendsSubClass {inta; SubSubClass(intaa,intbb,intcc) {super(aa,bb,cc); a=aa+bb+cc; } publicvoidshow() {System.out.println("a="+a+"\nb="+b+"\nc="+c);} } 五、使用Java语言编写程序(共20分). 创建类Computer,该类中有一个计算两个数的最大公约数的方法。 如果向该方法传递负整数,该方法就会抛出用户自定义异常。 要求: 用户自定义的异常类名为MyException。 《Java程序设计》练习测试参考答案及评分标准 一、单选择题(共10分,每小题2分) 1 2 3 4 5 A A D B C 二、填空题(共20分,每空格1分) ⑴编辑源程序⑵编译生成字节码⑶解释运行字节码 ⑷Applet⑸MyApplet ⑹javac.exe⑺4⑻.class ⑼2⑽2⑾0⑿true⒀false ⒁抽象或abstract⒂最终或final ⒃packageMyPackage;⒄应该在程序第一句 ⒅180⒆单⒇多 三、程序功能。 (共20分,每小题5分) ⒈sum=1-1/3+1/5-1/7+1/9-1/11+…+1/49 ⒉从标准输入(即键盘)读入20个整数存入整型数组a中,然后逆序输出这10个整数。 ⒊创建一个标题为"JUST"的窗框,窗框中显示有"MIS"字样的按钮。 ⒋求两个数的最小值。 四、程序运行结果(共30分,每小题10分) ⒈Hi! Nicetomeetyou. ⒉s=450 ⒊a=150 b=50 c=60 a=70 b=80 五、用Java语言编程(共20分) //MyException.java publicclassMyExceptionextendsException{ Stringmessage; publicMyException(StringErrorMessagr){ message=ErrorMessagr; } publicStringgetMessage(){ returnmessage; } } //Computer.java publicclassComputer{ publicstaticintgetMaxComm(intm,intn)throwsMyException{ if(m<=0||n<=0){ thrownewMyException("传递的参数不是正整数"); } if(m inttemp=0; temp=m; m=n; n=temp; } intr=m%n; while(r! =0){ m=n; n=r; r=m%n; } returnn; } publicstaticvoidmain(String[]args){ try{ intm=122,n=0; intresult=getMaxComm(m,n); System.out.println(m+"和"+n+"的最大共约数是: "+result); } catch(MyExceptione){ e.printStackTrace(); } } } 第二部分 Java练习题及参考答案: 一、选择题: (1)用于设置组件大小的方法是B。 A)paint()B)setSize()C)getSize()D)repaint() (2)单击窗口内的按钮时,产生的事件是C。 A)MouseEventB)WindowEventC)ActionEventD)KeyEvent (3)AWT中用来表示对话框的类是D。 A)FontB)ColorC)PanelD)Dialog (4)下列运算符中,优先级最高的是D。 A)+=B)==C)&&D)++ (5)下列运算结果为1的是B。 A)8>>1B)4>>>2C)8<<1D)4<<<2 (6)下列语句中,可以作为无限循环的语句是A。 A)for(;;){}B)for(inti=0;i<10000;i++){}C)while(false){}D)do{}while(false); (7)下列表达式中,类型可以作为int的是C。 A)”abc”+”efg”B)“abc”+’efg’C)‘a’+’b’D)3+”4” (8)阅读下列程序: publicclassTestimplementsRunnable{ privateintx=0; privateinty=0; booleanflag=true; publicstaticvoidmain(String[]args){ Testr=newTest(); Threadt1=newThread(r); Threadt2=newThread(r); t1.start(); t2.start(); } publicvoidrun(){ while(flag){ x++; y++; System.out.println("("+x+","+y+")"); if(x>=10) flag=false; } } } 下列对程序运行结果描述的选项中,正确的是D。 A)每行的(x,y)中,可能有x≠y;每一对(x,y)值都出现两次 B)每行的(x,y)中,可能有x≠y;每一对(x,y)值都出现一次 C)每行的(x,y)中,可能有x=y;每一对(x,y)值都出现两次 D)每行的(x,y)中,可能有x=y;每一对(x,y)值都出现一次 (9)如果线程正处于运行状态,则它可能到达的下一个状态是C。 A)只有终止状态B)只有阻塞状态和终止状态 C)可运行状态,阻塞状态,终止状态D)其他所有状态 (10)在下列程序的空白处,应填入的正确选项是B。 importjava.io.*; publicclasswriteInt{ publicstaticvoidmain(String[]args){ int[]myArray={10,20,30,40}; try{ DataOutputStreamdos=newDataOutputStream(newFileOutputStream("ints.dat")); for(inti=0;i dos.writeInt(myArray[i]); dos.; System.out.println("Havewrittenbinaryfileints.dat");} catch(IOExceptionioe){ System.out.println("IOException"); } } } A)startB)closeC)readD)write (11)在一个线程中调用下列方法,不会改变该线程运行状态的是B。 A)yield方法B)另一个线程的join方法C)sleep方法D)一个对象的notify方法 (12)在关闭浏览器时调用,能够彻底终止Applet并释放该Applet所有资源的方法是B。 A)stop()B)destroy()C)paint()D)start() (13)为了将HelloApplet(主类名为HelloApplet.class)嵌入在greeting.html文件中,应该在下列greeting.html文件的横线处填入的代码是C。 A)HelloApplet.class B)CODE=”HelloApplet.class” C)CODE=”HelloApplet.class”WIDTH=150HEIGHT=25 D)CODE=”HelloApplet.class”VSPACE=10HSPACE=10 (14)下列变量名的定义中,符合Java命名约定的是A。 A)fieldnameB)superC)IntnumD)$number (15)自定义异常类的父类可以是C。 A)ErrorB)VirtualMachineErrorC)ExceeptionD)Thread (16)阅读下列程序片段: publicvoidtest(){ try{ sayHello(); System.out.println("Hello"); } catch(ArrayIndexOutOfBoundExceptione){ System.out.println("ArrayIndexOutOfBoundException"); } catch(Exceptione){ System.out.println("Exception"); } finally{ System.out.println("finally"); } } 如果sayHello()方法正常运行,则test()方法的运行结果将是D。 A)HelloB)ArrayIndexOutOfBoundException C)ExceptionD)Hello Finallyfinally (17)为使Java程序独立于平台,Java虚拟机把字节码与各个操作系统及硬件A。 A)分开B)结合C)联系D)融合 (18)Java中的基本数据类型int在不同操作系统平台的字长是B。 A)不同的B)32位C)64位D)16位 (19)String、StringBuffer都是C类,都不能被继承。 A)staticB)abstractC)finalD)private (20)忽略 (21)构造方法必须与A相同,它没有返回值,用户不能直接调用它,只能通过new调用。 A)类名B)对象名C)包名D)变量名 (22)在多线程并发程序设计中,能够给对象x加锁的语句是B。 A)x.wait()B)synchronized(x)C)x.notify()D)x.synchronized() (23)Java中类ObjectOutputStream支持对象的写操作,这是一种字节流,它的直接父类是C。 A)WriterB)DataOutputC)OutputStreamD)ObjectOutput (24)略 A)B)C)D) (25)Class类的对象由A自动生成,隐藏在.class文件中,它在运行时为用户提供信息。 A)Java编译器B)Java解释器C)Javanew关键字D)Java类分解器 (26)在Java中,实现用户界面功能的包是D。 A)java.appletB)java.transactionC)java.utilD)java.awt (27)”++”运算符的操作数个数是A。 A)1个B)2个C)3个D)4个 (28)在switch(expression)语句中,expression的数据类型不能是A。 A)doubleB)charC)byteD)short (29)下列叙述中,错误的是D。 A)父类不能替代子类B)子类能够替代父类C)子类继承父类D)父类包含子类 (30)已知: int[]a=newint[100];在下列给出的数组元素中,非法的是D。 A)a[0]B)a[1]C)a[99]D)a[100] 二、简单应用题—填空(24分) 本题要求: 创建了一个线程,连续输出6行字符中“Hello! ” 完善程序。 publicclassJava_2{ publicstaticvoidmain(String[]args){ Helloh=newHello(); Threadt=newThread(h); t.start(); } } classHelloimplementsRunnable{ inti=0; publicvoidrun(){ while(true){ System.out.println("Hello! "); if(i++==5)break; } } } 四、综合应用题—填空(18分,每空6分) 以下程序的功能是单击“黄色”按钮,使图形用户界面窗口的背景色变为黄色,运行结果如下: 短—长前—后明—暗男—女升—降请完善程序。 (4)、()一边()一边()。 importjava.awt.*; importjava.awt.event.*; importjavax.swing.*; 一(块)稻田一(面)队旗一(场)球赛一(把)铜号publicclassJava_3{ 我家门口有一棵小树。 江上有一座小桥。 publicstaticvoidmain(String[]args){ ButtonFramefram
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 程序设计 练习 测试 参考答案