文档库 最新最全的文档下载
当前位置:文档库 › JAVA复习题

JAVA复习题

JAVA复习题
JAVA复习题

注意Java中是大小写敏感的,请注意大小写的使用!!

一、判断题:

1.Java语言不含有指针与析构方法,所以Java程序只有在结束运行时才能释放所占用的内存。(╳)

2. Java语言是不区分大小写的。(╳)

3. Java程序都应当含有main方法,因为它是所有Java程序执行的入口。(╳)

4. 作为Java程序入口的main方法,其声明可以写成“public static void main(String s[])”,也可以写成”public static void main(String [] s)。(√)

5. 在Java语言中,每个ASCII码英文字符占用8个二进制位,而每个中文汉字字符则占用16个二进制位。(╳)

6. 判断该语句是否正确: b=9a+2; (╳)

7. 在Java语言中,每个ASCII码英文字符占用8个二进制位,而每个中文汉字字符则占用16个二进制位。(╳)

8. Java语言为所有的Java程序自动导入包“https://www.wendangku.net/doc/9314951944.html,ng”,因此Java程序可以直接用“https://www.wendangku.net/doc/9314951944.html,ng”中的类和接口。位于类继承关系层次结构树的根部的类Object就是包“https://www.wendangku.net/doc/9314951944.html,ng”中的一个类。(√)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. 小应用程序允许在网页中给小应用程序传递参数。在网页中可以设置多个参数,其格式为。(╳)27. 要启动一个线程要调用https://www.wendangku.net/doc/9314951944.html,ng.Thread的方法start。在运行完方法start之后,该线程就处于运行状态。(╳)

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

29.方法notifyAll和notify都是类https://www.wendangku.net/doc/9314951944.html,ng.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)

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

11. 下面程序片段输出的是()。(C)

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

13. 对于下面的源程序,哪些选项的结论是正确的?()(C)

class test

{

public static int mb_isodd(int x)

{

return(x % 2);

}

public static void main(String []args)

{

if(mb_isodd(3))

System.out.println("3 is odd.");

else

System.out.println("3 is even.");

}

}

A.程序输出“3 is odd.” B. 程序输出“3 is even.”

C. 程序无法通过编译

D. 程序可以通过编译,但无法正常运行

14. 对于下面的程序,哪个选项的结论是正确的?()(B)

class test

{

public static void main(String []args)

{

int x=2;

int y=2;

if(++x==y++)

System.out.println("x=y");

else

System.out.println("x!=y");

}

}

A.程序输出“x=y” B. 程序输出“x!=y”

C. 程序无法通过编译

D. 程序可以通过编译,但无法正常运行

15. 针对下面的程序,哪些结论是正确的()? (D)

int i=0,j=9;

do

{

if(i++>--j)

break;

}while(i<4);

System.out.println("i="+i+" and j="+j);

A. i=4 and j=4 B. i=5 and j=5 C. i=5 and j=4 D. i=4 and j=5 16. 关于下面的程序,哪个结论是正确的?()(C)

public class test

{

public test()

{

System.out.println("2");

}

public static void main(String []args)

{

test t=new test();

t.test();

System.out.println("1");

}

}

A.程序可以通过编译并正常运行,结果输出“21”

B.程序可以通过编译并正常运行,结果输出“221”

C.程序无法通过编译

D.程序可以通过编译,但无法正常运行

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

class test_sub extends test

{

}

public class test

{

test(int i)

{

System.out.println(i);

}

public static void main(String []args)

{

test_sub t=new test_sub();

}

}

A.不能通过编译,因为类test没有定义无参数的构造方法。

B.不能通过编译,因为类test_sub没有定义无参数的构造方法。

C.不能通过编译,因为没有实现test_sub(int i)构造方法。

D.可以成功通过编译。

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;

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("Index="+m_index+" ; Age="+m_age);

}

}

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

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("Sum(0.."+i+")="+sum);

}

}

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]);

}

}

A.程序可以通过编译并正常运行,结果输出“0false”

B. 程序可以通过编译并正常运行,结果输出“1true”

C. 程序可以通过编译并正常运行,结果输出“0”

D. 程序无法通过编译

28. 下面哪个语句不含语法错误?()(A)

A. String a[]={"1","2","3","4",null};

B. String b[]={"1","2","3","4",'c'};

C. String c[]=new String[5];

D. String d[]=new String[5]{"1","2","3","4","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="java";

String b="java";

String x="ja";

String y="va";

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("J_Test.class");

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.

B.

C.

D.

37. 实现了一个继承接口https://www.wendangku.net/doc/9314951944.html,ng.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(),则类https://www.wendangku.net/doc/9314951944.html,ng.Threaed的哪个方法可以唤醒该线程?()(D)

A.notify() B. resume() C. run() D. 以上都不对

41. Java语言中,负责并发管理的机制是()。(D)

A. 垃圾回收

B. 虚拟机

C. 代码安全

D. 多线程

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.o ut.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. 阅读下列代码

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)

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)

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="true";

D.aa=0;

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. "\n"

D. '我'

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

(C)

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){...}

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; }

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)

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. 小应用程序界面的宽度和高度一般在文件中指定。在该类型文件中,用来指定小应用程序界面的宽度和高度的关键字分别是和。(HTML;WIDTH;HEIGHT)

10. 小应用程序的源程序和HTML文件之间有时需要传递参数。如果在HTML文件中需要设置参数名为"TestPara" 、参数值为"TestValue"的参数,则在HTML文件中的对应语句可以是

。在小应用程序的源程序中取得该参数的值的语句可以是。

(、getParameter("TestValue");)、

11. 如果一个Java程序既是应用程序,又是小应用程序,那么它必定含有类的子类,同时含有成员方法。(java.applet.Applet、 main)

12. 在类https://www.wendangku.net/doc/9314951944.html,ng.Thread的成员方法中,方法用来启动线程,线程在程序执行时的代码被封装于方法中。(strat、run)

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 );

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

31. Java小应用程序在网络浏览器中运行,它的设计思想与独立应用程序(Application)不同,小应用程序是通过继承类来构造编写。

32. 代码执行完后的输出是_________。(答案:b is:false)

int x=3;

int y=4;

boolean b=true;

System.out.println("b is:"+(b==(y

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)

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("三个数的最大值:"+MaxValue);

}

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;

Teacher ( _____ s, int i)

{

name=s;

age=i;

}

}

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

class ____________ // 定义名为Desk的类

{

__________ int var=666;

static int getvar()

{ return var; }

}

JAVA期末考试试卷

天津城市建设学院2007~2008学年第二学期 《 java 语言程序设计A 》 试题A 卷 课程号:073101-0 试卷说明:闭卷考试,时间120分钟。 一、 填空(本题共15空,每空2分,共30分) 1.如果一个java 源程序文件中定义有4个类,使用sun 公司的JDK 编译器javac 编译该源程序文件将产生_____4___个文件名与类名相同扩展名为___.Class_____的字节码文件。 2.Java 中所有类都是类 __Object__的子类。 3.请填出在java .lang 包中与下列基本数据类型相对应的封装类: float :java .lang .Float , char : _ java .Lang.char_______, boolean : ___ java .Lang.boolean_____。 4.被关键字____final______修饰的方法是不能被当前类的子类重新定义的方法 5.线程的四种状态是__新建_____ 、_运行_ 、_中断 、__死亡___。 6.java 语言中__https://www.wendangku.net/doc/9314951944.html,ng.Objet ___是所有类的根。 7.Swing 的事件处理机制包括__事件的监听者__、事件和事件处理者。 8.URL_____Uniform Resourse Locator_____是的缩写。 9.java 有两类应用程序java Application 和____java 10.转义字符以___\__开头。 二、选择(本题共20小题,每题2分,共40分) 1.欲构造ArrayList 类的一个实例,此类继承了List 接口,下列哪个方法是正确的 ? ( B ) A 、 ArrayList myList=new Object (); B 、 List myList=new ArrayList (); C 、 ArrayList myList=new List (); D 、 List myList=new List (); 2.paint()方法使用哪种类型的参数? ( A ) A 、 Graphics B 、 Graphics2D C 、 String D 、 Color 3.指出正确的表达式 ( C ) A 、 byte=128; B 、 Boolean=null; C 、 long l=0xfffL; D 、 double=0.9239d; 4.指出下列程序运行的结果 ( B ) public class Example{ String str=new String("good"); char[]ch={'a','b','c'}; public static void main(String args[]){ Example ex=new Example(); ex .change(ex .str,ex .ch); System .out .print(ex .str+" and "); Sytem .out .print(ex .ch); } public void change(String str,char ch[]){ str="test ok"; ch[0]='g'; } } B 、 good and abc B 、 good and gbc C 、test ok and abc D 、 test ok and gbc 5.运行下列程序, 会产生什么结果 ( A )

JAVA复习题库及答案

第一题单项选择题 1、在下列说法中,选出最正确的一项是(A )。 A、Java 语言是以类为程序的基本单位的 B、Java 语言是不区分大小写的 C、多行注释语句必须以//开始 D、在Java 语言中,类的源文件名和该类名可以不相同 2、下列选项中不属于Java 虚拟机的执行特点的一项是(D )。 A、异常处理 B、多线程 C、动态链接 D、简单易学 3、下列选项中,属丁JVM 执行过程中的特点的一项是( C )。 A、编译执行 B、多进程 C、异常处理 D、静态链接 4、在Java 语言中,那一个是最基本的元素?( C ) A、方法 B、包 C、对象 D、接口 5、如果有2 个类A 和B,A 类基于B 类,则下列描述中正确的一个是( B )。 A、这2 个类都是子类或者超类 B、A 是B 超类的子类 C、B 是A 超类的子类 D、这2 个类郡是对方的子类 6、使用如下哪个保留字可以使只有在定义该类的包中的其他类才能访问该类?(D ) A、abstract B、private (本类) C、protected(本包及其他包的子类) D、不使用保留字 7、编译一个定义了3 个类的Java 源文件后,会产生多少个字符码文件,扩展名是什么?(D ) A、13 个字节码文件,扩展名是.class B、1 个字节码文件,扩展名是.class C、3 个字节码文件,扩展名是.java D、3 个字节码文件,扩展名是.class 8、下列关于Java 程序结构的描述中,不正确的一项是( C )。 A、一个Java 源文件中可以包括一个package 语句 B、一个Java 源文件中可以包括多个类定义,但是只能有一个public 类 C、一个Java 源文件中可以有多个public 类 D、源文件名与程序类名必须一致 9、下列说法正确的一项是( C )。 A、java.1ang.Integer 是接口 B、java.1ang.Runnable 是类 C、Doulble 对象在iava.1ang 包中 D、Double 对象在java.1ang.Object 包中 10、以下关于面向对象概念的描述中,不正确的一项是( B )。 A、在现实生活中,对象是指客观世界的实体

java模拟试题附答案(一)

scjp模拟试题(一) Question No: 1 1.public class test ( 2. public static void main (String args[]) { 3. int i = 0xFFFFFFF1; 4. int j = ~i; 5. 6. } 7. ) What is the decimal value of j at line 5? A. 0 B. 1 C. 14 D. –15 E. An error at line 3 causes compilation to fail. F. An error at line 4 causes compilation to fail. 答案: C Question No: 2 Given: Integer i = new Integer (42); Long 1 = new Long (42); Double d = new Double (42.0); Which two expressions evaluate to True? (Choose Two) A. (i ==1) B. (i == d) C. (d == 1) D. (i.equals (d))

E. (d.equals (i)) F. (i.equals (42)) 答案: D, E Question No: 3 Exhibit : 1. public class test ( 2. private static int j = 0; 3. 4. private static boolean methodB(int k) ( 5. j += k; 6. return true; 6. ) 7. 8. public static void methodA(int i) { 9. boolean b: 10. b = i < 10 | methodB (4); 11. b = i < 10 || methodB (8); 12. } 13. 14. public static void main (String args[] ) ( 15. methodA (0); 16. system.out.printIn(j); 17. ) 18. ) What is the result? A. The program prints “0” B. The program prints “4” C. The program prints “8”

JAVA复习题 有答案

复习题 一、选择题 1、下列Java标志符中合法的是:() A H3_sum B -name C student# D 9_Hello123 2.Java源文件和编译后的文件扩展名分别为() A. .class和.java B. .java和.class C. .class和.class D. .java和.java 3.对于同一消息,对象可以产生不同的行为,这称为类的什么特性?()A)继承性B)封装性C)多态性D)抽象性 4、用来引入包语句的关键词是:() A)import B)abstract C)package D)extends 5.对于小程序,当离开包含Applet的主页后又再返回时将调用()方法。A)start( ) B)init( ) C)destroy( ) D)stop( ) 6.下列对Java中的继承描述错误的说法是() A.子类只能有一个父类 B.子类可作为另一个子类的父类 C.子类可以访问父类的私有属性 D.子类继承父类的方法访问权限保持不变 7.哪种循环在条件表达式被计算之前至少执行循环体语句一次?( ) A)do-while循环B)for循环C)while循环D)以上都不是 8.定义数组String[] a={"ab","abc","abcd","abcde"},数组中a[1]指的是()。 A.ab B.abc C.abcde D.数组越界 9.如果希望组件从左往右,从上到下自动布局界面,应使用哪种布局?()A)没有B)BorderLayout C)FlowLayout D)GridLayout 10.下列说法正确的是() A. 最终类在特殊情况下可以有子类 B. 抽象类只能有一个子类 C. 多态可以通过方法重写和方法重载实现 D. 抽象类不可以声明成员变量和成员方法,只能声明抽象方法 11.下列语句中访问类的方法正确的是:() A)https://www.wendangku.net/doc/9314951944.html, B)https://www.wendangku.net/doc/9314951944.html,( ) C)book->name D)book_name 12.下列选项中哪个是类Pen的构造方法() A)public void Pen() {} B)public static Pen() {} C)public Pen() {} D)public static void Pen() {} 13.单击菜单触发的事件是?() A. ActionEvent B.ItemEvent C.MouseEvent D. KeyEvent 14.关于try/catch/finally结构的异常捕获和处理,说法错误的是()A)try部分是必须的B)catch部分也是必须的 C)可以有多个catch部分D)finally部分也是必须的

JAVA期末试题及答案

Java 程序设计》课程试卷 1.使用 Java 语言编写的源程序保存时的文件扩展名是( )。 (A ) .class ( B ) .java C ) .cpp ( D ) .txt 2.设 int a=-2 ,则表达式 a>>>3 的值为( )。 (A ) 0 (B )3 (C ) 8 (D )-1 3.设有数组的定义 int[] a = new int[3] ,则下面对数组元素的引用错误的是( ) ( A )a[0]; ( B ) a[a.length-1]; (C )a[3]; (D )int i=1 ; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数( )。 (A )封装 (B )继承 (C )覆盖 (D )重载 5.在类的定义中构造函数的作用是( )。 (A )保护成员变量 (B )读取类的成员变量 (C )描述类的特征 (D )初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句( )。 ( A ) try ( B ) break ( C ) catch ( D ) finally 7.类与对象的关系是( )。 (A )类是对象的抽象 (B )对象是类的抽象 15. Java 语言使用的字符码集是 (A) ASCII (B) BCD (C) DCB 16. 如果一个类的成员变量 (A) public (B) (C 对象是类的子类 (D )类是对象的具体实例 )。 8.下面哪一个是 Java 中不合法的标识符( ( A )$persons ( B ) twoNum ( C )_myVar ( D )*point 9.为 AB 类的一个无形式参数无返回值的方法 ( ) 。 ( A ) static void method( ) ( B ) public void method( ) ( C ) final void method( ) ( D ) abstract void method( ) 10.欲构造 ArrayList 类的一个实例,此类继承了 ( A ) ArrayList myList=new Object( ) ( B ) List myList=new ArrayList( ) ( C ) ArrayList myList=new List( ) ( D ) List myList=new List( ) 11. Java 源文件和编译后的文件扩展名分别为( (A) .class 和 .java (C).class 和 .class 12. 在 Java Applet 程序用户自定义的 (A) start( ) (B) stop( ) (C) init( ) 13. 对于一个 Java 源文件, (A) package,import,class (C) import,package,class 14. 下面哪个是非法的: (A) int I = 32; (C) double d = 45.0; method 书写方法头,使得使用类名 List 接口,下列哪个方法是正确的( ) ( B).java 和 .class (D) .java 和 .java Applet 子类中,一般需要重载父类的 (D) paint( ) import, class (B) class,import,package (D) package,class,import ( ) 定义以及 package 正确的顺序是: (B) float f = 45.0; (D) char c = // 符号错 AB 作为前缀就可以调用它,该方法头的形式为 方法来完成一些画图操作。 (D) Unicode 只能 在所在类中使用 则该成员变量必须使用的修饰是

Java复习题

1.已定义a为int类型的变量。以下选项中,合法的赋值语句是( B )。 A) a +1==2; B) a+=a*6; C) a=8.8f; D) int a=8; A、不是赋值语句,中间是双等号,是比较;如果改成等号那么表达方式属于非法 C、不能把实数直接给整型变量,要强制转换(int)8.8f D、重复定义 2.Java程序有哪两类? 应用程序(Application)和小应用程序(Applet) 3.为了使包sos中的所有公共类在当前程序中可见,可以使用的语句是( A )。 A)import sos.*; B)package sos.*; C)sos import; D)sos package; 显然需要进行导入,所以使用import,C选项非法。 4.下列的变量定义中,错误的是( A)。 A) int 6_a; B) float a; C) int i=Integer.MAX_VALUE; D) static int i=100; 标识符的合法原则:字母(包括汉字),数字,_和$这四种组成,但是不能以数字开头。 5.下列的变量定义中,正确的是(D)。 A) boolean b1=”true”; B) float x=6.6; C) byte i=200; D) double y; A、不应该加双引号 B、6.6默认是double类型,不能直接在这里使用,应该用6.6f,C、200超出范围(-127~128) 6.以下字符常量中不合法的是(D)。 A) '|' B) '\'' C) '\n' D) "我" D是字符串。 7. Java源程序要运行必须经过(编译)和(运行)两个阶段。 8. Java编译器将Java语言编写的源程序编译成(字节码)文件。 9. 下列程序段执行后c的结果是(B )。 int a = 9, b = 11, c; c= a != b ? a+b : a-b; A) –2 B) 20 C) 11 D) 9 10. 对于一个三位的正整数n=789,以下结果为8的是(D)。 A) n/10%2 B) (n-n%10)/100 C) n%10 D) n%100/10 11. 有一声明语句为boolean t;下面赋值语句中t的值为false的是(D )。 A)t=5>3; B)t=!false; C)t=(true|false); D)t=(2==3)?true:false; 12. 设 i, j, k, m为已赋值的 int 型变量,下列表达式的结果属于逻辑值的是( A)。 A) i==k & j+k >=m B) i+k C) m++ D) m=i+j 13. 若有定义int x = 13;则执行完语句x %= 8; 后,x的值是(C )。 A) 0 B) 1 C) 5 D) 8 14. 若有定义int a = 2;则执行完语句 a -= a * a; 后,a的值是( C)。 A) 0 B) 4 C) -2 D) –4 15. 下列程序段执行后 b3 的结果是(D)。 boolean b1=true, b2=true, b3; b3= !b1 ? b1 :!b2; A) 0 B) 1 C) true D) false 16. 与以前的结构化程序设计不同,Java是一种完全(面向对象),而且平台(中立)的语言,而后者又使得用Java编写出来的程序具有(可移植)性。 17.面向对象程序设计的三个特性是(继承)、(封装)和(多态)。 18. 执行下面程序段后,b, x, y的值分别是( D)。 int x=6,y=8; boolean b;

java模拟试卷3与答案

复习题 3 一、选择题 1. JDK 提供的编译器是(B)。 (A ) java.exe(B ) javac.exe (C) javap.exe( D) javaw.exe 2.以下作为 Java 程序入口的 main 方法声明正确的( C)。 (A ) public void main(String args[]) (B ) public int main(String args[]) (C) public static void main(String args[]) (D ) public static int main(String args[]) 3.以下标识符错误的是( C )。 (A )Public( B)张三( C) class(D ) main 4.java 中定义字符串 String s= ”pzhu”,下面操作可以取得字符串长度的是( A )。 (A ) s.length()( B) s.length( C)s.size()( D) length(s) 5.如下定义数组,操作正确的是(D)。 int a[]={1,2,3}; (A ) a[3]=100(B ) a[0].length( C)a++( D) a.length 6.如下定义二维数组操作错误的是()。 int a[][]={{1,2},{3}}; (A ) a[0][1]=200( B) a[0].length( C) a[1][1]=100( D) a.length 7. 以下数据类型存储空间最大的是(B)。 (A ) byte( B) long(C) float(D ) char 8. 面向对象的三大特性,不包括如下( A)。 (A )异常( B)封装(C)继承(D )多态 9、关于类的定义以下说法错误(B)。 (A )类定义使用class 关键字( B)每个类中必须有一个main 方法 (C)一个包可以包含多个类( D) java 中所有类都是Object 类的子类 10. 关于构造方法以下说法错误的是(D)。 (A)构造方法名必须与类名一致(B)构造方法可以重载 (C)构造方法是通过new 来调用(D)每个类都必须编写构造方法代码 11.关于继承如下说法错误的是(C)。 (A) Java 是单继承的(B)通过extends 来定义继承 (C)所有父类方法都可以被override的(D)继承呈现的是 is a 的关系 12.以下代码执行的结果是 ( C )。 System.out.println(" 攀枝花学院 pzhu".length()); (A)编译错误(B)运行错误(C) 9(D) 14 13. 用来存储键值对的容器是 ()。 (A )ArrayList( B ) LinkedList(C) HashSet( D) HashMap 14、 java 中用来抛出异常的关键字是( C )。 (A) try(B) catch(C) throw(D) throws 15.关于 finally块中的代码,以下说法不正确的是(A)。 (A ) try 块中的 return 语句会中断finally 块中语句的执行 (B )无论 finally 块前的语句运行是否产生异常,其中的语句都会执行 (C) finally 块中的语句通常中用作资源的清理 - 1 -

Java期末考试题

2010年——2011年Java期末考试题 一、判断题。 1.Java语言是平台无关的语言。T 2.类的静态方法中可以访问该类的非静态数据成员.F 3.Java中方法调用时参数传递都是按值传递的,因此从方法中退出时,参数的值是不 会变的。T 4.覆盖方法所抛出的异常不能比原方法更多。T 5.Final 方法不能被覆盖。T 6.抽象类中一定包含抽象方法。F 7.接口中的方法必须是抽象方法。T 8.在方法定义中,所以可能发生的异常都必须用try{} catch(){}捕捉。F 9.Java支持多重继承。F 10.Final修饰的类不能派生子类。T 11.覆盖的同名方法中,子类方法不能比父类方法的访问权限更严格。T 12.不能在静态方法中使用this.T 13.抽象类中不能创建对象。T 14.一个类可以实现多接口。T 15.接口中可以包含非静态成员。F 16.不论是否捕捉到异常try{}catch(){} final{}语句中finally块中的代码总要被执行。T 17.一个类实现一个接口,则该类必须实现接口中的所有方法。F 18.线程使用sleep方法去休眠后可以使用notify方法唤醒。F 19.线程使用sleep方法休眠是会释放该线程同步锁定的对象。F 20.Final类中的属性和方法都必须是final的。F 二、选择题 1、Java中复合数据类型不包括(D) A.类类型 B.数组 C.接口类型 D.指针 2、请从四个选项中选择答案,下列代码的执行结果是:(C) Public class Test{ Public static void main(String args[]){ Float t=9.0f; Int q=6; System.out.println((t++)*(--q)); } } A.40 B.40.0 C.45.0 D.36.0 3、下列关于修饰符混用的说法,错误的是(D) A.abstract 不能与final 并列修饰同一个类 B.abstract类中可以有非abstract的方法 C.普通类(非abstract类)中不能有abstract方法 D.static方法中能处理非static的属性 4、关于被保护访问控制符protected修饰的成员变量,以下说法正确的是(A) A.可以被该类自身、与它在同一个包中的其它类、在其它包中的该类的子类所访问B.只能被该类本身和该类的所有的子类访问 C.只能被该类自身所访问 D.只能被同一个包中的类访问 5、x=2,y=3,z=4,则表达式z*=y++*--x的值是(A) A.12 B.24 C.16 D.3 6、以下赋值语句正确的是(D) A.char c1=”a” B.float f1=3.22 C.byte b1=266 D.long L1=0xAC8L 7、Java不支持多重继承,但我们可以通过(B)实现 A.多态 B.接口 C.覆盖 D.抽象类 8.已知类person是类student的父类,以下数组定义和赋值哪些是正确的(A) A. person p[]=new person[3]; p[1]=new student(); B .student s[]=new person[3]; s[1]=new person(); C .person p[]= new student[3];p[1]= new person(); D .student s[]=new student[3];s[1]=new person; 9 编译MyClass.java之后,得到了三个字节码文件:MyClass.class , MyClasslittle$.class MyClass$1.class.这表明(C) A.MyClass类中的两个方法:little和1 B. MyClass.Java中有三个类:MyClass、little和1 C. MyClass类中有两个内部类:一个是命名的little,另一个是匿名的1 D. MyClass、little和1,这三者没什么关系 10、main 方法是java Application 程序执行的入口点,关于main方法的方法头以下(B)是合法的。 A.public static void main() B.public static void main(String arg[]) C.public static int main(String[] arg) D. B.public void main(String arg[]) 11、当编译和运行下面的代码会出现什么情况?(A)

JAVA复习题及答案

第一章JA V A概述 1.JA V A中哪三种平台:Java ME(嵌入式平台),Java SE(标准平台),Java EE(企业级平台). 2.JA V A从第几版称为JA V A2:JA V A 1.2版。 3.JA V A有否指针:无。 4.JA V A的API指的是什么:Application Programming Interface,JA V A的类库。 5.JA V A平台无关性是如何实现的:通过编译生成与平台无关的代码──字节码,而不是通常的特定机器上的机 器码,由平台上的Java虚拟机中的Java解释器解释执行。 6.JA V A有哪两种程序形式:Application和Applet程序。 7.Application程序运行时系统调用程序的哪个方法:main()方法。Applet程序执行时系统自动调用程序的哪个方 法:init()方法。 8.绘图程序中系统自动调用哪个方法:paint(Graphics g)方法。 9.JDK是什么:Java开发工具包(Java Development Kit ) 的缩写,包括JAVA类库、JAVA编译器、JAVA解释 器、运行时环境、命令行工具。 10.有哪几种主要的可视化的集成源程序编辑环境:Eclipse, JCreator, JBuilder等。 11.安装JDK的可执行文件是:jdk-1_5_0-windows-i586.exe 12.安装JDK帮助文档的是:jdk-1_5_0-doc.zip 第二章JA V A语言基础 13.保留字是什么意思,能否用于程序员定义自己的类、方法、变量等名字:JA V A中已定义的用于特定用途的标 识符。不能。 14.i++与++i有什么区别? 15.写出各种转义字符?p17。\t, \n, \r, \‖, \’, \\ 16.编程良好习惯中,对象名、包名、类名、变量名、常量名、接口名、方法名中的字符的大小写如何设置?Package –名词且小写;Class--名词且第一个字母大写;Interface—同Class;Methods-动词且第一个字母小写,分隔词第一个字母大写,不用‖-―;Variable—第一个字母小写,不用‖_‖,‖$‖(对于inner class有意义);Constants—大写并用‖_‖ 17.标识符的用途:用于给类、方法、变量、接口、程序块、对象等起名字。 18.标识符中可否有空格,可否有#号:不能,只能有字母、下划线、美元符、数字 19.判断合法的标识符:identifier,userName,_FH User_Name ,_sys_val,$change 2mail,room#//,class,ab-cd,ac eh 20.JA V A中标识符大小写敏感吗? 21.实数类型的两种类型中哪种是默认的:double。 22.float和int型的数据各占多少位(bit)。32位 23.什么叫局部变量:方法内部的变量。 24.局部变量有默认值吗:没有。 25.局部变量出了方法体后还存在吗:不存在。 26.一个变量可以重复定义吗:不能。 27.低级类型的数据与高级类型的数据进行运算时,怎样进行类型转化:低级的类型首先自动转化为高级类型,然 后进行运算。 28.域(field)变量应该定义在方法之外还是方法之内:之外。 29.sum+=i的展开式:sum=sum+i 30.计算a+=a*=b-=(a=4)*(b=2)的结果,其中初始时a=4,b=2。 31.―&‖和―&&‖的区别? 32.关系运算符与逻辑运算符哪个优先级高,为什么:关系,因为关系运算的结果false或true用于逻辑运算。 33.以下计算结果是否对?

JAVA语言复习题及答案

14年(下)程序设计(JA V A语言)复习题 第一:单选 1. 若有定义int x=3,y;则执行语句y=(++x)+(++x)+(++x);后y=()。 (A) 12 (B) 18 (C) 9 (D) 15 2. 下列选项中,不是Java关键字的是()。 (A) double (B) Integer (C) float (D) default 3. 在成员变量与局部变量重名时,若想在方法内使用成员变量,要使用的关键字是()。 (A) super (B) import (C) this(D) return 4. 下列说法中错误的是( B )。 (A) 一个类中的实例方法可以调用其他实例方法 (B) 静态方法可以调用实例方法 (C) 实例方法可以调用静态方法 (D) 静态方法可以调用静态方法 5. 下列关于super的说法中错误的是()。 (A) 用来访问父类被隐藏的成员变量 (B) 用于调用父类中被重写的方法 (C) 用于定义父类 (D) 用于调用父类的构造函数 6. 下列选项属于接口中方法默认访问控制方式的是()。 (A) public (B) private (C) protected(D) default 7. 定义一个名为key的类,下列选项中使其不能被继承的定义是()。 (A) class key{} (B) native class key{} (C) class key{ final;} (D) final class key{} 8. 若有定义String tom=""我们是学生"";则tom.length()的值是()。 (A) 5 (B) 10 (C) 6 (D) 11 9. 调用repaint()方法,会出现什么情况( C )。 (A) 清除以前pain()方法所画的内容 (B) 保留原来pain()所画的内容 (C) 清除pain()以前所画的内容,再一次调用pain()方法 (D) 在pain()以前所画内容基础上,再一次调用pain()画新的内容 10. 从下面的main()调用java lyrics a kiss is but a kiss 中可以访问单词“kiss”的是()。 (A) args[0] (B) args[5] (C) args[4] (D) args[3] 11. 使一个线程放弃处理器并休眠1.5秒,应调用的方法是()。 (A) sleep(1.5) (B) sleep(1500) (C) suspend(1.5) (D) suspend(1500) 12. 如要使处于等待状态的线程恢复到运行状态,应调用的方法是()。 (A) start() (B) run() (C) resume() (D) notify() 13. 如果想获得一个InetAddress对象的主机域名,可调用的方法是()。

JAVA模拟试题(含答案)

一、请分别写出下面程序的运行结果,将答案添在每道题后的空格处 1. public class Test1 { public static void main(String[] args) { int x=10,y=20; System.out.print("x="+(x++)+" y="+(++y)+" sum="+(x+y)); } } 运行结果:x=10 y=21 sum=32 2. public class Test2 { public static void main(String[] args) { boolean end; for(int i=2;i<20;i++){ end=true; for(int j=2;j<=i;j++){ if(i%j==0&&j