《Java基础练习题附答案43690.pdf》由会员分享,可在线阅读,更多相关《Java基础练习题附答案43690.pdf(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Java 基础练习题 附答案 一、简单 Java 程序调试 1)以下哪个是 Java 应用程序 main 方法的有效定义?A.public static void main();B.public static void main(String args);C.public static void main(String args);D.public static void main(Graphics g);E.public static boolean main(String a);2)编译和运行以下代码的结果为:public class MyMain public static void m
2、ain(String argv)System.out.println(Hello cruel world);A编译错误;B运行输出 Hello cruel world;C编译无错,但运行时指示没有定义构造方法。D编译无错,但运行时指示没有正确定义 main 方法。3)下列选项中不属于 Java 虚拟机的执行特点的一项是:A异常处理 B多线程 C动态链接 D简单易学 4)不属于 Java 语言特点的一项是:A分布式 B.安全性 C.编译执行 D.面向对象 5)以下程序的运行结果为:public class Test public static void main(String argv)Syst
3、em.out.println(x=+5);A.5 B.x=5 C.x=+5 D.x=5 6)以下程序的运行结果为:public class Test public static void main(String argv)System.out.println(good+morning);A.goodmorning B.good+morning C.good morning D.good+morning 二、Java 符号与表达式 1)现有一个 int 类型的整数和一个 double 类型的数进行加法运算,则得到的结果类型为:Aint 类型 B.double 类型 C.float 类型 D.lo
4、ng 类型 2)下面程序段的输出结果是:int a=2;System.out.print(a+);System.out.print(a);System.out.print(+a);A333 B334 C234 D233 3)以下代码的输出结果?public class Test int x=3;public static void main(String argv)int x=012;System.out.println(x);A12 B012 C10 D3 4)下列定义语句正确的是:Achar c=/n;Bint i=12;Cfloat f=2.8;Dboolean b=null;5)检查如
5、下代码:public class Quiz2_l public static void main(String args)int a=8;int b=-8;System.out.print(a1);下列哪条语句正确描述了程序在编译和运行时的行为?A编译成功,输出为“32,-4”B.编译成功,输出为“16,4”C.编译成功,输出为“32,2147483644”D.编译成功,输出为“16,2147483644”E.编泽器拒绝表达式 b,因为不能对一个负数应用操作符 6)以下代码中变量 result 的可能类型有哪些?byte b=11;short s=13;result=b*+s;Abyte,sh
6、ort,int,long,float,double Bboolean,byte,short,char,int,long,float,double Cbyte,short,char,int,long,float,double Dbyte,short,char Eint,long,float,double 7)以下代码的输出结果为:System.out.println(+2+3);System.out.println(2+3);System.out.println(2+3+);System.out.println(2+3);A第 3 行出现编译错误 B输出 23,5,5 和 23.C输出 5,5,
7、5 和 23.D输出 23,5,23 和 23.8)设有如下变量说明:byte myByte;int myInt;long myLong;char myChar;float myFloat;double myDouble;以下赋值语句哪个需要强制转换。AmyInt=myByte;BmyInt=myLong;CmyByte=3;DmyInt=myChar;EmyFloat=myDouble;FmyFloat=3;GmyDouble=3.0;9)考虑如下两语句:1.boolean passingScore=false&grade=70;2.boolean passingScore=false&gr
8、ade=70;表达式 grade=70 在什么地方被计算 A在 1 和 2 中均计算 B在 1 和 2 中均未计算 C在 1 中计算,在 2 中未计算 D在 2 中计算,在 1 中未计算 E非法,因为 false 应写 FALSE 10)设有一个整数 x 其二进制值为 10011100(用 1 字节表示),则执行如下语句后 z 的二进制值为:int y=1 c?a:c;d=d2b?d:b;System.out.println(b);A2 B3 C5 D7 三、分支程序设计 1)下列语句片段的结果为 int result;int a=17,b=6;result=(a%b4)?a%b:a/b;Sy
9、stem.out.println(result);A.0 B.1 C.2 D.5 2)以下程序的运行结果为:1.public class Conditional 2.public static void main(String args )3.int x=4;4.System.out.println(value is +(x 4)?99.99:9);5.6.A.输出:value is 99.99 B.输出:value is 9 C.输出:value is 9.0 D.在第 4 行出现编译错误 3)以下代码段的输出结果为 1.int x=0,y=4,z=5;2.if(x 2)3.if(y 5)1
10、1.System.out.println(message three);12.13.else 14.System.out.println(message four);15.A.message one B.message two C.message three D.message four 4)以下程序的输出结果为:public class test public static void main(String args)int x=1,y=1,z=1;if (x-=1&y+=1|z+=1)System.out.println(x=+x+,y=+y+,z=+z);A x=0,y=2,z=1 B
11、x=1,y=2,z=1 C x=0,y=1,z=1 D x=0,y=2,z=2 5)编译和运行以下代码结果为:1.public class EqualsTest 2.public static void main(String args)3.byte A=(byte)4096;4.if(A=4096)System.out.println(Equal);5.else System.out.println(Not Equal);6.7.A在第 3 行出现转换丢失精度的编译错误.B输出 Not Equal.C输出 Equal.6)关于以下程序哪条叙述正确?1.int j=2;2.switch(j)3
12、.case 2:4.System.out.println(value is two);5.case 2+1:6.System.out.println(value is three);7.break;8.default:9.System.out.println(value is +j);10.break;11.A.第 5 行的表达式不合法;B.变量 j 是可接受的,switch 中表达式可以是 byte,short,int,或 long 的任何类型;C.输出为 value is two D.输出是 value is two 后跟 value is three E.输出是 value is two
13、 后跟 value is 2 7)以下程序的编译运行结果为:1:public class Q10 2:3:public static void main(String args)4:5:int i=10;6:int j=10;7:boolean b=false;8:9:if(b=i=j)10:System.out.println(True);11:else 12:System.out.println(False);13:14:A.第 9 行出现编译错误;B.第 9 行出现运行错误;C.输出 True D.输出 False 8)以下程序的编译和运行结果为?class test static bo
14、olean check;public static void main(String args)int i;if(check=true)i=1;else i=2;if(i=2)i=i+2;else i=i+4;System.out.println(i);A.3 B.4 C.5 D.6 E.语句 if(i=2)编译出错 9)以下代码:if(a 4)System.out.println(test1);else if(a 9)System.out.println(test2);else System.out.println(test3);a 为何值将有输出结果 test2?A.小于 0 B.小于 4
15、 C.4 和 9 之间 D.大于 9 E.无任何可能 10)有如下代码段:switch(x)case 1:System.out.println(One);break;case 2:case 3:System.out.println(Two);break;default:System.out.println(end);变量 x 的取值下列哪些情形时,能使程序输出Two。A.1 B.2 C.3 D.default 11)以下程序的输出结果为 public class test public static void main(String agrs)char c1=B,c2=C;if(c1+1c2)
16、+c1;System.out.println(c1);A.B B.b C.C D.c 12)假设 a 是 int 类型变量,并初始化为 1,则下列哪个为合法的条件语句?A.if(a)B.if(a3)C.if(a=2)D.if(true)四、循环程序设计 1)执行以下程序后,输出结果为 public class ex2 public static void main(String args)int f=1;int k;for(k=2;k5;k+)f*=k;System.out.println(k);A.0 B.1 C.5 D.4 E.24 2)设有如下类 class Loop public st
17、atic void main(String agrs)int x=0;int y=0;outer:for(x=0;x100;x+)middle:for(y=0;y100;y+)System.out.println(x=+x+;y=+y);if(y=10)在处插入什么代码可以结束外循环?Acontinue middle;Bbreak outer;Cbreak middle;Dcontinue outer;Enone of these 3)以下代码的运行结果为:public class Calc public static void main(String args)int total=0;for
18、(int i=0,j=10;total 30;+i,-j)System.out.println(i=+i+:j=+j);total+=(i+j);System.out.println(Total +total);A.产生运行错误 B.产生编译错误 C.输出 Total 0 D.产生如下输出:i=0:j=10 i=1:j=9 i=2:j=8 Total 30 4)以下程序的运行结果为:public class test public static void main(String args)int i=0,j=2;do i=+i;j-;while(j0);System.out.println(i
19、);A.0 B.1 C.2 .3 5)以下程序的运行结果为?class xyz public static void main(String args)int i,j,k;for(i=0;i 3;i+)for(j=1;j 4;j+)for(k=2;k5;k+)if(i=j)&(j=k)System.out.println(i);A.0 B.1 C.2 D.3 E.4 6)以下程序的运行结果为?class test public static void main(String args)int i,j=0;for(i=10;i-j)continue;while(i5);执行完后,i、j 的值分别
20、为:A i=6 j=5 B i=5 j=5 C i=6 j=4 D i=5 j=6 8)以下程序的输出结果为:public class example public static void main(String args)int s=0;for(int i=0;i3*i;j-)s+=i*j;System.out.println(s);A.127 B.136 C.147 D.153 9)以下程序的输出结果为:public class example public static void main(String args)int i=0;for(i=0;i 4)&(i1-10);f1+=1.0;
21、while(!b1);System.out.println(b1+,+i1+,+f1);A.false,9,4.3 B.true,11,1.3 C.false,8,1.3 D.true,8,7.3 五、方法设计 1)以下代码的输出结果?public class Test static int x=5;public static void main(String argv)change(x);x+;System.out.println(x);static void change(int m)m+=2;A.7 B.6 C.5 D.8 2)以下代码的输出结果?public class Test in
22、t x=5;public static void main(String argv)Test t=new Test();t.x+;change(t);System.out.println(t.x);static void change(Test m)m.x+=2;A.7 B.6 C.5 D.8 3)以下代码的输出结果?public class Test public static void main(String argv)String x=hello;change(x);System.out.println(x);static void change(String m)m=m+2;A.hel
23、lo B.hello2 C.编译报错 D.运行报错,不能将串与整数相加 4)设有如下类:class MyPoint void myMethod()int x,y;x=5;y=3;System.out.print(+x+,+y+);switchCoords(x,y);System.out.print(+x+,+y+);void switchCoords(int x,int y)int temp;temp=x;x=y;y=temp;System.out.print(+x+,+y+);如果执行 myMethod()方法,则输出结果为?A.(5,3)(5,3)(5,3)B.(5,3)(3,5)(3,5
24、)C.(5,3)(3,5)(5,3)5)以下程序的输出结果为:public class test public static void main(String args)int s=0;for(int k=0;k=10;k+)s+=method(2,k)-1;System.out.println(s);public static int method(int n,int m)if(m=0)return 1;else return n*method(n,m-1);A.2048 B.1024 C.2036 D.2000 6)以下程序的输出结果为:public class test public s
25、tatic void main(String args)int m=0;for(int k=0;k2;k+)method(m+);System.out.println(m);public static void method(int m)System.out.print(m);A.000 B.012 C.123 D.111 六、数组的使用 1)输入如下命令运行 Java 应用程序。java MyTest 1 2 3 则命令行参数数组args 中得到的值哪个正确?A.args0=MyTest 1 2 3 B.args0=1 2 3 C.args0=1 D.args1=1 2 3 2)在注释/St
26、art For loop 处要插入哪段代码可实现根据变量i 的值定位数组 ia的元素?public class Lin public void amethod()int ia=new int4;/Start For loop iai=i;System.out.println(iai);A.for(int i=0;i ia.length()-1;i+)B.for(int i=0;i ia.length();i+)C.for(int i=1;i 4;i+)D.for(int i=0;i ia.length;i+)3)以下代码的调试结果?public class Q public static vo
27、id main(String argv)int anar=new int5;System.out.println(anar0);A.编译错误:anar 在引用前未初始化。B.null C.0 D.5 4)下列创建二维整型数组正确语句是:A.int a=new int 10,10;B.int a1010=new int;C.int a=new int 1010;D.int a=new int 1010;5)给出下面代码:public class Person static int arr=new int10;public static void main(String a)System.out.
28、println(arr1);以下那个说法正确?A.编译时将产生错误;B.编译时正确,运行时将产生错误;C.输出 0;D.输出 null。6)设有如下说明:char c=new char100;则,c50的值为?A.50 B./u0000 C.D.不定 E.为 null,直到被赋值。7)设有如下程序,其调试结果为:class Q2 public static void main(String args)int seeds=1,2,3,4,6,8;int n=seeds.length;for(int i=0;i 3;i+)for(int k=0;k n-1;k+)seedsk=seedsk+1;f
29、or(int i=0;i 1)System.out.println(i);if(args.length 0)System.out.println(i-1);else System.out.println(i-2);运行程序,输入如下命令:java test 2 则输出为:A.test B.test-1 C.0 D.1 E.2 5)下列程序运行的结果为:public class test public static void main(String args)int i;float f=2.3f;double d=2.7;i=(int)Math.ceil(f)*(int)Math.round(d
30、);System.out.println(i);A.4 B.5 C.6 D.6.1 E.9 6)如果以下条件成立,则用到 java.lang.Math 类中哪个方法?method(-4.4)=-4;A.round()B.min()C.trunc()D.abs()E.floor()F.ceil()7)set 集合如何处理重复元素 A如果加入一个重复元素将抛出异常 B如果加入一个重复元素 add 方法将返回 false C.集合通过调用 equals 方法可以返回包含重复值的元素。D.重复值将导致编译出错。8)以下哪个方法是 Vector 类中增加一个新元素的方法。AaddElement B.in
31、sert C.append D.addItem 9)以下哪些方法是 Collection 接口的方法?A.iterator B.isEmpty C.toArray D.setText 十、Applet 编程 1)所有变量初始化、对象创建、参数设置等可以安排在 Applet 的什么方法内完成.Ainit B.start C.stop D.以上都不是 2)一个部件重绘时,方法调用按下面哪个次序?A直接调用 paint()B调用 update,而 update 会调用 paint()C调用 repaint(),由它调用 update(),update 再调用 paint()D.调用 repaint(
32、),它将直接调用 paint 3)java.awt.Graphics 类的哪个方法可绘制填充矩形?AfillRect()BdrawRect()CfillOval()DdrawPolygon()EdrawLine()4)下列哪个方法不属于播放声音的方法?A loop()B.stop()C.start()D.play()5)在 Applet 画面的左上角至右下角画一条直线,则/draw 处应如何选择?import java.awt.*;import java.applet.*;public class myApplet extends Applet public void paint(Graphi
33、cs g)/draw A.g.drawLine(0,0,getHeight(),getWidth();B.g.drawLine(0,getWidth(),0,getHeight();C.g.drawLine(0,getWidth(),getHeight(),0);D.g.drawLine(getWidth(),getHeight(),0,0);6)下列说法错误的一项是?AgetDocumentBase()用于获取包含 Applet 的 HTML 文件的 URL BgetCodeBase()用于获取 Applet 主类的 URL CgetParameter(String name)用于获取标记中
34、的参数值 D若指定参数在 HTML 中没有说明,则 Applet 将停止运行。7)下列说法错误的一项是?AgetImage()方法无论图像是否存在,都立即返回 BgetImage()方法调用图像的时候,一直等图像加载完毕才返回 C使用 getImage()方法时,只有图像真正需要绘制时,数据才真正加载。D由于网络带宽的限制,图像的显示过程可能会很慢。8)在 HTML 文件中通过什么标记嵌入 Applet A.B.C.D.十一、图形用户界面编程 1)一个部件在水平方向会改变大小,但垂直方向不变,则放到什么位置。ABorderLayout 布局的 North 或 South 位置 BFlowLay
35、out 布局的第一个部件 CBorderLayout 布局的 East 或 West 位置 DBorderLayout 布局的 Center 位置 EGridLayout 布局中 2)以下 AWT 类中哪些实现部件的布局?ALayoutManager BGridBagLayout CActionListener DWindowAdapter EFlowLayout 3)容器的 add(Component comp)和 add(String name,Component comp)方法在加入什么部件时将抛出 IllegalArgumentException AButton BList CWind
36、ow DTextArea E包含这个容器的容器 4)设有以下程序:import java.awt.*;public class FlowAp extends Frame public static void main(String argv)FlowAp fa=new FlowAp();fa.setSize(400,300);fa.setVisible(true);FlowAp()add(new Button(One);add(new Button(Two);add(new Button(Three);add(new Button(Four);以下哪个描绘了应用的外观?A窗体每边有 4 个标记
37、为 One 到 Four 的按钮 B从顶到底有安排有 4 个标记为 One 到 Four 的按钮 C一个很大的标记为 Four 的按钮在正中央 D运行时指示没有设置布局管理器的错误 5)如何设置当前的布局管理器 A使用 setLayout 方法 B一旦创建了部件,不能改变部件的布局管理器。C使用 setLayoutManager 方法 D使用 updateLayout 方法 6)以下代码运行后外观为?import java.awt.*;public class CompLay extends Frame public static void main(String argv)CompLay c
38、l=new CompLay();CompLay()Panel p=new Panel();p.setBackground(Color.pink);p.add(new Button(One);p.add(new Button(Two);p.add(new Button(Three);add(South,p);setLayout(new FlowLayout();setSize(300,300);setVisible(true);A按钮按从左向右的次序出现在窗体的底部 B按钮按从左向右的次序出现在窗体的顶部 C按钮将不显示 D只有一个按钮显示占满整个窗体 7)以下程序调试结果为 /演示事件处理 i
39、mport java.awt.*;import java.awt.event.*;public class MyWc extends Frame implements WindowListener public static void main(String argv)MyWc mwc=new MyWc();public void windowClosing(WindowEvent we)System.exit(0);public void MyWc()setSize(300,300);setVisible(true);A编译错误 B创建的窗体会关闭掉 C运行无输出 D编译错误,import
40、语句前不能有注释语句 8)以下叙述正确的有?A如果一个部件注册多个监听者,事件只会被最后一个监听者处理。B如果一个部件注册多个监听者,事件将被所有监听者处理。C一个部件注册多个监听者将导致编译出错。D可以将一个部件已注册的监听者移去。9)以下哪个是正确的事件处理方法 AmousePressed(MouseEvent e)BMousePressed(MouseClick e)CfunctionKey(KeyPress k)DcomponentAdded(ContainerEvent e)10)关于 JDK 1.1 的事件处理以下那条为真?A一个类可以实现多个监听者接口;B如果一个类实现一个监听者
41、接口,它只要覆盖其用到的方法;CMouseMotionAdapter 类的所有方法返回类型均为 void。11)以下哪个是 MenuItem 类的方法?AsetVisible(boolean b)BsetEnabled(boolean b)CgetSize()DsetForeground(Color c)EsetBackground(Color c)12)以下类中,哪个类的子类不能直接创建实例?APanel BDialog CContainer DFrame 十二、异常处理 1)以下程序发生什么异常?class A int x;public static void main A x;Syste
42、m.out.println(x.x);A IOException B.InterruptException C.NullPointerException D.DataFormatException 2)设有如下方法:public void test()try oneMethod();System.out.println(condition 1);catch(ArrayIndexOutOfBoundsException e)System.out.println(condition 2);catch(Exception e)System.out.println(condition 3);final
43、ly System.out.println(finally);如果 oneMethod 正常运行,则输出结果中有哪些?A.condition 1 B.condition 2 C.condition 3 D.finally 3)设有如下代码:public void fun()int i;try i=System.in.read();System.out.println(Location 1);catch(IOException e)System.out.println(Location 2);finally System.out.println(Location 3);System.out.pr
44、intln(Location 4);如果有一个 IOException 发生,则输出有哪些?A.Location 1 B.Location 2 C.Location 3 D.Location 4 4)设有如下代码:1 String s=null;2 if(s!=null&s.length()0)3 System.out.println(s!=null&s.length()0);4 if(s!=null&s.length()0)5 System.out.println(s!=null&s.length()0);6 if(s!=null|s.length()0)7 System.out.print
45、ln(s!=null&s.length()0);8 if(s!=null|s.length()0)9 System.out.println(s!=null|s.length()0);以下行中哪些会产生空指针异常。A.2,4 B.6,8 C.2,4,6,8 D.2,6,8 5)类 Test1、Test2 定义如下:1public class Test1 2 public float aMethod(float a,float b)throws IOException 3 4 5 public class Test2 extends Test1 6 7 将以下哪种方法插入行 6 是不合法的。A、f
46、loat aMethod(float a,float b)B、public int aMethod(int a,int b)throws Exception C、public float aMethod(float p,float q)D、public int aMethod(int a,int b)throws IOException 6)设有如下代码:try tryThis();return;catch(IOException x1)System.out.println(exception 1);return;catch(Exception x2)System.out.println(ex
47、ception 2);return;finally System.out.println(finally);如果 tryThis()抛出 NumberFormatException,则输出结果是?A.无输出 B.exception 1,后跟 finally C.exception 2,后跟 finally D.exception 1 E.exception 2 十三、流式输入输出与文件处理 1)以下哪个是 RandomAccessFile 文件的构造方法:ARandomAccessFile(data,r);BRandomAccessFile(r,data);CRandomAccessFile(
48、data,read);DRandomAccessFile(read,data);2)设有如下代码:import java.io.*;public class Th public static void main(String argv)Th t=new Th();t.amethod();public void amethod()try ioCall();catch(IOException ioe)以下哪个最有可能是 ioCall 方法的方法体?A public void ioCall()throws IOException DataInputStream din=new DataInputSt
49、ream(System.in);din.readChar();B public void ioCall()throw IOException DataInputStream din=new DataInputStream(System.in);din.readChar();C public void ioCall()DataInputStream din=new DataInputStream(System.in);din.readChar();D public void ioCall throws IOException()DataInputStream din=new DataInputS
50、tream(System.in);din.readChar();3)当前目录不存在名为 Hello.txt 的文件,执行下面代码的输出结果为?import java.io.*;public class Mine public static void main(String argv)Mine m=new Mine();System.out.println(m.amethod();public int amethod()try FileInputStream file=new FileInputStream(Hello.txt);catch(FileNotFoundException e)Sys