文档库

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

Java复习题

一、选择题

1. 下面( )是JDK中的Java运行工具.(选择二项)

A. javac

B. javam

C. java

D. javar

【解析】A C

2. 选出在Java中有效的注释声明(选择二项)

A.//This is a comment

B.*/This is a comment

C./This is a comment

D./*This is a comment*/

【解析】AD

3. 下面( )命令可用于编译Java程序.(选择一项)

A. java

B. javac

C. appletviewer

D. javadoc

【解析】B

4. 下面( )数据类型可用于main()方法中传递的参数. (选择一项)

A. String

B. Integer

C. Boolean

D. V ariant

【解析】A

5. 在屏幕上显示的消息正确的语句是(选择一项)

A. System.out.println(“I am Java Expert”);

B. system.out.println(“I am Java Expert”);

C. System.Out.Pri ntln(“I am Java Expert”);

D. System.out.println(…I am Java Expert?);

【解析】A

6. Java编译器会将Java程序转换为(选择一项)

A. 字节码

B. 可执行代码

C. 机器代码

D. 以上所有选项都不正确

【解析】A

7. Java源代码文件的扩展名为(选择一项)

A. .class

B. .java

C. .com

D. 以上所有选项都不正确

【解析】B

8. 在Java中,byte数据类型的范围是(选择一项)

A. -32767~32768

B. -32768~32767

C. -127~128

D. -128~127

【解析】D

9. 以下( )是合法的标识符(选择二项)

A. Te1_num

B. emp1

C. 8678

D.batch.no

【解析】AB

10. 下列代码的输出结果是(选择一项)

Throwable 类的( )方法用于获得有关错误的详细信息(选择一项) A. getMessage ( ) B. toString( )

C. message( )

D. getOutput( )

【解析】A

11. 以下关键字(选择一项)用于终止循环语句

A. break

B. exit

C. end

D. terminate

【解析】A

12. 不论测试条件是什么,下列(选择一项)循环将至少执行一次.

A. while

B. do-while

C. for

D. for-each

【解析】B

13. 默认情况下,StringBuffer类保留的空间为。

A.8个字符

B.16个字符

C.24个字符

D.32个字符

【解析】B

14. 编译运行下面的代码时会打印(选择一项)

public class Q {

public static void main( String argv [ ]){

int anar[ ]=new int [ ]{ 1,2,3 };

System.out.println(anar[1]);

}

}

A. 1

B.初始化错误

C. 2

D.数组超界

【解析】C

15. ( )是拥有属性和行为或方法的实体. (选择一项)

A. 对象

B. 类

C. 方法

D. 构造方法

【解析】A

16. 对象的特性在类中表示为变量,成为类的(选择一项)

A. 对象

B. 属性

C. 方法

D. 数据类型

【解析】B

17. ( )就是检验有关某个实体的所有可用信息的过程,以便标识与应用程序相关的信息. (选择一项)

A. 抽象

B. 封装

C. 方法

D. 构造方法

【解析】A

18. 如果类的方法没有返回值,该方法的返回类型应当是(选择一项)

A. null

B. void

C. static

D. public

【解析】B

19. ( )关键字表示它是一种类方法,且无需创建对象即可访问. (选择一项)

A. void

B. static

C. return

D. public

【解析】B

20. 每个类都定义有( ) ,以便初始化其成员变量(选择一项)

A. 方法

B. main() 方法

C. 构造方法

D. 对象

【解析】C

21、()术语常常用来指代类。(选择一项)

A、Parent

B、Child

C、Superclass

D、Subclass

【解析】C

22、关键字( )用来调用父类构造方法。(选择一项)

A、base

B、super

C、this

D、extends

【解析】B

23、在Java中,当在类中定义两个或更多方法,它们有相同的名称而参数项不

同时,这称为()。(选择一项)

A、继承

B、多态性

C、构造方法

D、方法重载

【解析】D

24、类的()成员只能被该类的成员访问,而不能被非该类的成员访问。(选择

一项)

A、public

B、private

C、protected

D、abstract

【解析】B

25、()修饰符允许对类成员的访问不依赖于该类的任何对象。(选择一项)

A、abstract

B、static

C、return

D、public

【解析】B

1.下面那条语句将在编译时引发错误?

public class Test1 {

public static void main(String[] args) {

boolean b = true;

short si = 128;

int i = -99;

long l = 123456789;

char ch = 'J';

float f = 3.1415926;

double d = -1.04e-5;

System.out.println("布尔型变量b=" + b);

System.out.println("短整型变量si=" + si);

System.out.println("整型变量i=" + i);

System.out.println("长整型变量l=" + l);

System.out.println("字符型变量ch=" + ch);

System.out.println("浮点型变量f=" + f);

System.out.println("双精度型变量d=" + d);

}

}

float f = 3.1415926;

2.假设有

int a=10;

int b=10;

则a= =b将是true。

但为何

String a=new String("foo");

String b=new String("foo");

a= =b将返回false?

对象变量其实是一个引用,它们的值是指向对象所在的内存地址,而不是对象本身。

a和b都使用了new操作符,意味着将在内存中产生两个内容为"foo"的字符串,既然是“两个”,它们自然位于不同的内存地址。a和b的值其实是两个不同的内存地址的值,所以使用"=="操作符,结果会是false。

3.多线程有哪几种实现方法?

多线程有两种实现方法,分别是继承Thread类与实现Runnable接口;

4.JDBC与数据库建立连接需要哪几个步骤。

1)装载驱动程序;

2)确定数据源名字;

3)建立连接

三、阅读程序,写出程序的运行结果

1. public class CommaOperator {

public static void main(String[] args) {

for(int i = 1, j = i + 10; i < 5; i++, j = i * 2) {

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

}

}

}

输出如下:

i= 1 j= 11

i= 2 j= 4

i= 3 j= 6

i= 4 j= 8

2.public class PrimitivesCopy {

private static void print(String msg, int[] a) {

System.out.print(msg);

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

System.out.print("[" + (i + 1) + "]" + a[i] + " ");

}

System.out.println();

}

public static void main(String[] args) {

int[ ] src = new int[5];

int[ ] dest = new int[5];

java.util.Arrays.fill(src, 123);

print("source = ", src);

System.arraycopy(src, 0, dest, 0, src.length);

print("destination = ", dest);

}

}

source = [1]123 [2]123 [3]123 [4]123 [5]123

destination = [1]123 [2]123 [3]123 [4]123 [5]123

3.class MyParts {

public static int x = 7;

public int y = 3;

}

public class TestMyParts{

public static void main(String[] args) {

MyParts a = new MyParts();

MyParts b = new MyParts();

a.y = 5;

b.y = 6;

a.x = 1;

b.x = 2;

System.out.println("a.y = " + a.y);

System.out.println("b.y = " + b.y);

System.out.println("a.x = " + a.x);

System.out.println("b.x = " + b.x);

}

}

a.y = 5

b.y = 6

a.x = 2

b.x = 2

四.程序填空

Rectangle是一个矩形类,该类包含两个成员变量width和length分别表示矩形的宽和长。成员方法area()用来计算矩形的面积。试填写下列程序中的空白部分,以输出一个宽为2.5长为8.7的矩形的面积。

(提示:应首先填写Rectangle的构造函数)。

class T estRectangle{

public static void main(String[] args){

Rectangle myRect = 1

double theArea;

theArea = myRect.area();

System.out.println("My rectangle has area " + theArea);

}

} //end of class T estRectangle

class Rectangle{

double width, length;

2 //Rectangle的构造函数

{

3

4

}

public double area(){

double a;

5

return a;

}

} //end of class Rectangle

1.new Rectangle(2.5,8.7)

2.Rectangle(double a,double b)

3.this.width=a ;

4.this.length=b ;

5.return width*length

五、综合设计题

有如下程序,

c lass Pet{

protected String name;

public Pet(String n){

name = n;

}

public String getName(){

return name;

}

public String move(){

return "run";

}

public String speak(){

return "";

}

public String toString(){

return "My pet " + name;

}

}

class Dog extends Pet{

protected int weight;

public Dog(String s){

super(s);

}

}

class TestPet{

public static void main(String[] args){

Pet myPet = new Pet("George");

Dog myDog = new Dog("Spot");

System.out.println(myPet.toString() + "\n" + "Speak: " +

myPet.speak() +"\n" + myPet.move() + " " + myPet.getName() +

"\n");

System.out.println(myDog.toString() + "\n" + "Speak: " +

myDog.speak() +"\n" + myDog.move() + " " +myDog.getName()

+ "\n");

}

}

1)写出上述程序的运行结果,

2)修改Dog类的构造函数,使之可以初始化Dog类中的weight值。

3)在Dog类中添加方法getWeight以获得其weight值。

4)修改类TestPet,使用新的构造函数创建一个名字为“snoopy”,重量为10

的Dog类的对象,并利用其方法输出其名字,重量。

5)要使Dog类对象的speak()方法返回值为“Woof Woof”,应如何做?

1.程序运行结果

My pet George

Speak:

run George

My pet Spot

Speak:

run Spot

2.

public Dog(Strings,int weight){

super(s);

this.weight=weight;

}

3.public int getWeight(){

return weight;

}

4.Dog myDog2=new Dog("snoopy",10);

System.out.println(myDog2.toString+"\n"+myDog2.getWeight);

6.在Dog类中重写Speak()方法,如下:

public String speak(){

return "Woof Woof";

}