java复习题

更新时间:2024-01-12 21:20:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

注意Java中是大小写敏感的,请注意大小写的使用!! 一、判断题:

9. 有时候为了避免引起混淆,构造方法的方法名可以不与所属类名同名。 (╳) 10. 构造方法一般不允许有任何返回值,因此需要在返回类型处标注为void。 (╳) 11. 任何类都必须显式地定义该类的构造方法,以便对类的成员进行各种初始化操作。 (╳) 12. Java语言对内存的释放是采用垃圾自动回收机制。Java虚拟机自动判断并收集“垃圾”,但一般不会立即释放它们的存储空间。 (√)

13. Java系统提供了方法“System.gc()”来强制立即回收“垃圾”,即当调用该方法时,系统会立即回收“垃圾”。 (╳)

14. 程序可以借助于finalize方法来精确记录在程序执行过程中内存资源的释放情况。(╳)

15. 如果在定义一个类的时候没有用到关键字extends,则这个类没有直接父类。 (╳) 16. Java语言规定:任何一个子类的构造方法都必须调用其父类的构造方法(包括隐式调用),并且调用父类构造方法的语句必须是子类构造方法的第一条语句。 (√) 17. 如果一个类不是内部类,则它的访问属性不能是private或者protected。 (√) 18. 抽象方法不能含有方法体,并且必须在抽象类中。 (√)

19. 抽象类是不能实例化的。抽象类的实例化,应当通过其不具有抽象属性的子类来创建。 (√)

20. 因为标准输入流(System.in)并不是真正的文件,所以标准输入流不像文件那样有明显的输入流结束标志,即如果程序不做特殊处理,则程序永远无法得到标准输入流的结束标志。 (╳)

21. 在Java中,类java.io.File虽然不直接处理文件内容,但可以通过类java.io.File达到改变当前路径的目的。 (╳)

22. 采用事件适配器比采用事件监听器的执行效率要高,因为采用事件适配器可以只处理所需处理的事件。 (╳)

23. 编写小应用程序实际上就算要实现类java.applet.Applet的子类,该子类必须是public类型,否则将在运行时出现异常。 (√)

24. 类java.applet.Applet的方法getCodeBase()返回小应用程序所在的URL地址,方法getDocumentBase()返回的是小应用程序所作的HTML文件的URL地址。 (√) 25. 在HTML文件中,关键字CODEBASE可以用来设置小应用程序所作的路径,CODEBASE的属性值既可以是一个URL地址,也可以是相对于当前HTML文件的相对路径。 (√) 26. 小应用程序允许在网页中给小应用程序传递参数。在网页中可以设置多个参数,其格式为< PARAM NAME=\参数1\VALUE=\值1\NAME=\参数2\VALUE=\值2\NAME=\参数3\VALUE=\值3\。 (╳)

27. 要启动一个线程要调用java.lang.Thread的方法start。在运行完方法start之后,该线程就处于运行状态。 (╳)

28. 当执行到同步语句“synchronized(引用类型表达式)”的语句块时,引用类型表达式所指向的对象就会被锁住,不允许其他线程对其进行访问,即当前的线程独占该对象。(√)

1

29.方法notifyAll和notify都是类java.lang.Object的成员方法。调用notifyAll会激活所有处于等待态的线程。调用notify最多只能激活一个处于等待态的线程。 (√) 30. 对于数组int [][]t={{1,2,3},{4,5,6}}来说,t.length等于3,t[0].length等于2。(╳)

31. 由于Java源程序文件名与类名存在同名的约束关系,所以一个Java源程序文件最多只会包含一个类。 (╳) 二、选择题

1. 设HelloWorld.java的文件内容如下:

public class HelloWorld {

public static void Main(String args[]) {

System.out.println(“Hello World”); }

} //类HelloWorld结束 下面说法正确的是( )。(D)

A. 在控制台命令提示符下先运行命令“javac HelloWorld.java”,然后运行命令“java HelloWorld”,结果输出一行字符串“Hello World”。

B.在控制台命令提示符下先运行命令“javac HelloWorld”,然后运行命令“java HelloWorld.class”,结果输出一行字符串“Hello World”。

C. 在控制台命令提示符下先运行命令“javac HelloWorld.java”,然后运行命令“java HelloWorld.class”,结果输出一行字符串“Hello World”。 D. 以上答案都不对。

2. 在一个合法的Java源程序文件中定义了3个类,则其中属性为public的类可能有几个( )。 (A)

A.1 B. 2 C. 3 D. 4 3. 下面哪些选项不可以用作变量名的首字符( )? (C)

A. 字母 B. 下划线(_) C. 数字 D. 美元符号($) 4. 下面哪个单词是Java语言的关键字?( ) (B)

A. sizeof B. Abstract C. null D. String 5. 下面哪些单词是Java语言的关键字?( ) (B)

A. For B. for C. FOR D. True 6. 下面哪些单词是Java语言的关键字?( ) (D)

A. null B. false C. length D. instanceof 7. 下面哪个语句不会产生编译警告或错误?( ) (C)

A. float f=1.3; B. char c=”a”; C. byte b=25; D. boolean d=null; 8. 下面哪个赋值语句会产生编译错误?( ) (A)

A. float a=2.0; B. double b=2.0 C. int c=2; D. long d=2; 9. 下面哪条语句不可以通过编译?( ) (B)

2

A. float a=1; B. float b=1.0 C. float c=2e1f; D. float d=0x1234; 10. 设各个变量的定义如下,哪个选项的值为false?( ) (D)

int i=1;

float f=1.0f; double d=1.0; boolean b=true;

A. i==f; B. i==d; C. f==d; D. 2.1

int a=3; int b=1; if(a=b)

System.out.println(“a=”+a);

A. a=1 B. a=3 C. 编译错误,没有输出 D. 正常运行,但没有输出 12. 执行完下面程序片段后,哪个结论是正确的?( ) (B)

int a,b,c; a=1; b=2;

c=(a+b>3?a++:++b); A. a的值是2,b的值是3 B. a的值是1,b的值是3 C. a的值是1,b的值是2 D. c的值是false

18. 关于Java的垃圾回收机制,下面的结论正确的是( )。 (C) A.程序可以任意指定释放内存的时间。

B. 正确的程序写法是能依赖于垃圾回收的时间或者顺序。 C. 程序可以明确地标识某个局部变量的引用不再被使用。 D. 程序可以显式地立即释放对象占有的内存。

19. 下面哪个方法定义置于第8行将会导致编译错误?( ) (B)

(1). class Super (2). {

(3). public float getNum(){return 3.0f;} (4). }

(5). public class Sub extends Super (6). { (7). (8). } A.public float getNum(){return 4.0f;} B. public void getNum(){} C. public void getNum(double d){}

D. public double getNum(float d){return 4.0d;}

20. 关于下面的程序,哪个结论是正确的?( ) (A)

public class test {

static long m_index;

3

}

static int m_age;

public static void mb_setData(long n) {

m_index=n; }

public static void main(String []args) {

mb_setData(98);

System.out.println(\}

A. 程序可以通过编译并正常运行,结果输出“Index=98; Age=0”。 B. 程序可以通过编译并正常运行,结果输出“Index=0; Age=98”。 C. 程序可以通过编译并正常运行,结果输出“Index=0; Age=0”。 D. 程序无法通过编译。

21. 下面程序的输出是( )。 (C)

class J_Class {

static int m_data=0; }

class J_Test {

public static void main(String []args) {

J_Class a=new J_Class(); J_Class b=new J_Class(); a.m_data=1; b.m_data=2;

System.out.println(a.m_data); } }

A. 0 B.1 C. 2 D. 程序无法通过编译。

22. 要求设计一个类,它拥有一个特殊的数据成员,该数据成员必须能够被这个类的子类访问到,但不能被不在同一个包内的其他类访问到。下面哪个设计可以满足该要求?( ) (C)

A. 该数据成员的封装属性设置为public。 B. 该数据成员的封装属性设置为private。 C. 该数据成员的封装属性设置为protected。 D. 该数据成员不需要特殊的封装属性。

23. 假设在Java源程序文件“MyClass.java”中只含有一个类,而且这个类必须能够被位于一个庞大的软件系统中的所有Java类访问到,下面哪个声明有可能是符合要求的声明?( ) (D)

A. private class MyClass extends Object

4

B. public class myclass extends Object C. public class MyClass extends lang D. public class MyClass extends Object

24. 下面的程序代码会产生编译错误,应当如何修正?( ) (C)

public class test {

private int m_data=3;

public static void main(String args[]) {

System.out.println(m_data); } } A. 将“private int m_data”改为“protected int m_data”。 B. 将“private int m_data”改为“public int m_data”。 C. 将“private int m_data”改为“static int m_data”。 D. 将“private int m_data”改为“int m_data”。

25. 关于下面的程序,哪个结论是正确的?( ) (A)

public class test {

public static void main(String args[]) {

int sum=0;

for(int i=0;i<10;i++) sum+=i;

System.out.println(\ } } A. 程序无法通过编译。

B. 程序可以通过编译,但无法正常运行。 C. 运行程序可以输出“Sum(0..10)=45”。 D. 运行程序可以输出“Sum(0..9)=45”。

26. 下面哪个语句会发生变异错误?( ) (C)

A. int []a; B. int []b=new int[10]; C. int c[]=new int[]; D. int d[]=null; 27. 关于下面程序,哪个结论是正确的?( ) (D)

class test {

public static void main(String ars[]) {

int []a=new int[5];

boolean b[]=new boolean[5]; System.out.println(a[1]+b[2]); } }

5

A.程序可以通过编译并正常运行,结果输出“0false” B. 程序可以通过编译并正常运行,结果输出“1true” C. 程序可以通过编译并正常运行,结果输出“0” D. 程序无法通过编译

28. 下面哪个语句不含语法错误?( ) (A) A. String a[]={\B. String b[]={\C. String c[]=new String[5];

D. String d[]=new String[5]{\29. 下面哪个语句定义了5行5列的数组?( ) (C) A.int a[5][5]=new int[5][5]; B. int [5][5]b=new int[5][5]; C. int []c[]=new int[5][5]; D. int d[][]=new int[25];

30. 对于数组“int []a”,下面哪些语句可以输出数组a的元素个数?( ) (D) A.System.out.println(a.size); B. System.out.println(a.size()); C. System.out.println(a.length()); D. System.out.println(a.length);

31. 关于下面的代码,哪个结论是正确的?( ) (B)

String a=\String b=\String x=\String y=\String c=x+y; A.a和b指向同一个实例对象,a和c指向同一个实例对象。 B. a和b指向同一个实例对象,a和c不指向同一个实例对象。 C. a和b不指向同一个实例对象,a和c指向同一个实例对象。 D. a和b不指向同一个实例对象,a和c不指向同一个实例对象。 32. 下面哪个类最适合处理大数据量的文本文件?( ) (C) A. java.io.FileInputStream B. java.io.FileReader C. java.io.BufferedReader D. java.io.RandomAccessFile

33. 关于下面程序,哪个结论是正确的?已知该源程序的文件名是“J_Test.java”,其所在路径和当前路径都是“C:\\example”。 ( ) (C)

import java.io.File; class J_Test {

public static void main(String ars[]) {

File f=new File(\

6

System.out.println(f.getAbsolutePath()); } }

A.程序可以通过编译并正常运行,结果输出“J_Test.class” B. 程序可以通过编译并正常运行,结果输出“C:\\example”

C. 程序可以通过编译并正常运行,结果输出“C:\\example\\ J_Test.class” D. 程序无法通过编译或无法正常运行

34.下面哪个方法不是小应用程序类Applet的基本方法? ( ) (D) A. start() B. stop() C. init() D. kill() 35. 关于小应用程序执行过程的生命周期,下面哪个结论正确?( ) (D) A.当小应用程序从运行态进入停止态时,首先要调用的成员方法是pause()。 B. 当关闭正处于运行态的小应用程序时,首先要调用的成员方法是destroy()。 C. 当小应用程序从停止态进入运行态时,首先要调用的方法是paint()。 D.当关闭正处于停止态的小应用程序时,首先要调用的成员方法是destroy()。 36. 已知小应用程序的源程序文件名是“J_Test.java”,则下面哪个语句可以用在HTML文件中用来加载该小应用程序。( ) (A) A.

37. 实现了一个继承接口java.lang.Runnable的类需要实现如下的哪个方法?( )(B) A. start B. run C. wait D. paint 38. 已经声明了类“public class J_Test implements Runnable”,下面哪个语句启动该类型的线程?( ) (A)

A.Thread t=new Thread(new J_Test()); t.start(); B. J_Test t=new J_Test(); t.start(); C. J_Test t=new J_Test(); t.run(); D. new J_Test.start();

39. 已经声明了类“public class J_Test extends Thread”,下面哪个语句启动该类型的线程?( ) (B) A. new J_Test.run();

B. J_Test t=new J_Test(); t.start(); C. J_Test t=new J_Test(); t.run(); D. new J_Test.start();

40. 如果一个线程调用了方法sleep(),则类java.lang.Threaed的哪个方法可以唤醒该线程?( ) (D)

A.notify() B. resume() C. run() D. 以上都不对 41. Java语言中,负责并发管理的机制是( )。 (D)

A. 垃圾回收??? B. 虚拟机 C. 代码安全 D. 多线程

7

42.下列描述中,错误的是( )。 (A) A.Java要求编程者管理内存 B. Java的安全性体现在多个层次上 C. Applet要求在支持Java的浏览器上运行 D. Java有多线程机制

43. Java为移动设备提供的平台是( )。 (A)

A. J2ME?????? B. J2SE???????????? C. J2EE???????????D. JDK5.0 44. JDK中提供的文档生成器是( )。 (C)

A. java.exe???????B. javap.exe????????C. javadoc.exe?????D. javaprof.exe 45. 在Java语言中,不允许使用指针体现出的Java特性是( )。 (D) A. 可移植???????? B. 解释执行???????? C. 健壮性????????? D. 安全性 46. 下列方法中,不属于WindowListener接口的是( )。 (D)

A. windowOpened() B. windowClosed() C. windowActivated()? D. mouseDragged() 47. 下列语句中,属于多分支语句的是( )。 (B)

A. if语句????????? B. switch语句?????? C. do while语句??? D.for语句 48. 阅读下列代码

public class Test2005{

? public static void main(String args[]){ String s=″Test″; ??? Switch(s){

???????? case″Java″:System.out.print(″Java″); ???????? break;

???????? case″Language″:System.out.print(″Language″); ???????? break;

???????? case″Test″:System.out.print(″Test″); ???????? break; ?}}} 其运行结果是( )。 (C)

A. Java???????????? B. Language???????? C. Test???????????? D. 编译出错 49. 阅读下列代码

public class Test2005{

????? public static void main(String args[]){ ??????? System.out.println(~(0xa5)&0xaa); } } 其运行结果是( )。 (B)

A. 0xa5????????????B. 10?????????????C. 0x50???????????? D. 0xaa 50. 阅读下列代码

public class Test2005{

????? public static void main(String args[]){ ??????? System.out.println((3>2)?4:5);}??? } 其运行结果是( )。 (C)

A. 2??????????????? B. 3??????????????C. 4????????????? D. 5 51. 阅读下列代码

8

public class Test{

????? public static void main(String args[]){ ??????? System.out.println(89>>1);}??? }

其运行结果是( )。 (A)

A. 44?????????????? B. 45?????????????? C. 88?????????????? D.90 52. 在Applet中显示文字、图形等信息时,应使用的方法是( )。 (A) A. paint()????????? B. init()?????????? C. start()????????? D.destroy() 53. 线程生命周期中正确的状态是( )。 (C) A. 新建状态、运行状态和终止状态

B. 新建状态、运行状态、阻塞状态和终止状态

C. 新建状态、可运行状态、运行状态、阻塞状态和终止状态 D.新建状态、可运行状态、运行状态、恢复状态和终止状态 54. Thread类中能运行线程体的方法是( )。 (A)

A. start()????????? B. resume()???????? C. init()?????????? D.run() 55. 下列关于Applet的说法中,错误的是( )。 (C)

A. Applet自身不能运行,必须嵌入到其它应用程序(如浏览器)中运行。 B. 可以在安全策略的控制下读写本地磁盘文件。 C. Java中不支持向Applet传递参数。

D.Applet的主类要定义为java.applet.Applet类的子类。 56. 下列选项中,不是APPLET标记的是( )。 (C)

A. PARAM??????????? B. BODY???????????? C. CODEBASE???????? D.ALT 57. 在Java中,与数据库连接的技术是( )。 (B)

A. ODBC???????? B. JDBC C. 数据库厂家驱动程序? D.数据库厂家的连接协议 58. 下列命题中,错误的是( )。 (A) A. Java编程时,要求应尽量多用公共变量 B. Java编程时,要求应尽量少用公共变量 C. Java编程时,要求应尽量不用公共变量 D.Java编程时,要求应尽量使用私有变量

59. 若特快订单是一种订单,则特快订单类和订单类的关系是( )。 (B) A. 使用关系???????? B. 包含关系???????? C. 继承关系???????? D.无关系 60. 若数组a定义为int[][]a=new int[3][4],则a是( )。 (B)

A. 一维数组???????? B. 二维数组???????? C. 三维数组???????? D.四维数组 61. Java语言使用的字符码集是( )。 (D)

A. ASCII??????????? B. BCD????????????? C. DCB????????????? D.Unicode 62. 在程序读入字符文件时,能够以该文件作为直接参数的类是( )。 (A)

A. FileReader??????B. BufferedReader C. FileInputStream????D.ObjectInputStream 63. java.io包的File类是( )。 (D)

A. 字符流类???????? B. 字节流类???????? C. 对象流类???????? D.非流类 64. 下列描述中,正确的是( )。 (C)

9

A. 在Serializable接口中定义了抽象方法 B. 在Serializable接口中定义了常量

C. 在Serializable接口中没有定义抽象方法,也没有定义常量 D.在Serializable接口中定义了成员方法

65. 编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。 (B)

A. .java B. .class C. .html D. .exe 66. 设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( ) (A) A. 3 B. 3. 5 C. 4 D. 5

67. 在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( )方法来完成一些画图操作。 (D)

A. start( ) B. stop( ) C. init( ) D. paint( ) 68. 不允许作为类及类成员的访问控制符的是( )。 (C)

A. public B. private C. static D. protected 69. 为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。 (A)

A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 70. Java是一种(???)。 (A)

A.?面向对象的编程语言????????????????B.?数据库系统 C.?多任务操作系统????????????????????D.?网页描述标记语言 71. 下面说法正确的是( )。 (C)

A. Java程序的源文件名称与主类(公共类)的名称相同,后缀可以是java或txt等 B.JDK的编译命令是java

C.一个Java源程序编译后可能产生几个字节码文件

D.在命令行运行编译好的字节码文件,只需在命令行直接键入程序名即可运行该程序 72. 下面表达式的值的类型为( )。 (C) (short)8/9.2*5

A. short B. int C. double D. float 73. 以下选项中变量均已正确定义,合法的赋值语句是( )。 (B) A.a = = 1 B. ++i C. a = a + 1 = 5 D. y = int (i) 74. 定义主类的类头时可以使用的关键字是(C )。

A. abstract B. final C. public D. super

75. 定义一个类Point,类中有两个double型变量x和y,对于其构造函数的声明正确的是( )。 (D)

A. Point Point(int x){…} B. public Point (int x){…} C. public Point(int x,int y){…} D. public Point(Point p){…} 76. 下列变量定义错误的是( )。 (D)

10

A. int a; B. double b=4.5; C. boolean b=true; D.float f=9.8; 77. 下列数据类型的精度由高到低的顺序是( ): (B) A. float,double,int,long B. double,float,int,byte C. byte,long,double,float D. double,int,float,long 78. Unicode是一种( )。 (C)

A. 数据类型 B.java包 C. 字符编码 D.java类 下面的逻辑表达式中合法的是( )。 (C)

A. (7+8)&&(9-5) B. (9*5)||(9*7) C. 9>6&&8<10 D.(9%4)&&(8*3) 80. java语言中,占用32位存储空间的是( )。(D)

A. long,double B. long,float C. int,double D. int,float 81. 设int a=1,b=2,c=3,以下语句正确的是( )。 (D) c=c/float(a//b) B. c=c/((float a)/b) C. c=(float)c/(a/b) D. c= /(int)(a/(float)b) 82. 指出下列正确的语句( )。 (D)

A. byte i = 389; B. long lv = i*3+4.5; C. int x = 87L; D. long l = 10; 83. 指出下列类型转换中正确的是( )。 (A)

A. int i=’A’ B. long L=8.4f C. int i=(boolean)8.9 D.int i=8.3 84. 若所用变量都已正确定义,以下选项中,非法的表达式是( )。 (C) A. a != 4||b==1 B. 'a' % 3 C. 'a' = 1/2 D. 'A' + 32 85. 下列程序段执行后t1的结果是( )。 (B)

int x1 = 9, x2 = 6, t1; t1 = x1 > x2 ? x1 : x2;

A. 6 B. 9 C. 11 D. 3

86. 现有一变量声明为boolean aa;下面赋值语句中正确的是( )。(A) A.aa=false; B.aa=False; C.aa=\

87. 设有定义 int i=123; long j=456; 下面赋值不正确的语句是( )。(D) A. j=i; B. j=(long)i; C. i=(int)j; D. i=j; 88. 下列的变量定义中,错误的是( )。(D)

A. int i; B. int i=Integer.MAX_VALUE; C. static int i=100; D. int 123_$; 89. 以下的变量定义语句中,合法的是( )。(C) A. float $_*5= 3.4F; B. byte b1= 15678; C. double a =Double. MAX_VALUE; D. int _abc_ = 3721L; 90. 以下字符常量中不合法的是( )。(C)

A. '|' B. '\\' C. \我'

91. 在某个类中存在一个方法:void getSort(int x),以下能作为这个方法的重载的声明的是( )。 (C)

11

A.public getSort(float x) B.int getSort(int y) C.double getSort(int x,int y) D.void get(int x,int y)

92. 在某个类中存在一个方法:void sort(int x),以下不能作为这个方法的重载的声明的是( )。 (B)

A.public float sort(float x) B.int sort(int y) C.double sort(int x,int y) D.void sort(double y) 93. 为了区分类中重载的同名的不同方法,要求( )。 (A) A. 采用不同的形式参数列表 B. 返回值类型不同 C. 调用时用类名或对象名做前缀 D. 参数名不同 94. 定义类头时,不可能用到的关键字是( )。 (B)

A. class B.private C.extends D.public 95.下列类定义中,不正确的是( )。 (C)。 A. class x { .... } B. class x extends y { .... }

C. static class x implements y1,y2 { .... } D. public class x extends Applet { .... } 96. 下列类头定义中,错误的是( )。 (A) A.public x extends y {...} B. public class x extends y {...}

C.class x extends y implements y1 {...} D.class x {...}

97. 设 A为已定义的类名,下列声明A类的对象a的语句中正确的是( )。 ( D) A. float A a; B. public A a=A( ); C. A a=new int( ); D. static A a=new A( );

98. 设A为已定义的类名,下列声明A类的对象a的语句中正确的是( )。 (A) A. public A a=new A( ); B. public A a=A( ); C. A a=new class( ); D. a A;

99. 设 X 、Y 均为已定义的类名,下列声明类X的对象x1的语句中正确的是( )。 (C) A. public X x1= new Y( ); B. X x1= X ( ); C. X x1=new X( ); D. int X x1;

100. 设X 、Y为已定义的类名,下列声明X类的对象x1的语句中正确的是( )。 (A) A. static X x1; B. public X x1=new X(int 123); C. Y x1; D. X x1= X( );

101. 设i , j为类X中定义的int型变量名,下列X类的构造方法中不正确的是( )。 (A) A. void X(int k ){ i=k; } B. X(int k ){ i=k; } C. X(int m, int n ){ i=m; j=n; } D. X( ){i=0;j=0; }

102. 有一个类A,以下为其构造方法的声明,其中正确的是( )。 ( A ) A.public A(int x){...} B. static A(int x){...}

12

C.public a(int x){...} D. void A(int x){...}

103. 有一个类A,以下为其构造方法的声明,其中正确的是( )。 ( B ) A. void A(int x){...} B.A(int x){...} C. a(int x){...} D.void a(int x){...}

104. 设i、j、k为类X中定义的int型变量名,下列类X的构造方法中不正确的是()。 (B) A. X( int m){ ... } B. void X( int m){ ... } C. X( int m, int n){ ... } D. X( int h,int m,int n){ ... }

105. 设i , j为类X中定义的double型变量名,下列X类的构造方法中不正确的是()(A) A. double X(double k ){ i=k; return i; } B. X( ){i=6;j=8; } C. X(double m, double n ){ i=m; j=n; } D. X(double k ){ i=k; } 106. 设a , b为类MyClass中定义的int型变量名,下列MyClass类的构造方法中不正确的是( )。 (A)

A. double MyClass(double k ){ a=k; return a; } MyClass( ){a=6;b=8; }

C. MyClass (double m, double n ){ a=m; b=n; } D. MyClass (double k ){ a=k; }

107. 定义类头时,不可能用到的关键字是( )。 (A)

A.protected B. class C.extends D.public 108. 下列类头定义中,错误的是( )。 (A) A. public TestClass extends y {...} B. public class TestClass extends y {...}

C. class TestClass extends y implements y1 {...} D. class TestClass {...}

109. 设 B为已定义的类名,下列声明B类的对象b的语句中正确的是( )。 (D) A. float B b; B. public B b=B( ); C. B b=new int( ); D. static B b=new B( );

110.设 ClassA为已定义的类名,下列声明ClassA类的对象ca的语句中正确的是( )。 (A) A.public ClassA ca=new ClassA( ); B. public ClassA ca=ClassA( ); C. ClassA ca=new class( ); D. ca ClassA;

111. 设 A 、B 均为已定义的类名,下列声明类A的对象a1的语句中正确的是( )。 (C) A. public A a1= new B( ); B. A a1= A ( ); C. A a1=new A( ); D. int A a1;

112. 设A 、B为已定义的类名,下列声明A类的对象a1的语句中正确的是( )。 (A) A. static A a1; B. public A a1=new A(int 123); C. B a1; D. A a1= A( );

113. 设m , n为类A中定义的int型变量名,下列A类的构造方法中不正确的是( )。(A) A. void A(int k ){ m=k; } B. A(int k ){ m=k; } C. A(int m, int n ){m=i; n=j; } D. A( ){m=0;n=0; }

13

114. 有一个类Person,以下为其构造方法的声明,其中正确的是( A )。 A.public Person (int x){...} B.static Person (int x){...} C.public a(int x){...} D.void Person (int x){...}

115. 有一个类Student,以下为其构造方法的声明,其中正确的是( )。 ( B ) A.void Student (int x){...} B. Student (int x){...} C.s(int x){...} D.void s(int x){...}

116. 设i、j、k为类School中定义的int型变量名,下列类School的构造方法中不正确的是( )。 ( B )

A. School ( int m){ ... } B. void School ( int m){ ... } C. School ( int m, int n){ ... } D. School ( int h,int m,int n){ ... } 117. Java语言的类间的继承关系是( )。 ( B )

A. 多重的 B. 单重的 C. 线程的 D. 不能继承 118. 以下关于Java语言继承的说法正确的是( )。 (C) A.Java中的类可以有多个直接父类 B.抽象类不能有子类

C.Java中的接口支持多继承 D.最终类可以作为其它类的父类 119. 现有两个类A、B,以下描述中表示B继承自A的是( )。 (D) A. class A extends B B. class B implements A C. class A implements B D. class B extends A 120. 下列选项中,用于定义接口的关键字是( )。 (A)

A. interface B. implements C. abstract D. class 121. 下列选项中,用于实现接口的关键字是( )。 (B)

A. interface B. implements C. abstract D. class 122. Java语言的类间的继承的关键字是( )。 (B)

A. implements B. extends C. class D. public 123. 以下关于Java语言继承的说法错误的是( )。 (A) A.Java中的类可以有多个直接父类 B.抽象类可以有子类

C.Java中的接口支持多继承 D.最终类不可以作为其它类的父类 124. 现有两个类M、N,以下描述中表示N继承自M的是( )。 (D) A. class M extends N B. class N implements M C. class M implements N D. class N extends M

125. 现有类A和接口B,以下描述中表示类A实现接口B的语句是( )。 (A) A. class A implements B B. class B implements A C. class A extends B D. class B extends A 126. 下列选项中,定义抽象类的关键字是( )。 (C)

A. interface B. implements C. abstract D. class 127. 下列选项中,定义最终类的关键字是( )。 (D)

A. interface B. implements C. abstract D. final 128. 下列选项中,哪个是java语言所有类的父类( )。 (C)

14

A. String B. Vector C. Object D. KeyEvent 129. Java语言中,用于判断某个对象是否是某个类的实例的运算符是( )。 (A) A. instanceof B. + C. isinstance D. &&

130. 下列选项中,表示数据或方法可以被同一包中的任何类或它的子类访问,即使子类在不同的包中也可以的修饰符是( )。 (B)

A. public B. protected C. private D. final 131. 下列选项中,表示数据或方法只能被本类访问的修饰符是( )。 (C) A. public B. protected C. private D. final 132. 下列选项中,接口中方法的默认可见性修饰符是( )。 (A) A. public B. protected C. private D. final 133. 下列选项中,表示终极方法的修饰符是( )。 (B)

A. interface B. final C. abstract D. implements 134. 下列选项中,定义接口MyInterface的语句正确的是( )。 (A) A. interface MyInterface{ } B. implements MyInterface { } C. class MyInterface{ } D. implements interface My{ }

135. 如果子类中的方法mymethod()覆盖了父类中的方法mymethod(),假设父类方法头部定义如下:void mymethod(int a),则子类方法的定义不合法的是( )。 (C) A. public void mymethod(int a) B. protected void mymethod(int a) C. private void mymethod(int a) D. void mymethod(int a) 三、填空题

1. Java程序可分为两种基本的类型,分别是 和 。 (应用程序;小应用程序 或 Application;Applet)

2. Java语言通过 机制简化了程序的内存管理。 (垃圾回收)

3. 设有一个Java应用程序,其源程序文件名为J_Test.java,则编译该源程序的命令为 ,运行该应用程序的命令为 。 (javac J_Test.java;java J_Test)

4. 编写小应用程序一般需要编写两种类型的文件,分别是 和 。 (Java源程序文件;HTML文件)

5. 面向对象的计算机语言一般具有3个基本特性,分别是 、 和 。(封装性、继承性和多态性)

6. 类System的三个成员域 、 和 分别指向标准输入流、标准输出流和标准错误输出流。(in、out、err)

7. 在创建java.io.RandomAccessFile实例对象时,所有可能的文件访问模式有 、 、“rws”和“rwd”。

8. 一个类要具有可序列化的特性一般就必须实现接口 。对于可以序列化的对象可以用 来输出该对象,而且可以用 来读入该对象。(java.io.Serializable、java.io.ObjectOutputStream、java.io.ObjectInputStream) 9. 小应用程序界面的宽度和高度一般在 文件中指定。在该类型文件中,用来指定

15

小应用程序界面的宽度和高度的关键字分别是 和 。 (HTML;WIDTH;HEIGHT) 10. 小应用程序的源程序和HTML文件之间有时需要传递参数。如果在HTML文件中需要设置参数名为\、参数值为\的参数,则在HTML文件中的对应语句可以是 。在小应用程序的源程序中取得该参数的值的语句可以是 。 (

13.通过类MyClass中的不含参数的构造方法,生成该类的一个对象obj,可通过以下语句实现: _______________________________。 (MyClass obj=new MyClass( );)

14.通过类A中的不含参数的构造方法,生成该类的一个对象a,可通过以下语句实现: _________。 (A a=new A( );)

15. 构件不能独立地显示出来,必须将构件放在一定的?_________(容器)中才能显示。 16. 能将显示空间分成很多层的布局管理器是_________(CardLayout)。

17. Applet是能够嵌入到?_________ (HTML)格式的文件中,并能够在浏览器中运行的Java。 18. 键盘键入字符串并在计算机屏幕上显示,这时的数据源是_________ (键盘)。 20. 任何一个Java程序都默认引入了一个包,这个包的名字叫java. _________ (lang)。 21. Java语言中,有一个类是所有类或接口的父类,这个类的名称是_________ (Object)。 22. 如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是Applet 类的子类并且存储该源程序文件的文件名为 MyApplet.java 。 23. 如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译 器 JAVAC.EXE 编译该源程序文件将产生 3个文件名与类名相同而扩展名为 .class的字节码文件。

24. 在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占 用 2 字节内存空间,这样,无论是中文字符还是英文字符,都是占用 2 字节内存空间。 25. 设 x = 2 ,则表达式 ( x + + )/3 的值是 0 。

26. 若x = 5,y = 10,则x < y和x >= y的逻辑值分别为 true 和 false 。 27. abstract(抽象) 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。 final 方法是不能被当前类的子类重新定义的方法。

28. 创建一个名为 MyPackage 的包的语句是 package MyPackage; ,该语句应该放在程序的位置为: 应该在第一句 。

29. 设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是 120 。

int s = 0 ;

for ( int i = 0 ; i < MyIntArray.length ; i + + )

if ( i % 2 = = 1 ) s += MyIntArray[i] ; System.out.println( s );

16

30. 在Java程序中,通过类的定义只能实现 单 重继承,但通过接口的定义可以实现 多 重继承关系。

31. Java小应用程序在网络浏览器中运行,它的设计思想与独立应用程序(Application)不同,小应用程序是通过继承?????????????????????类来构造编写。 32. 代码执行完后的输出是_________。(答案:b is:false)

int x=3; int y=4;

boolean b=true;

System.out.println(\

33. 定义双精度浮点型常量PI,值为3.1415926的语句:_______________________。 (答案: final double PI=3.1415926)

34. Java语言中,逻辑常量只有true 和 ___________ 两个值。(答案:false) 35. 表达式1/2*3的计算结果是_________。(答案:0)

36. Java中的字符使用的是 16 位的________________ 编码。(答案:Unicode) 37. 当整型变量n的值不能被13除尽时,其值为 false 的Java语言表达式是_____________ 。 (答案:(n%3= =0)?true:false)

38.如果Double类提供了方法parseDouble,把一个字符串转变成一个double;而Integer类提供了方法parseInt,把一个字符串转变成一个int,则Float类可能提供 parseFloat 方法,把一个字符串转换成一个float。

39. 同一个类中多个方法具有相同的方法名,不同的_____________称为方法的重载。(参数列表)

40. 下面是一个类的定义,请完成程序填空。(Myclass int j)

public class ____________ {

int x, y;

Myclass ( int i, _______) // 构造方法 {

x=i; y=j; } } 41. 下面是一个类的定义,请将其补充完整。(Student String)

class _____ {

String name; int age;

Student( _____ s, int i) {

name=s; age=i; } } 42. 下面是一个类的定义,请将其补充完整。(myclass static)

17

class ____________ // 定义名为myclass的类 {

__________ int var=666; static int getvar() { return var; } }

43. 下面程序的功能是通过调用方法max()求给定的三个数的最大值, 请将其补充完整。(max(i1,i2,i3) static)

public class Class1 {

public static void main( String args[] ) {

int i1=1234,i2=456,i3=-987; int MaxValue;

MaxValue=____________;

System.out.println(\三个数的最大值:\ }

public ______ int max(int x,int y,int z) { int temp1,max_value; temp1=x>y?x:y;

max_value=temp1>z?temp1:z; return max_value; } } 44. 下面是一个类的定义,请将其补充完整。(class static)

___________ A { String s;

_____ int a=666;

A(String s1) { s=s1; }

static int geta( ) { return a; } } 45.下面是一个类的定义,请完成程序填空。(Room int n)

public class ____________ {

int a, b;

Room ( int m, _______) // 构造方法 {

a=m; b=n; } } 46. 下面是一个类的定义,请将其补充完整。(class String)

_____ Teacher {

String name; int age;

18

Teacher ( _____ s, int i) {

name=s; age=i; } }

47.下面是一个类的定义,请将其补充完整。(Desk static)

class ____________ // 定义名为Desk的类 {

__________ int var=666; static int getvar() { return var; } }

48. 下面程序的功能是通过调用方法max()求给定的二个整数的最大值, 请将其补充完整。(max(a1,a2) int)

public class Class1 {

public static void main( String args[] ) {

int a1=1234,a2=456; int MaxValue;

MaxValue=____________;

System.out.println(\二个数的最大值:\ }

public static ______ max(int x,int y) { int max_value;

max_value =x>y?x:y; return max_value; } } 49. 下面是一个类的定义,请将其补充完整。(class static)

______ Bank { String s;

_____ int a=666;

Bank(String s1) { s=s1; }

static int geta( ) { return a; } }

50. 如果子类中的某个变量的变量名与它的父类中的某个变量完全一样,则称子类中的这个变量________了父类的同名变量。(隐藏)

51. 属性的隐藏是指子类重新定义从父类继承来的__________。(同名变量或属性) 52. 如果子类中的某个方法的名字、返回值类型和________与它的父类中的某个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。(参数列表) 53. Java 仅支持类间的____重继承。(单重)

54. 抽象方法只有方法头,没有________。 (方法体)

19

55. Java 语言的接口是特殊的类,其中包含______常量和_______方法。(static(静态) ; abstract(抽象))

56. 接口中所有属性均为_________、_________和________的。 (public、static、final)

57. 如果接口中定义了一个方法methodA(),一个属性attA,那么一个类ClassA要实现这个接口的话,就必须实现其中的_______方法。(methodA())

58.一个类如果实现一个接口,那么它就必须实现接口中定义的所有方法,否则该类就必须定义成________的。(抽象的)

59. 如果子类中的某个方法的名字、__________和参数列表与它的父类中的某个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。(返回值类型)

60. Java 仅支持类间的单重继承,接口可以弥补这个缺陷,支持_____重继承(多重) 61. 在方法头用abstract修饰符进行修饰的方法叫做________方法。(抽象) 62. Java语言中用于表示类间继承的关键字是___________。(extends) 63. 接口中所有方法均为________和________的。 (public、abstract) 64. Java语言中,表示一个类不能再被继承的关键字是________。(final)

65. Java语言中,表示一个类A继承自父类B,并实现接口C的语句是_________________。 (class A extends B implements C)。

66. 如果子类中的方法compute()覆盖了父类中的方法compute(),假设父类的compute()方法头部有可见性修饰符public,则methodS()的可见性修饰符必须是__________。(public)

67.下面是一个类的定义,完成程序填空。(Youwrite this.x=x;)

public class Youwrite { int x;

_______( ) {x=0;}

Youwrite ( int x) { _____; } } 68.下面是定义一个接口ITF的程序,完成程序填空。

(interface abstract )

public _______ ITF {

public static final double PI=Math.PI;

public ______ double area(double a, double b); } 69.下面是定义一个接口A的程序,完成程序填空。(final ”;” )

public interface A {

public static _______ double PI=3.14159;

public abstract double area(double a, double b)_____ }

20

70.要调用java.io.InputStream的read或close方法,必须处理异常。该异常具体类型是 ,它的直接父类是 。(java.io.IOException; java.lang.Exception)

21

本文来源:https://www.bwwdw.com/article/btqo.html

Top