《JAVA语言程序设计》期末考试试题及答案1(应考必备题库)一、单选择题二、填空题1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码和解释运行字节码。2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间。5、抽象(abstract)方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终(final)方法是不能被当前类的子类重新定义的方法。6、创建一个名为MyPackage的包的语句是packageMyPackage;,该语句应该放在程序的位置为:应该在程序第一句。一、单选题:(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。15.设int型变量a、b,float型变量x、y,char型变量ch均已正确定义并赋值,正确的switch语句是D)。A)switch(x+y)B)switch(ch+1){......}{......}C)switchchD)switch(a+b);{......}{......}16.下列最终属性i的定义中,正确的是()。A)staticfinalinti=100;B)finalinti=1.2;C)finali='w';D)finalchari;23.下列程序段执行后b3的结果是(D)。booleanb1=true,b2,b3;24=b1?b1:b2;A)0B)1C)trueD)false二、填空题:(每空1分)4.当整型变量n的值不能被13除尽时,其值为false的Java语言表达式是__n%13==0___________。6.定义类就是定义一种抽象的______父类______,它是所有具有一定共性的对象的抽象描述。7.在Java语言中,使用__平台无关___、___java虚拟机___等技术,实现软件重用。12.Java的复合数据类型有:类、数组和___接口____等。Java的简单数据类型有:数值类型(整形和浮点类型),自负类型和布尔类型14.定义初值为10的10次方的长整型变量lvar的语句是:_______longlvar=1*e10___________________。17.Java源程序文件编译后产生的文件称为____字节码____文件,其扩展名为___.class_______。三、程序分析:(每题4分)1.下面是一个排序的程序:importjava.io.*;publicclassTest56_Sort{publicstaticvoidmain(Stringargs[]){int[]a={42,99,5,63,95,36,2,69,200,96};System.out.println(排序前的数据序列:);ShowArray(a);Sort(a);System.out.println(排序后的数据序列:);ShowArray(a);}publicstaticvoidSort(int[]x){intw;for(inti=1;ix.length;i++){for(intj=0;jx.length-1;j++)if(x[j]x[j+1]){w=x[j];x[j]=x[j+1];x[j+1]=w;}/*if(i==1||i==2)ShowArray(x);if(i==2)break;*/}}publicstaticvoidShowArray(intb[]){for(inti=0;ib.length;i++)System.out.print(b[i+i+]=+b[i]);System.out.println();}}问题:如果将方法Sort()中的一对注释符(/**/)去掉,程序输出的结果是什么?排序前的数据序列:b[0]=42b[1]=99b[2]=5b[3]=63b[4]=95b[5]=36b[6]=2b[7]=69b[8]=200b[9]=96b[0]=42b[1]=5b[2]=63b[3]=95b[4]=36b[5]=2b[6]=69b[7]=99b[8]=96b[9]=200b[0]=5b[1]=42b[2]=63b[3]=36b[4]=2b[5]=69b[6]=95b[7]=96b[8]=99b[9]=200排序后的数据序列:b[0]=5b[1]=42b[2]=63b[3]=36b[4]=2b[5]=69b[6]=95b[7]=96b[8]=99b[9]=200一、选择题(每道题只有一个正确答案,每小题2分,共30分)15道题12、所有的异常类皆继承哪一个类?(C)A.java.io.ExceptionB.java.lang.ThrowableC.java.lang.ExceptionD.java.lang.Error14、为实现进程之间的通信,需要使用下列那种流才合适?(D)A.DatastreamB.FilestreamC.BufferedstreamD.Pipedstream15、在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?(D)A.ActionListenerB.MouseListenerC.MouseMotionListernD.ItemListener二、填空题(每空1分,共20分)1、面向对象程序设计所具有的基本特征是:___抽象性___,_封装性___,_继承性__,_多态性__2、数组x定义如下intx[][]=newint[3][2]则x..length的值为____3________,x[0].length的值为_____2_______。3、Java中实现多线程一般使用两种方法,一是___继承Thread类_________,二是_____实现Runnable方法__________4、Java的图形用户界面设计中,有很多布局管理器用来摆放组件的位置,一般用到的布局管理器有(列出四种即可)__FlowLayout_____,___GridLayout_____,__BorderLayout_____,___CardLayout_______5、Applet常用的方法是:__init()_、__run()__、__stop()__和destroy()。三、阅读程序,写出程序的输出结果(每题5分,共20分)3、publicclassUnchecked{publicstaticvoidmain(String[]args){try{method();}catch(Exceptione){System.out.println(A);}finally{System.out.println(B);}}staticvoidmethod(){try{wrench();System.out.println(C);}catch(ArithmeticExceptione){System.out.println(D);}finally{System.out.println(E);}System.out.println(F);}staticvoidwrench(){thrownewNullPointerException();}}程序的输出结果为:EAB2.下面哪些是合法的标识符[ABE]A.$personsB.TwoUsersC.*pointD.thisE._endline3.哪些是将一个十六进制值赋值给一个long型变量[D]A.longnumber=345L;B.longnumber=0345;C.longnumber=0345L;D.longnumber=0x345L;5.在//pointx处的哪些声明是合法的[DE]classPerson{privateinta;publicintchange(intm){returnm;}}publicclassTeacherextendsPerson{publicintb;publicstaticvoidmain(Stringarg[]){Personp=newPerson();Teachert=newTeacher();inti;//pointx}}A.i=m;B.i=b;C.i=p.a;D.i=p.change(30);E.i=t.b;10.下面的哪些叙述为真。[AD]A.equals()方法判定引用值是否指向同一对象。//不说是谁的就是默认的B.==操作符判定两个分立的对象的内容和类型是否一致。C.equals()方法只有在两个对象的内容一致时返回true。D.类File重写方法equals()在两个分立的对象的内容和类型一致时返回true。//当两个独立的对象的内容和类型一致;15.main()方法的返回类型是什么?[B]A.intB.voidC.booleanD.static16.给出以下关于一个使用适当的字符间距的字体的TextField的表达式TextFieldt=newTextField(theyaregood,40);//40指的是像素哪些叙述是对的?[D]A.被显示的字符串可以使用多种字体。B.一行中最大的字符数是40C.显示的宽度正好是40个字符宽。D.用户可以编辑字符。。24.给出下面的不完整的类代码classPerson{Stringname,department;intage;publicPerson(Stringn){name=n;}publicPerson(Stringn,inta){name=n;age=a;}publicPerson(Stringn,Stringd,inta){//完成Person(Stringn,inta)的逻辑department=d;}}下面的哪些表达式可以加到构造方法中的注释处?[C]A.Person(n,a);B.this(Person(n,a));//构造函数的名字不能当方法名调用;C.this(n,a);D.this(name,age);//构造方法的参数也不能直接传实例变量名25.下面关于变量及其范围的陈述哪些是对的?[ACD]A.实例变量是类的成员变量。B.实例变量用关键字static声明。C.在方法中定义的局部变量在该方法被执行时创建D.局部变量在使用前必须被初始化。28.下面的有关声明的哪些叙述是对的?[BC]A.对原始数据类型例如boolean,byte的变量的声明不会为该变量分配内存空间。B.对原始数据类型例如boolean,byte的变量的声明将为之分配内存空间。C.非原始数据类型例如String,Vector的变量的声明不会为该对象分配内存。D.非原始数据类型例如String,Vector的变量的声明会为该对象分配内存。//该对象指的是堆空间的对象;指向该对象的引用只能叫变量;...32.给出下面的代码publicclassPerson{intarr[]=newint[10];//非静态属性publicstaticvoidmain(Stringa[]){System.out.println(arr[1]);//静态方法不能访问非静态属性}}哪些叙述是对的?[A]A.编译时出错。B.编译时正确而运行时出错。C.输出0。D.输出null。33.给出下面的代码publicclassParent{publicintaddValue(inta,intb){ints;s=a+b;returns;}}classChildextendsParent{}哪些方法可以加入类Child中?[BC]//方法的覆盖A.intaddValue(inta,intb){//dosomething...}B.publicvoidaddValue(){//dosomething...}C.publicintaddValue(inta){//dosomething...}D.publicintaddValue(inta,intb)throwsException{//dosomething...}34.公有成员