计算机高级语言程序设计综合复习题-带答案

124 阅读6分钟

一、单项选择题

  1. 编译Java程序的命令文件名是(C) A、java.exe      B、java.c    C、javac    D、appletviewer.exe  

  2. Java语言与其他语言相比,独有的特点是(C) A、面向对象     B、多线程     C、平台无关性    D、可扩展性

  3. 编译Java程序filename.java 后,生成的程序是(C) A、filename.html   B、filename.jav  C、filename.class  D、filename.jar  

  4.  下面声明Java独立应用程序main(  )方法中,正确的是(A) A、public static void main(String args[ ]){„„}     B、private static void main(String args[ ]){„„}    C、public void main(String args[ ]){„„}     D、public static void main(String args){„„} 

5. 定义一个类Point,类中有两个double型变量x和y,对于构造函数的声明错误的是(A)  A、Point Point(int x){„..}          B、public Point(int x ){„„}     C、public Point (int x ,int y){„..}   D、public Point(Point p ){„„} 

6. 有关类的说法正确的是(B)     A、类具有封装性,所以类的数据是不能被访问的     B、类具有封装性,但可以通过类的公共接口访问类中的数据    C、声明一个类时,必须用public修饰符     D、每个类中,必须有main方法,否则程序无法运行 

7. 以下关于构造函数及其重载的说法正确的是(D)     A、类定义了构造函数,Java就不会自动为该类创建默认的不带参数的构造 函数     B、构造函数不能对私有变量初始化     C、一个类中含有几个构造函数,称为构造函数的重载。对于重载的函数,其 参数列表可以相同。 D、重载的构造函数之间可以通过关键字this在构造函数中的任意位置相互调用 

  1. 以下关于类对象的使用,说法正确的是(B)     A、通过构造函数实例化一个类对象后,在类的内部,不管变量的访问修饰符是私有的还是共有的,都可以通过“对象名 . 变量名”对变量进行访问     B、在类的外部调用类对象拥有的方法必须用“对象名 . 方法名()”     C、同一个类的对象之间可以赋值,且他们分别代表不同的对象     D、类对象可以作为方法的参数,这时在方法体中可以引用对象的变量和调用对象的方法

9. 下列关于继承的哪项叙述是正确的?(D)     A、在java中允许多重继承     B、在java中一个类只能实现一个接口     C、在java中一个类不能同时继承一个类和实现一个接口     D、java的单一继承使代码更可靠 

  1.  Java中所有类的父类是(D )   A、Father      B、Lang        C、Exception        D、Object 

11. 若有以下类声明:     Public class A extends B implementsC,D{„.}     下面说法错误的是(A ) A、这个声明是错误的 B、类A继承自父类B  C、C和D是接口,类头的定义声明类A实现接口C和D  D、关键字extends指明类的继承关系

12. 下列常见的系统定义的异常中,哪个是输入、输出异常?(B)      A、ClassNotFoundException      B、IOException      C、FileNotFoundException      D、UnknownHostException

13. 下列常见的系统定义的异常中,哪个是数组越界异常?(A)    A、ArrayIndexOutOfBoundsException    B、IOException    C、NullPointerException    D、ArithmeticException

  1. Java的字符类型采用的就是Unicode编码方案,每个Unicode码占用(   B  )个比特位。  A、8        B、16         C、32         D、64 

  2. 设 a = 8,则表达式  a >>> 2 的值就是(  B    )。  A、1          B、2          C、3          D、4 

  3. 若a的值为3时,下列程序段被执行后,c的值就是多少?(   C  )   c = 1;     if  ( a>0 ) if  ( a>3 )  c = 2;   else   c = 3;   else   c = 4;  A、1           B、2          C、3          D、4

  4. 若需要定义一个类域或类方法,应使用哪种修饰符?(  A   ) A、static       B、package        C、private       D、public 

  5. 若在某一个类定义中定义有如下的方法: abstract  void  performDial( );  该方法属于(  D   )。  A、本地方法      B、最终方法      C、解态方法       D、抽象方法 

  6. 下列关于静态初始化器的叙述中,哪一个就是正确的?(  B   ) A、静态初始化器就是在构造函数之前加上static修饰符。 B、静态初始化器就是对类自身进行初始化。 C、静态初始化器在同一个类中只能有一个。  D、静态初始化器就是在其所属的类加载内存时不就是由系统自动调用执行。

  7. 在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为(    C )。 A、隐藏    B、覆盖    C、重载   D、Java不支持此特性 

  8. 对于构造函数,下列叙述不正确的就是( C    )。 A、构造函数也允许重载。 B、子类无条件地继承父类的无参构造函数。 C、子类不允许调用父类的构造函数。 D、在同一个类中定义的重载构造函数可以相互调用。

  9. 在使用interface声明一个接口时,只可以使用( D    )修饰符修饰该接口。 A、private   B、protected    C、private  protected     D、public

  10. 在Java中,存放字符串常量的对象属于(B     )类对象。 A、Character       B、String       C、StringBuffer      D、Vector

  11. 指出正确的表达式 ( C  )  A、byte=128;  B、Boolean=null;  C、long l=0xfffL;  D、double=0、9239d;

  12. 要从文件"file.dat"文件中读出第10个字节到变量C中,下列哪个方法适合? ( D  )   A、in=new ("file.dat"); in.skip(9); int c=in.read;   B、in=new ("file.dat"); in.skip(10); int c=in.read;   C、in=new ("file.dat"); int c=in.read;   D、RandomAccess RandomAccessFile("file.dat"); in.skip(9); int c=in.readByte; 

  13. 容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?(  A )   A、CardLayout   B、FlowLayout   C、BorderLayout   D、GridLayout

  14. Main方法的返回类型就是:( B  ) A、int   B、void   C、boolean   D、static  

  15. System类在哪个包中? ( D  )  A、java.util   B、java.io  C、java.awt   D、java.lang 

  16. 设 a = 3,则表达式 (--a )<<a的结果是(B ) A、16        B、8           C、24          D、12 

  17.  尝试运行下面的代码会发生什么?( B)  public class Test {    public static void main(String[] args) {    boolean m = true;    if (m = false) {      System.out.println("true");    } else {      System.out.println("false");   }  } }  A、输出字符串”true” B、输出字符串”false” C、编译时错误 D、运行时错误

二、填空题

  1. 类是Java中的一种重要的复合数据类型,是组成Java程序的基本要素。一个类的实现包括两部分:  类声明 、 类体 。 
  2. Java程序里,对象是类的一个 实例 。运算符  new 为对象分配内存空间,它调用对象的构造方法,返回引用。 
  3. 构造函数的方法名必须与 类 名相同,使用运算符 new 创建类的对象,给对象分配内存空间。 
  4. 定义接口和定义类相似,只是要把定义类的关键字 class 换为 interface 。 
  5. 在Java中能实现多重继承效果的方式是 接口 。 
  6. 面向对象的语言将客观世界都看成由各种对象所组成的,共同特征和行为的对象组成类,类是 属性 和 方法 的集合。 
  7. 同一个类中多个方法具有相同的方法名,不同的参数列表称为方法的 重载 。
  8. 一个类可以从它的父类中继承所有的属性和方法。采用这种方法可以提高软件的 重用性 。 
  9. 在Java程序里类之间的继承关系只能是 单继承 。 
  10. 继承就是在已经存在类的基础上再扩展产生新的类。已经存在的类称为 父类 ,新产生的类称为 子类 。
  11. 一个复杂的应用系统必然包括有多个对象,这些对象间可能存在的关系有三种,它们就是:   继承   、  关联   与     包含    。
  12. 设x = 2 ,则表达式 ( x + + ) * 3 的值就是   6    。
  13. 若x = 5,y = 10,则x > y与x <= y的逻辑值分别为  false  与 true  。
  14. 据程序的构成与运行环境的不同,Java源程序分为两大类:    application   程序与   applet   程序。
  15. 如果一个Java源程序文件中定义有4个类,则使用Sun公司的JDK编译器javac编译该源程序文件将产生  4  个文件名与类名相同而扩展名为  class   的字节码文件。
  16. 开发与运行Java程序需要经过的三个主要步骤为  编码、 编译   、与   执行  。
  17. 在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码字符占用  2  字节内存空间,这样,无论就是中文字符还就是英文字符,每个都就是占用  2  字节内存空间。

三、判断题

  1. Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。( F ) 
  2. 有的类定义时可以不定义构造函数,所以构造函数不就是必需的。( F )
  3. 类及其属性、方法可以同时有一个以上的修饰符来修饰。( T )
  4. 抽象方法必须在抽象类中,所以抽象类中的方法都必须就是抽象方法。( F)
  5. Final类中的属性与方法都必须被final修饰符修饰。( F )
  6. 最终类不能派生子类,最终方法不能被覆盖。(T )
  7. 子类要调用父类的方法,必须使用super关键字。( T )
  8. 一个Java类可以有多个父类。( F )
  9. 如果p就是父类Parent的对象,而c就是子类Child的对象,则语句c = p就是正确的。( F )
  10. 一个类如果实现了某个接口,那么它必须重载该接口中的所有方法。( T ) 
  11. 当一个方法在运行过程中产生一个异常,则这个方法会终止,但就是整个程序不一定终止运行。( T ) 
  12. 接口就是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量与抽象方法。( T ) 
  13. 用“+”可以实现字符串的拼接,用 可以从一个字符串中去除一个字符子串。( F ) 
  14. 一个容器中可以混合使用多种布局策略。( T )  
  15. Java的源代码中定义几个类,编译结果就生成几个以、class为后缀的字节码文件。( T )
  16. Java的字符类型采用的就是ASCII编码。( F ) 
  17. Java的各种数据类型占用固定长度,与具体的软硬件平台环境无关。( T) 22.容器就是用来组织其她界面成分与元素的单元,它不能嵌套其她容器。( F) 
  18. Java就是不区分大小写的语言。( F) 
  19. Java的源代码中定义几个类,编译结果就生成几个以、class为后缀的字节码文件。( T ) 
  20. Java Application就是由独立的解释器程序来运行的。( F ) 
  21. Java Applet的字节码文件必须嵌入HTML的文件中并由负责解释HTML文件的浏览器充当解释器来解释运行。( F ) 
  22. Java Application只能在字符界面下工作。( F )
  23. Java的字符类型采用的就是Unicode编码,每个Unicode码占16个比特。(T)
  24. Java源程序就是由类定义组成的,每个程序可以定义若干个类,但只有一个类就是主类。(T ) 
  25. 子类的域与方法的数目一定大于等于父类的域与方法的数目。( F )
  26. 类在实现接口的方法时,必须显示地使用public修饰符。( T ) 
  27. 一个类只能有一个父类,但一个接口可以有一个以上的父接口。(T ) 
  28. 程序中抛出异常时(throw …),只能抛出自己定义的异常对象。( F ) 
  29. System类中的in就是一个输入对象。( T ) 
  30. 实现一个接口,则在类中一定要实现接口中的所有方法。( T) 
  31. 所有的文件输入/输出流都继承于InputStream类/OutputStream类。( F ) 
  32. 一个异常处理中 finally语句块只能有一个或者可以没有。(F ) 38、语句import java、applet、Applet;最后的Applet就是代表类(class)。( T ) 
  33. 类体中private修饰的变量在本类中能访问,类生成的对象也能访问。( F ) 
  34. 线程使用sleep方法休眠后,可以用notify方法唤醒。( F ) 
  35. 一个异常处理中 finally语句块只能有一个或者可以没有。( T ) 
  36. 用Javac编译Java源文件后的到代码叫字节码。(T ) 
  37. 数组、类与接口都就是引用数据类型。( F ) 
  38. 一个Applet编译后的类名就是Test、class,运行此小程序的命令就是Java Test。( F ) 
  39. Java语言中一个Char类型的数据占用2个字节大小的内存空间。( T ) 
  40. 编译语句int aInt=66666不会出现编译错误。(T )
  41. float x=26f; int y=26; int z=x/y; 以上语句能正常编译与运行。( F) 
  42. 判断下面说法的正误: int x=9; if(x>8 and x<10) System、out、println("true");  以上语句运行的结果就是显示true。      (T ) 
  43. 判断下面说法的正误: String str;  System、out、println(str、length); 以上语句运行的结果就是显示0 。    (F ) 
  44. 抽象类不能实例化。    (T ) 
  45. 一个方法最多能有一个return语句。   ( F) 
  46. 接口名可以作为方法返回值的类型。    ( T) 
  47. 类A与类B位于同一个包中,则除了私有成员,类A可以访问类B的所有其她成员。 ( T)

四、简答题 

  1. Java语言有什么特点? 
  2. 简单分析Java语言中的final, finally, finalize三者的区别。  
  3. abstract class(抽象类)与interface(接口)有什么区别? 
  4. 什么叫多线程?Java支持多线程有何意义? 
  5. 什么是流?什么是数据流?最基本的输入输出流类是什么?
  6. 什么是类?什么是对象?什么是接口?接口与类的继承有什么本质区别? 
  7. 什么是多态?面向对象程序设计为什么要引入多态的特性?使用多态有什么优点? 
  8. 什么是继承?什么是单重继承?什么是多重继承?Java语言中如何实现多重继承? 
  9. Java语言有哪些运算符? 
  10. 什么是接口?为什么要定义接口?接口与类有与异同?