JAVA期末考试复习题_第1页
JAVA期末考试复习题_第2页
JAVA期末考试复习题_第3页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、?JAVA程序设计?练习题、单项选择择题1、编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为B A. javaB. .classC. htmlD. .exe2、设x = 1 , y = 2 ,z = 3,那么表达式y += z /+ + x 的值是A oA.3B.3.5C.D.453、不允许作为类与类成员的访问控制符的是C A.B.publicprivateC.staticD.protected4、 为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A)。A. static voi

2、dmethod( )B.public void method()C. final voidmethod( )D.abstract void method()5、 关于选择结构以下哪个说确?( B )A. if语句和else语句必须成对出现B. if语句可以没有else语句对应C. switch结构中每个case语句中必须用 break语句D. switch结构中必须有default 语句6、 while循环和dowhile 循环的区别是:(D)A. 没有区别,这两个结构任何情况下效果一样B. while循环比dowhile 循环执行效率高C. while循环是先循环后判断,所以循环体至少被执行

3、一次D. dowhile循环是先循环后判断,所以循环体至少被执行一次7、关于for循环和while 循环的说法哪个正确?(B)A. while循环先判断后执行,for循环先执行后判断。B. while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果C. 两种循环任何时候都不可以替换D.两种循环结构中都必须有循环体,循环体不能为空&以下修饰符中与访问控制无关的是DA. privateB . publicC. protectedD . final9、void 的含义:A A. 方法没有返回值B. 方法体为空C. 没有意义D. 定义方法时必须使用10、 return 语句:C

4、A. 只能让方法返回数值B .方法都必须含有C.方法中可以有多句returnD .不能用来返回对象11、关于对象成员占用存的说法哪个正确? B A. 同一个类的对象共用同一段存B. 同一个类的对象使用不同的存段,但静态成员共享一样的存空间C. 对象的方法不占用存D. 以上都不对12、以下说法哪个正确? CA. 不需要定义类,就能创立对象B. 对象中必须有属性和方法C. 属性可以是简单变量,也可以是一个对象D、属性必须是简单变量13、以下说法哪个正确?( A)A、一个程序可以包含多个源文件B、一个源文件中只能有一个类C、一个源文件中可以有多个公共类D、一个源文件只能供一个程序使用14、关于方法

5、main的说法哪个正确?( C)A. 方法main只能放在公共类中B main()的头定义可以根据情况任意更改C. 一个类中可以没有main()方法D. 所有对象的创立都必须放在main()方法中15、构造函数何时被调用? A A、创立对象时B、类定义时C、使用对象的方法时D、使用对象的属性时16、抽象方法: C A、可以有方法体B、可以出现在非抽象类中C、是没有方法体的方法D、抽象类中的方法都是抽象方法17、关于继承的说确的是:BA、子类将继承父类所有的属性和方法。B、子类将继承父类的非私有属性和方法。C、 子类只继承父类 public方法和属性D、子类只继承父类的方法,而不继承属性18、

6、关于构造函数的说法哪个正确?( C )A、一个类只能有一个构造函数B、一个类可以有多个不同名的构造函数C、构造函数与类同名D、构造函数必须自己定义,不能使用父类的构造函数C19、this 和 super : ( C )A、都可以用在main()方法中B、都是指一个存地址C、不能用在main()方法中D、意义一样20、关于super的说确的是:A、是指当前对象的存地址B、是指当前对象的父类对象的存地址C、是指当前对象的父类D、可以用在main方法中21、覆盖与重载的关系是A A. 覆盖只有发生在父类与子类之间,而重载可以发生在同 一个类中B. 覆盖方法可以不同名,而重载方法必须同名C. fina

7、l修饰的方法可以被覆盖,但不能被重载D. 覆盖与重载是同一回事22、关于接口哪个正确? AA、实现一个接口必须实现接口的所有方法B. 个类只能实现一个接口C. 接口间不能有继承关系D. 接口和抽象类是同一回事23、 异常包含以下哪些容?( A)A. 程序执行过程中遇到的事先没有预料到的情况B. 程序中的语法错误C. 程序的编译错误D. 以上都是24、对于已经被定义过可能抛出异常的语句,在编程时:( A )A. 必须使用try / catch语句处理异常,或用throws将其抛出B. 如果程序错误,必须使用try /catch语句处理异常C. 可以置之不理D. 只能使用try / catch语句

8、处理25、当某一线程正处于休眠状态,而另一个线程用Thread类中的interrupt。方法中断它时,抛出的异常类型是( C )。B)A) lOExceptionRuntimeExceptionC)lnterruptedExceptionD)ClassNotFoundException26、下面的程序段的功能是(D )File file仁new File("d:xxxyyyzzz");file1.mkdirs();A)在当前目录下生成子目录:xxxyyyzzzB)生成目录: e:xxxyyyzzzC)在当前目录下生成文件xxx.yyy.zzzD)以上说法都不对27、应用程序

9、的 main方法中有以下语句,那么输出的结果 是(B) oString s =xxxxxxxxxxxxxxx#123#456#zzzzz;int n = s.indexOf(#);int k = s.indexOf("#", n+1);String s2 = s.substring(n+1,k);System.out.println(s2);A) 123456B)123C)xxxxxxxxxxxxxxxD) zzzzz28、关于下面的程序 Test.java说确的是D public class Test Stringx="1"int y;Publicst

10、atic void main(String args)lntz=2;System.out.println(x+y+z);A)3B)102C)12D程序有编译错误29、应用程序的main方法中有以下语句,那么输出的结果int b=1, 1, 1,2,2, 3;int sum=O;for(int i=0; i<bength; i+)j+)for(int j=0; jvbi.length;sum+=bij;System.out.println("sum="+sum);A) 10B)6C) 9D) 1330、应用程序的 main方法中有以下语句,那么执行后输出 的结果是(B)

11、。int x = 125,21,5,168,98;int min = x0;for (int i=1; i<xength; i+)min = xi;System.out.println(min);D)A) 125B) 5C) 9816831、应用程序的 main方法中有以下语句,那么输出的结果 是(D)。Hashtable hashtable=new Hashtable();hashtable.put("100","aaa");hashtable.put("200","bbb");hashtable.put(

12、"300","ccc");System.out.println(hashtable.get("300").toString()+hashtable.get("200").toString()+hashtable.get("100").toString();A)aaa B) bbbC) ccc D) cccbbbaaa32、以下关于java异常说法不正确的选项是 D 。AThrowable 类是 Java 语言中 Error 类和 Exception 类 的父类。B当异常对象是Exception类

13、或其子类的实例时,能通过Java虚拟机或者throw 语句抛出该异常对象,并能通过try -catch finally处理。C如果只用一个catch块捕捉多个异常对象,那么catch子 句中的参数类型应是所有异常对象的父类。D以上说法都不对。33、以下程序段执行后的结果是(A) oString s = new String("abcdefg");for (int i=0; i<s.length(); i+=2)System.out.print(s.charAt(i);A) aceg B) ACEGC) abcdefgD)abcd34、有整型数组:intx=12,35,

14、8,7,2;, 那么调用方法 Arrays.sort(x)后,数组x中的元素值依次是( A )A)2781235B)1235872C)3512872D)8712352String s仁 new String("abc");String s2=new String("abc");boolean b1=s1.equals(s2);booleanb2=(s1=s2);System.out.print(b1+""+b2);A)truefalseB)falsetrueC)truetrueD)falsefalse36、应用程序的 main方法中有

15、以下语句,那么输出的结果 是( B ) oHashtable hashtable=newHashtable();hashtable.put("x","12345");hashtable.put("y","67890");hashtable.put("a","abcde");System.out.println(hashta ble.get("a");A)a B) abcdeC) 12345 D)6789037、应用程序的 main方法中有以下语句,那么输出

16、的结果是B)°Strings="12345#aaa#bbb#67890"intn=s.indexOf("#");int k=s.indexOf("#",n+1);intm=s.indexOf("#",k+1);Strings2=s.substring(m+1);System.out.println(s2);D)A) 123456B) 67890C) aaa bbb38、下面程序段执行后 b的值是BIntegerinteg =new Integer(9)boolean b = integinstanceof

17、 Object;A) 9B) trueC) 1D) false39、应用程序Test.java的源程序如下,在命令行键入:javaTest aaa bb c回车后输出的结果是(A ) opublic class Test publicstatic void main(String args) intk仁argsength;intk2=args1.length();System.out.print(k1+""+k2)A) 3233B)12C) 13D)40、应用程序的是(A222;main方法中有以下语句,那么输出的结果)°int b=1, 2,2,int sum=

18、0;for(int i=0;i<bength;i+)for(i nt j=O;j<bi.le ngth;j+)sum*=bij;System.out.println("sum="+sum);A) 32B)11C) 2D)341、应用程序的main方法中有以下语句,那么执行后输出 的结果是D。intx=125,21,5,168,98;int max=x0;for(int i=1;i<xength;i+)max =xi;System.out.println(max);D)A)125B) 5C) 9816842、程序Test.java编译运行后输出的结果是pub

19、lic class Test Strings仁"java"publicstatic void main(String args)intz=2;Testt=newTest();System.out.println(t.s1+z);A) java2B)2C)没有输出结果D)java43、应用程序的 main方法中有以下语句,那么输出的结果 是(A) oString s仁"0.5", s2="12"double x=Double.parseDouble(s1);inty=lnteger.parselnt(s2);System.out.pri

20、ntln(x+y);A) 12.5B) 120.5C)12D)12.544、如下哪个是Java中的标识符A publicsuperB、C、3numberD、width45、如下哪个是Java中的标识符A、fieldnameB、super3numberD、#numberF面哪个语句不是合46、如下定义:String s = "story"法的AA、 s += "books"B、s = s + 100;C、int lensength;D、String t = s +abc ;47、如下哪个是Java中有效的关键字C A、nameB、helloC、falseD

21、、good48、下面的代码段执行之后 count的值是什么 D int count = 1;for (int i =1; i <= 5; i+) count += i;System. out .println(count);15C、D、 1649、定义一个类,必须使用的关键字是BA public class interfaceB、C、D、static50、定义一个接口必须使用的关键字是CA public class interfaceB、C、D、static51、如果容器组件p的布局是BorderLayout ,那么在p的下边中添加一个按钮 b,应该使用的语句是 C p.add(b);B

22、、p.add(b,"North");C、p.add(b,"South");D、b.add(p,"North");52、声明并创立一个按钮对象b,应该使用的语句是(A )A、Button b=newButton();B、buttonb=new button();C Button b=newb();D、b.setLabel(“确定);53、Frame对象默认的布局管理器是 BFlowLayoutBorderLayoutCCardLayoutnull二、填空题1、 开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码和解

23、释运行字节码。2、 在Java的根本数据类型中,char型采用Unicode编码方案,每个 Unicode 码占用 2字节存空间,这样,无论是中文字符还是英文字符,都是占用2字节存空间。3、 设x = 2,那么表达式x + + /3的值是 1 。4、假设x = 5 , y = 10,那么x < y和x >= y的逻辑值分另廿为true和 false 。5、 扌由象 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定 义。final方法是不能被当前类的子类重新定义的方法。6、创立一个名为 MyPackage的包的语句是 packagemypackage,该

24、语句应该放在程序的位置为:应放在程序第一句。7、 设有数组定义:int MyIntArray = 10,20,30,40,50 ,60,70;那么执行以下几个语句后的输出结果是120。int s = 0 ;for (int i = 0 ; i < MylntArray.length ;i + + )if ( i % 2 = = 1 )s += MylntArrayi;System.out.println(s);&在Java程序中,通过类的定义只能实现重继承,但通过接口的定义可以实现多重继承关系。1、如果将类MyClass声明为public,它的文件名称必须是_MyClass.ja

25、va才能正常编译。2、 Java 程序中的单行注释符是/,多行注释符是/*.*/。3、Java中布尔类型的常量有两种,它们是 _true和 false。4、Java中用于定义小数的关键字有两个: float和 double后者精度高于前者。5、Java中用于两个数相等比较的运算符是:=,用于不相等比较的运算符是 <>。6、在Java中定义一个字符串类型的变量str的语句是:String str,定义一个具有 10个元素的整型数组 a 的语句是:int 1 r=new int10。7、导入 mypackage包中的所类的命令是 importmypackage.* ;&当声明一

26、个数组int arr = new int5;时,这代表这个数组所保存的变量类型是int,数组名是 arr,数组的大小为_5,数组元素下标的使用围是0到4。9、假设x=13, y=4,那么表达式x%y != 0的值是 true,其数据类型是 boolean。10、异常处理是由_try、catch和 finally块三个关键所组成的程序块。11、以下程序段的输出结果是 三角形int x = 5, y = 6, z = 4;if(x + y > z && x + z > y && z + y > x)");(三角形else角形")

27、;(不是三12、下面程序段的执行结果是6 5 4 32int a = 2, 3, 4, 5, 6 ;for(int i = a.I ength - 1; i >= 0; i-)System.out.print(ai +二、简答题1、简述Java中异常处理的机制?答:首先Java的异常是面向对象的。 一个Java的Exception 是一个描述异常情况的对象.当出现异常情况时,一个 Exception对象就产生了,并放到异常的成员函数里。Java的异常处理是通过5个关键词来实现的:try,catch,throw,throws 和 finally 。1. 异常处理:在Java语言的错误处理结

28、构由try , catch ,finally 三个块组成。其中try块存放将可能发生异常的 Java语言,并管理相关的异常指针; catch块紧跟在try块 后面,用来激发被捕获的异常;finally块包含去除程序没有释放的资源,句柄等。不管try块中的代码如何退出,都将执行finally 块。2. 抛出异常:Java语言可以不在方法中直接捕获,而用 throw语句将异常抛给上层的调用者。Throw语句就是来明确地抛出一个异常;首先你必需得到一个Throwable的实例句柄,通过参数传到 catch中,或者采用new操作符来创立 一个。2、什么是继承?答:通过必要的说明能够实现某个类无需重新定

29、义就拥有另 一个类的某些属性和方法,并把这种关系称为继承,先定义 的类称为父类,后定义的类称为子类,并且允许多层的继承 关系。3、请简述重载和重写的区别?答:方法的重写 Overriding 和重载 Overloading 是Java多 态性的不同表现。重写Overriding 是父类与子类之间多态性的一种表现, 重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有一样的名称和参 数,我们说该方法被重写(Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定 义如同被“屏蔽了。如果在一个类中定义了多个同名的方法,它们或有不同

30、 的参数个数或有不同的参数类型,那么称为方法的重载 (Overloading) 。Overloaded的方法是可以改变返回值的类 型。四、写出下面程序的运行结果1、 import java.io.*;public class abcpublic static void main(String args )AB s = new AB("Hello!","llove JAVA.");class AB String s1;Strings2;public AB(String strl, String str2)s1 = str1;s2 = str2;public

31、 String toString()return s1+s2;运行结果:Hello!l loveJAVA2、 import java.io.* ;public class abcpublic static void main(Stringargs)int i, s = 0 ;int a = 10 , 20 , 30 ,40 ,50,60,70,80,90 ;for ( i = 0 ; i < aength ;i +)if ( ai%3=0 ) s += ai;"+S);运行结果:S=1803、import java.io.* ;public class abcpublic st

32、atic void main(String args)System.out.println("a="+a+"nb="+b);class SubClass extends SuperClass int c;SubClass(int aa, int bb, int cc)super(aa, bb);c=cc;class SubSubClass extends SubClass int a;SubSubClass(int aa, int bb, int cc) super(aa, bb, cc);A = aa+bb+cc;void show()System.o

33、ut.println("a="+a+"nb="+b+"nc="+c);运行结果:a=60 b=20c=304、以下程序的输出结果为 _Peter is17years old !。public class Person Stringname;intage;publicPerson(String name, int age) = name; this.age = age;Person c = newPerson("Peter",17);System.out.println( +"

34、;is" + c.age + " years old!");5、以下程序的输出结果为 课程号:101课程名:ASP学分:3。public class Course privateString eNumber;privateString cName;privateint cUnit;publicCourse(String number, String name,int unit) cName = name;eUnit = unit;publicvoid printCourselnfo() ( 课程号:"+ cNumber + "课程名:"+ cName+ "学分:"+ cUnit);class CourseTest publicstatic void main(String args) Course c;c = new Course("101","ASP",3);6、以下程序的输出结果为 _汤姆猫体重:20.0斤。public class Tom privatefloat weight;privatestatic String name;publicvoid setWeight(float weight) this.weight = wei

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论