复习资料(习题版)(1).doc_第1页
复习资料(习题版)(1).doc_第2页
复习资料(习题版)(1).doc_第3页
复习资料(习题版)(1).doc_第4页
复习资料(习题版)(1).doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

一、选择题1、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )A) static void method()B) public void method()C) final void method()D) abstract void method()2、Java中main()函数的返回值是什么类型( D )A) StringB) intC) charD) void3、以下说法正确的是( A )A) Java中所有的方法都必须在类内定义B) Java中主方法可以不在类内定义,其他方法都必须定义在类内C) Java中主方法必须定义在类内,其他方法可以不必定义在类内D) Java中所有方法都不必在类内定义4、Java不支持多重继承,但我们可以通过( B )实现A) 多态B) 接口C) 覆盖D) 抽象类5、已知表达式int m = 0, 1, 2, 3, 4, 5, 6 ;下面哪个表达式的值与数组元素个数相等(B)A) m.length()B) m.lengthC) m.length()+1D) m.length+16、所有的异常类皆继承哪一个类( C )A) java.io.ExceptionB) java.lang.ThrowableC) java.lang.ExceptionD) java.lang.Error7、关于布尔类型说法正确的是( A )A) boolean表示布尔类型,它的取值只有true和false B) bool表示布尔类型,它的取值只有true和falseC) boolean表示布尔类型,它的取值只有1和0 D) bool表示布尔类型,它的取值只有1和08、在异常处理中,如释放资源、关闭文件等善后操作由( C )来完成A) try子句B) catch子句C) finally子句D) throw子句9、要开发Java程序,需要安装的开发包是( A )A) jdkB) eclipseC) notepadD) 记事本10、给出下面的代码段:public class Teststatic int arr = new int10;public static void main(String a)System.out.println(arr1);哪个语句是正确的( C )A) 编译时将产生错误B) 编译时正确,运行时将产生错误C) 输出零D) 输出空11、如下哪个字符串是Java中的标识符( A )A) fieldnameB) superC) 3numberD) #number12、以下哪项是接口的正确定义( D )A) interface B void print() ; B) abstract class B void print(); C) abstract interface B extends A1,A2 /A1、A2为已定义的接口 abstract void print() ; D) interface B void print(); 13、以下代码段执行后的输出结果为( B )int x=3; int y=10;System.out.println(y%x);A) 0B) 1C) 2D) 314、不允许作为类及类成员的访问控制符的是(C )A) publicB) privateC) staticD) protected15、执行完代码int x = new int25; 后,以下哪项说明是正确的(A )A) x24为0B) x24未定义C) x25为0D) x0为空16、类Text定义如下: public class Test public float aMethod(float a, float b)/ * 将以下哪种方法插入行/*是不合法的。( B )A) public float aMethod(float a, float b, float c) B) public float aMethod(float c, float d) C) public int aMethod(int a, int b) D) public float aMethod(int a, int b, int c) 17、在Java语言中,下列哪个包是编译器自动导入的(A )A) java.langB) C) javax.swingD) java.util18、关于类和对象的叙述正确的是(A )A) Java的类分为两大部分:系统定义的类和用户自定义的类B) 类的静态属性和全局变量的概念完全一样,只是表达形式不同C) 类的成员至少有一个属性和一个方法D) 类是对象的实例化19、以下语句中,没有创建出字符串对象的是(A )A) String str;B) String str = hello;C) String str = new String( );D) new String(hello);20、A派生出子类B,B派生出子类C,并且在Java源代码中有如下声明 A a0 = new A(); A a1 = new B(); A a2 = new C();请问以下哪个说法是正确的(D )A) 只有第1行能通过编译B) 第1、2行能通过编译,但第3行编译出错C) 第1、2、3行能通过编译,但第2、3行运行时出错D) 第1行、第2行和第3行的声明都是正确的21、判断两个字符串s1,s2值是否相等,需要使用( D)A) if(s1=s2)B) if(s1=s2)C) if(equals(s1,s2)D) if(s1.equals(s2)22、以下哪个表达式是不合法的( B )A) String x = Sky; int y = 5; x += y;B) String x = Sky; int y = 5; if(x=y)C) String x = Sky; int y = 5; x=x+y;D) String x = null; int y=(x!=null) & (x.length()0)?x.length():0;23、在子类的构造函数中要调用父类的构造函数,需要用哪个关键字( D )A) finalB) extendsC) implementsD) super24、有以下方法的定义,请选择该方法的返回类型(C )int method(byte x, double y)return (short)x/y*2;A) byteB) shortC) intD) double25、在Java中,一个源文件可以存放几个公有类(即被public修饰的类)(A )A) 1个B) 2个C) 3个D) 无数个26、编译MyClass.java之后,得到了三个字节码文件:MyClass.class , MyClasslittle$.class,MyClass$1.class。这表明(C )A) MyClass类中的两个方法:little和1B) MyClass.Java中有三个类:MyClass、little和1C) MyClass类中有两个内部类:一个是命名的little,另一个是匿名的1D) MyClass、little和1,这三者没什么关系27、下面哪个函数是public void example().的重载函数(D)A) public double example2(int m) .B) public int example() .C) public void example2() .D) public int example(int m, float f) .28、下面哪个不是java语言中的关键字( B )A) longB) sizeofC) instanceofD) const29、关于被私有访问控制符private修饰的成员变量,以下说法正确的是(C )A) 可被三种类引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B) 可以被两种类访问和引用:该类本身、该类的所有子类C) 只能被该类自身所访问和修改D) 只能被同一个包中的类访问30、以下有关构造方法的说法,正确的是(A )A) 一个类的构造方法可以有多个B) 构造方法在类定义时被调用C) 构造方法只能由对象中的其它方法调用D) 构造方法可以和类同名,也可以和类名不同31、编译Java源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B )A) .javaB) .classC) .htmlD) .exe32、main方法是Java程序执行的入口点,关于main方法的方法头以下哪项是合法的( B )A) public static void mainB) public static void main(String args)C) public static int main(String args)D) public void main(String args)33、给出如下代码:class Test private int m; public static void fun() / some code. 如何使成员变量m 被函数fun()直接访问(C )A) 将private int m改为protected int mB) 将private int m改为public int mC) 将private int m改为static int mD) 将private int m改为int m34、Java中复合数据类型不包括(D )A) 类类型B) 数组C) 接口类型D) 指针35、下列语句中,能正确创建一个名为scu的包是(C )A) import java.scu;B) import scu;C) package scu;D) package java.scu;36、void的含义( C )A) 方法体为空B) 定义的方法没有形参C) 定义的方法没有返回值D) 方法的返回值不能参加算术运算37、Java应用程序的入口方法是(D )A) startB) initC) helloWorldD) main38、关于Java语言叙述错误的是(C )A) Java语言具有跨平台性B) Java是一种面向对象的语言C) Java语言中的类可以多继承D) Java的垃圾收集机制自动回收程序已不再使用的对象39、给出下面的代码段:public class Base int w, x, y ,z; public Base(int a,int b) x=a; y=b; public Base(int a, int b, int c, int d) / assignment x=a, y=b w=d; z=c; 在代码说明 /assignment x=a, y=b处写入如下哪个代码是正确的( D )A) Base(a,b);B) x=a, y=b;C) super(a,b);D) this(a,b);40、创建字符串String s=new String(xyzy); 以下哪条语句将改变s(D )A) s.append(a);B) s.concat(s);C) s.substring(3);D) 以上语句都不会二、判断题1、Java的字符类型采用的是Unicode编码,但所占字节由具体软硬件环境决定。(错 )一个字符一律占用2个字节2、抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。( 错 )3、子类的属性和方法的数目一定大于等于父类的属性和方法的数目。( 错 )4、Java中数组的元素可以是简单数据类型的量,也可是某一类的对象。(对 )5、在方法定义中,所以可能发生的异常都必须用try catch()捕捉。(错 )6、Java源程序是由类定义组成的,每个程序可以定义若干个类,但只有一个类是主类。( 对 )7、Java的字符类型采用的是ASCII编码。(错 )8、class A.等价于class A extends Object.。( 对)9、接口里的方法必须全部都声明成abstract。(对 )10、注释的作用是使程序在执行时在屏幕上显示/之后的内容。(错 )11、一个Java类可以有多个父类。( 错 )12、Java中数组的元素只能是简单数据类型的量。(错 )13、不能在静态方法中使用this。( 对 )不能在静态方法中使用this,因为this默认的对象引用,静态方法被调用时,this所引用的对象并没有产生,this无所指向. 14、最终类能派生子类,最终方法能被重载。( 错 )15、Java语言是平台无关的语言。(对 )16、Java的源代码中定义几个类,编译结果就生成几个以.class后缀的字节码文件。(对 )17、System类不能实例化,即不能创建System类的对象。( 对 )System类当然不能实例化,它是抽象类嘛,所有前面带有 abstract 的类都不能实例化18、类的静态方法中可以访问该类的非静态数据成员。(错 )19、覆盖的同名方法中,子类方法不能比父类方法的访问权限更严格。(对 )20、抽象类中不能创建对象。(对 )三、填空题1、创建一个名为MyPackage的包的语句是( package.MyPackage; ),该语句应该放在程序的位置为(最开头 )。java源程序的第一句2、程序中定义类使用的关键字是class,每个类的定义由类头定义、类体定义两部分组成,其中类体部分包括( 属性 )和( 方法 )。3、创建类的对象时,使用运算符(new )给对象分配内存空间。4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用(2 )字节内存空间。5、Java程序中定义接口所使用的关键字是(interface ),接口中的属性都是(public,static,final ),接口中的方法都是(public abstract)。6、在Java程序中,通过类的定义只能实现( 单 )继承,但通过接口的定义可以实现( 多 )继承关系。7、数组x定义如下:int x = new int32; 则x.length的值为(3 ),x0.length的值为( 2 )。8、( 抽象 )方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类或接口之中定义。( final )方法是不能被当前类的子类重新定义的方法。9、关键字(import )用于导入包中的类到程序中,供程序中使用。10、Java中所有类都是类(Object )的子类。11、在子类中使用关键字(super)做前缀可调用被子类覆盖的父类中的方法。12、面向对象程序设计所具有的基本特征是抽象性、( 封装性)、继承性与( 多态性 )。四、简答题1、什么是重载,什么是覆盖,有什么区别和共同点?答:重载是指在同一个类中定义了多个名字相同而内容不同的成员方法;覆盖则是指在子类中定义了与父类具有相同名字的成员方法。重载与覆盖的区别在于:重载是存在于同一个类的不同方法之间的多态关系,它们主要通过参数表中参数的个数、参数的数据类型和参数的顺序等方面的不同来区分;而覆盖是存在于父类与子类之间的多态关系,它们在引用时通过指出所属类的类名来区分。2、谈谈final与finally的区别?final 修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。finally 在异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块。3、抽象类与接口的区别是什么?答:a、接口中的所有方法都是抽象的,而抽象类可以定义带有方法体的不同方法;b、一个类可以实现多个接口,而只能继承一个抽象父类;c、接口与实现它的类不构成继承体系,而抽象类是属于一个类的继承体系;d、接口中的方法默认是public abstract的,而成员变量默认是public static常量;e、implements关键字用于实现接口,extends关键字用于继承。五、编程题1、请定义一个名为Card的扑克牌类,该类有两个private访问权限的字符串变量face和suit:face描述一张牌的牌面值(如:Ace, Deuce, Three, Four, Five, Six, Seven, Eight, Nine, Ten, Jack, Queen, King);suit描述一张牌的花色(如:Hearts, Diamonds, Clubs, Spades)。定义Card类中的public访问权限的构造方法,为类中的变量赋值;定义protected访问权限的方法getFace(),得到扑克牌的牌面值;定义protected访问权限的方法getSuit(),得到扑克牌的花色;定义方法toString(),返回表示扑克牌的花色和牌面值字符串(如Ace of Hearts、Ten of Clubs等)public class Cardprivate String face;private String suit;public Card(String face, String suit)this.face = face;this.suit = suit;protected String getFace()return face; / 返回牌面值protected String getSuit()return suit; / 返回牌花色public String toString()return face + of + suit; / 返回面值和花色public static void main(String args)Card a = new Card(Ace, Hearts);System.out.println(牌面值为: + a.getFace();System.out.println(牌花色为: + a.getSuit();System.out.println(该扑克牌为: + a.toString();2、构造一个类来描述屏幕上的一个点,该类的构成包括点的x和y两个坐标,以及一些对点进行的操作,主要包括:取得点的坐标值,对点的坐标进行赋值。编写应用程序生成该类的对象并对其进行操作。class Pointprivate int x, y;public Point(int x, int y)this.x = x;this.y = y;public String getPiont()return ( + x + , + y + );public void setPoint(int x, int y)this.x = x;this.y = y;public class Testpublic static void main(String args)Point p = new Point(3, 4);System.out.println(改点的坐标为: + p.getPiont();p.setPoint(5, 6);System.out.println(修改后的坐标为: + p.getPiont();3、编写一个Java程序,接受用户从键盘输入的10个整数,并输出这10个整数的最大值和最小值。import java.io.*;public class Testpublic static void main(String args)int max = 0, min = 0, value = 0;for (int i = 1; i max ? value : max;min = value min ? value : min;catch (NumberFormatException enf)System.out.println(整数格式输入错误,请重新输入。n);i-;catch (IOException ioe)System.out.println(一般输入输出错误,程序终止。);System.exit(0);System.out.println(最大数为: + max);System.out.println(最小数为: + min);4、编写一个完整的Java 程序使用复数类Complex验证两个复数1+2i和3+4i相加产生一个新的复数4+6i。复数类Complex必须满足如下要求:(1)复数类Complex的属性有RealPar

温馨提示

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

最新文档

评论

0/150

提交评论