您好,欢迎来到华拓科技网。
搜索
您的当前位置:首页java程序设计答案

java程序设计答案

来源:华拓科技网


《java程序设计》复习题

第一部分 选择题(单选)

1.

javac 是 java的 (B)

A. 解释器

B. 编译器

C. 小程序浏览器

D. 调试器

2.

appletviewer是java的A. 解释器

B. 编译器

C. 小程序浏览器

C)

1

D. 调试器

3.

编译一个定义了三个类和三个方法的 java源码文件,总共会产生几个字节码文件,其扩展名是什么?(C)

A. 5个字节码文件,其扩展名是“.java”

B. 2个字节码文件,其扩展名是“.java”

C. 3个字节码文件,其扩展名是“.class”

D. 2个字节码文件,其扩展名是“.class”

4.

java源码文件的名称与主类的名称(B)

A. 必须相同但不区分大小写

B. 必须相同且区分大小写

C. 必须不同

D. 任意

2

5.

下面那些选项不能用做变量名的首字符(C)

A. 字母

B. 下划线(_)

C. 数字

D. 美元符号($)

6.

下面哪个不是java的原始数据类型?(B)

A. short

B. boolean

C. Int

D. Float

7.下面哪条语句不会出现编译警告或错误?(A)

3

A. float f=1.3F;

B. chat c =”a”;

C. float f=1.3;

D. boolean d=null;

8.

以下声明常量不正确的是(B)

A. final int PI=3;

B. final PI=3;

C. static final int PI=3:

D. public static final int PI=3;

9.

java定义了4个整型数据类型:字节性(byte)短整型(short) 整型(int)long),其中byte占用内存为(A)

A. 8bit

4

长整型 (

B. 16bit

C. 32 bit

D. bit

10.

5%2.1的值是(D)A. 1

B. 0

C. 0.8

D. 不能通过编译

11.

-11&3的值是(A)A. 1

B. 3

5

C. 9

D. –11

12.

8<<2的值是(A)

A. 2

B. 4

C. 8

D. 32

13

若有int a = 1, b= 2 , c = 3, d=4; 则表达式a>b?a:c>d?c:d的值是(D)

A. 1

B. 2

C. 3

6

D. 4

14.

以下为合法类型转换的为(D)

A. ( int )”A”

B. (char)”A”

C. (boolean)(2-2)

D. (char) (651/12)

15

下面哪条语句是正确的?(C)

A. int a={1,2,3,4,5,};

B. int b=(1,2,3,4,5)

C. int c[]={1,2,3,4,5}

D. int []d={1,2,3,4,5}

7

16.

对于数组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);

17.

可以用作switch表达式的基本数据类型分别是(B)

A. boolean

B. byte

C. float

D. double

18.

8

下面的while语句退出时.i的值是(D)

byte b=1;

int i = 0 ;

while(b++>0)

i=i+1;

A. 126

B. 0

C. 127

D. 出现死循环,i的值无穷大

19.

设J_Hello.java文件内容如下:

class J_Hello{

static void main(String args[]){

9

System.out.println(“Hello!”);

}

}

下面说法正确的是(D)

A.J_Hello.java无法通过编译

B.J_Hello.java可以通过编译,但运行时出现“Main method not public”提示信息

C.J_Hello.java可以通过编译,但无法运行,且无任何提示信息

D.J_Hello.java可以通过编译,可以正常运行,输出“Hello!”

20

下面哪个类声明是正确的(D)

A. abstract final class car{}

B. abstract private car(){}

C. protected private car{}

10

D. public abstract class car{};

21.

下列(C)的说法是错误的。

A. Java 语言只允许单一继承

B. Java语言允许多个接口

C. Java语言不允许一个类派生多个子类

D. Java语言的单一继承使得代码更加可靠

22.

下述(A)说法是正确的

A. 实例变量是类的成员变量

B. 实例变量是用static关键字声明的

C. 方法变量在方法执行时创建

D. 方法变量在使用之前不用初始化

11

23.

使用继承的优点(A)

A. 基类的大部分功能可以通过继承关系自动进入派生类

B.继承将基类的实现细节暴露给派生类

C. 基类实现出现问题,、就会影响到派生类

D.可在运行期决定是否选择继承代码,有足够的灵活性

24.

下列关于修饰符混用的说法,错误的是(A)

A. abstract 不能与final并列修饰同一个类

B. abstract 类中不能有private的成员

C. abstract 方法必须在abstract类中

D. static方法中能处理非static的属性

25

12

对于下列代码:

public class Parent

{public int addValue(int a, int b)

{

int s;

s=a+b;

return s;}

}A

class Child extends Parent{…..}

Child类中欲把Parent类中的addValue方法覆盖,下述什么方法可以加入类Child中?A

A. private int addValue(int a,int b){….}

B. public float addValue(int a,int b){….}

C. public int addValue(int a,int b){….}

13

D. public int addValue(int a,int b)throws MyException{….}

26 声明成员变量为临时变量(又称为过渡变量)所用的保留字是(C)

A. final

B. abstract

C. transient

D. temp

27.

声明公共变量所用的保留字是(A)A. public

B. private

C. protectede

D. static

28

14

声明受保护变量所用的保留字是(C)

A. public

B. private

C. protected

D. static

29

设有下面的程序段

1. class StaticStuff

2. {

3. static int x=10;

4. static {x+=5;}

5. public static void main(String args[])

6. {

15

7. System.out.println(“x=”+x);

8. }

9. static {x/=3;}

10. }

哪个说明是正确的()

A. 4行和9行不能通过编译,因为缺少方法名和返回类型

B. 9行不能通过编译,因为只能有一个静态初始化器

C. 编译通过,执行结果为:x=5;

D. 编译通过,执行结果为:x=3;

30

对于下述类定义哪个说法正确?(A)

class MyString extends String{…..}

A. 可以成功编译

16

B. 无法编译,因为没有main方法

C. 无法编译,因为String 是抽象类

D. 无法编译,因为String是final类

31

不能在Java派生类中被覆盖的方法是(C)

A. 构造函数

B. 动态方法

C. final方法

D. 抽象方法

32

关于方法覆盖,下面哪个说法是错误的(A)

A. 方法覆盖可以发生在任意类之间

B. 覆盖方法与被覆盖的方法返回值类型相同

17

C. 如果被覆盖的方法是用public 修饰的,覆盖方法也必须用public 修饰

D. 覆盖方法不能抛出比被覆盖的方法更多的异常

33

下面哪个方法声明是正确的?B

A. abstract final String abc(){}

B. public abstract abc(){}

C. private static void abc(){}

D. public abstract static void abc(){}

34

编译以下代码,将出现什么情况?()

abstract class Shape{

abstract void draw();

}

18

class Square extends Shape{}

A. Square类和Shape类都可以成功编译

B. Square类无法编译,但Shape可以编译

C. Shape类无法编译,但Square可以编译

D. Square类和Shape类都无法编译

35

关于Java的垃圾回收机制,下面那些结论是正确的?()

A. 程序可以任意指定释放内存的时间

B. 正确的程序写法是不能依赖垃圾回收的时间或者顺序的

C. 程序不能标识某个局部变量的引用不再被使用

D. 程序可以显示地立即释放对象占有的内存

36

要求设计一个类,它拥有一个特殊的成员域,该成员域必须能够被这个类的子类访问到,但是不能被不在同一个包内的其他类访问到,下面那些设计可以满足上述要求?()

19

A. 该成员域的封装属性设置为public

B. 该成员域的封装属性设置为private

C. 该成员域的封装属性设置为 protected

D. 该成员域不需要特殊的封装属性

37

接口的实现所用的关键字是()

A. interface

B. implements

C. extends

D. throws

38

在编写异常处理的 Java 程序中,每个catch语句块应该与什么语句块对应?

A. if-else

20

B. switch

C. try

D. throw

39

在编写Java Application程序时,若需要使用到标准输入、输出语句,必须在程序的开头写上什么语句?

A. import java.awt.*;

B. import java.applet.Applet;

C. import java.io.*;

D. import java.awt.Graphics;

40

下面哪个类最适合处理大数据量的文本文件?

A. java.io.FileInputStream

B. java.io.FileReader

21

C. java.io.BufferedReader

D. java.io.RandomAccessfile

41

以下什么类不属于字符流类?

A. Reader

B. FileReader

C. BufferedInputStream

D. StringReader

42

在设计java的数据流操作的程序中,必须加入什么语句?

A.import java.awt.*;

B.import java.applet.*;

C.import java.io.*;

22

D.import java.awt.event.*;

43

以下哪个可能包含菜单条?

A. Panel

B. Frame

C. Applet

D. Dialog

44

以下代码完成画线功能,指出所画线的颜色

g.setColor(Color.red.green.yello.cyan);

g.drowLine(0,0,100,100)

A. red

B. green

23

C. yello

D. cyan

45

Thread 类的什么方法实现线程的暂时停止操作?

A. destroy()

B. stop()

C. sleep()

D. suspend()

46

处理线程间通信等待和通知的方法是?()

A. wait()和notify()

B. start()和stop()

C. run()和stop()

24

D. wait()和 suspend()

47

在java中,开发图形用户界面的程序需要使用系统提供的类库,这个类库是()

A. java.io

B. java.awt

C. java.applet

D. java.event

`48

applet 所在的页面被浏览和加载后,applet就诞生了,当浏览器切换到别的页面时,它的什么方法被调用?()

A. init

B. start

C. stop

D. destroy

25

49标签组件由什么类生成()

A. Label

B. Button

C. Choice

D. Checkbox

50

画矩形,使用什么方法?

A. drawLing(x1,y1,x2,y2)]

B. drawRect(x1,y1,w,h)

C. drawOval(x1,y1,w,h)

D. drawString(s,x1,y1)

第二部分 填空题

1. sun公司提供的Java开发工具包,用于台式机的开发工具包是__________

26

2. Java程序可分为两种基本类型,它们是__________和__________

3. Java虚拟机运行Java程序的基本步骤是:首先从后缀为__________的文件加载代码到内存中,接着在内存中__________代码的合法性及__________,然后__________执行安全和合法的代码

4. Java标识符是由__________、__________、__________组成的字符序列

5. Java字符(char)采用的是ISO规定的__________字符集

6. int类型数据在内存中占__________个二进制位

7. 在Java语言中,字符串直接量是用__________括起来的字符序列

8. 字符串不是字符数组,而是类__________的实例对象

9. 在类中声明的变量叫__________, 可在__________中使用

10. 在方法和方法块中声明的变量叫__________,其使用范围是__________

11. byte或short或int类型数据与long类型数据混合运算时,其结果是__________类型

12. 设x=2,则表达式(x++)/3的值是__________

13. 设x=5,y=10,则表达式x>y&&x++=y--的值是__________

27

14. 设有运算符!=、*、&&、>+、?:按优先级从高到低的排列顺序是__________

15. 表达式(3<5)^(6<4)的值是__________

16. 表达式(byte)(1200)的值是__________

17. 数组对象的长度在数组对象创建后,就__________改变

18. 已知数组a的定义是“int a[]={1,2,3,4,5};”则这时a[2]的值是__________

19. 如有声明float a[][]=new float[3][4];则系统为该数组分配__________个字节的空间

20. 对于数组int [][]t={(1,2,3,4),(5,6,7,8)};t.length等于__________,t[0].length等于__________

21. swith语句中的case后面的常量可以是__________类型和__________类型

22. 若有byte b=1;int I=0;while(++b>0) I=I+1;则while退出时I的值为__________

23. 面向对象的计算机语言一般应有3个基本特征,分别是__________、__________、__________。

24. 如果一个Java Applet源程序文件只定义有一个类,其类名为MyApplet,则类MyApplet必须是__________类的子类

28

25. 一个复杂的系统往往包含多个对象,这些对象间可能存在的关系有三种,它们是__________、__________、__________

26. __________方法是一种仅有方法头,没有具体方法体个操作实现的方法,该方法必须在抽象类中定义

27. __________方法是不能被当前类的子类重新定义的

28. Java语言通过__________机制简化了程序的内存管理。

29. 在Java中有两种多态,一种是使用方法的__________实现多态,另一种是使用方法的__________实现多态。

30. 被protected修饰的变量称为__________,可被__________访问。

31. 抽象方法是指__________的方法,抽象方法只能出现在__________中

32. 在JAVA类的层次结构中,最顶端的类是__________,它在__________中定义,是所有类的始祖。

33. 不能覆盖父类中的__________方法和__________方法。

34. 创建子类对象实例时,系统可以自动调用父类的__________构造方法,初始化__________的数据。

35. 对于父类中的构造方法,系统不能自动调用它们,只能通过在子类构造方法中使

29

用关键字__________调用,其调用语句位置必须是__________

36. 创建一个名为MyPackage的语句是__________,该语句应该放在程序的位置为:__________

37. Java提供的异常处理机制包括两个过程__________和__________

38. 在Java程序中,通过接口的定义可以实现__________重继承关系

39. 顺序执行以下两条语句的输出结果是:______

String s=”沈阳市”;

System.out.println(s.length());

40. 字符串分为两大类,一是字符串常量,使用__________类的对象表示;另一类是字符串变量,使用__________类的对象表示。

41. 创建一个标识有“关闭”按钮的语句是__________

42. Java的组件主要是在__________和__________中

43. 线程创建后,可以在任何时刻调用__________、方法改变线程的优先级

44. 调用__________方法可以停止线程的运行

30

45. Applet所在的页面被浏览和加载后,Applet就诞生了。当浏览器切换到别的页面时,它的__________方法被调用

46. 标签组件由__________类生成。

47. 画矩形的方法是__________

48. 关键字synchronized的作用是_________________________

49. 当线程对象被调度执行时自动调用__________方法

50. 当线程对象被调度执行时自动调用__________方法

第三部分 回答问题

1、 上机编译编写的源程序,使用什么命令进行编译?源程序文件的扩展名是什么?Java编译器产生的文件扩展名是什么?

2、 上机解释执行编译好的程序,使用什么命令进行解释?Java解释器解释的文件的扩展名是什么?

3、 简述Java语言的主要特点。

4、 Java应用程序和Java小应用程序有何区别?

5、 Java能跨操作系统平台运行的原理是什么

31

6、 简述Java程序的框架结构

7、 float和double型数据在赋值时有哪些注意事项?

8、 float和double型数据在赋值时有哪些注意事项?

9、 Java为什么把字符串定义为类?为什么定义了两个字符串类?

10、 静态变量有何特点?如何存取静态变量?

11、 静态方法有何特点?静态方法存取成员变量时有何要求?

12、 什么是抽象类,抽象方法?他们有何特点?

13、 类与对象有何关系?如何创建对象?

14、 什么是类变量、成员变量、实例变量、局部变量?

15、 什么是类的多态性?何为隐藏、覆盖、重载?

16、 this和super有什么作用?

17、 什么是构造方法?构造方法有何特点和作用?

18、 设Object类派生出G类,G类派生出F类,F类派生出ME类

32

问:

① 构造器的调用顺序是什么?

② 如果父类的构造器重载了,可通过什么方法调用父类中某个指定的构造器?

③ 如果子类自己的构造器重载了,可通过什么方法在一个构造其中调用另一个构造器?

19、 什么是标准输入输出方法?什么是标准输入输出设备?标准输入方法read在使用中应注意什么?它输入的数据是什么类型?

20、 包有什么作用?Java系统提供了哪些常用包?如何使用包?

21、 接口有什么作用?接口有哪些性质?

22、 什么是异常?为什么进行异常处理?如何创建一个自定义异常?如何抛出自定义异常?

23、 试述Java Applet的工作原理,其生命周期是如何划分的?

24、 如何从HTML文件中向Applet传递参数?这些参数是如何被接收和处理的?

25、 什么是Java数据流?

第四部分 写出下面程序的运行结果或完成的功能(以下各程序请自己商机通过,得出

33

结果。)

1.

public class sum{

public static void main(String args[]){

double sum=0.0;

for(int I=1;I<=100;I++)

sum+=1.0/(double)I

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

}

}

2.

public class J_Test{

public static void main(String args[]){

34

int i =1,x=2;

switch(x){

case 1: i ++;

case 2: i --;

case 3: ++ i;break;

case 4:-- i;}

System.out.println(i);

}

}

3.

classQ1{

public static void main(String args[]){

double d=5.55;

35

Dec dec = new Dec();

dec.decrement(d);

System.out.print(d);

}

}

class Dec{

public void decrement(double decMe){

decMe=decMe-1;

}

}

4.

使用命令java abc Good Moning运行下面程序:问输出什么?

Public class abc{

36

Public static void main(String args[]){

Charger c=new Charger();

c.method(args);

System.out.print(args[0]+”}

}

class Charger{

void method(String[] s){

String temp=s[0];

s[0]=s[1];

s[1]=temp;

}

}

”+arg[1]);

37

5.

设有如下程序:

public class J_Test9{

public static void main(String args[]){

int sum=0;

for(int I=1;I<12;I++){

for(int j=1;j<4;j++){

sum+=j;

if(I+j>s) break a;}

}

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

}

}

38

6.

class J_Base

{

public void mb__method()

{

System.out.println(“Base”);

}

}

class J_Test15 extends J_Base

{

public void mb_method()

{

System.out.println(“Test”);

39

}

public static void main(String args[])

{

Object a=new J_Test15();

((J_Base)a).mb_method();

}

}

7.

public class J_Test16

{

static int m_data=0;

public int mb_method()

{

40

m_data++;

return m_data;

}

public static void main(String args[])

{

J_Test16 a=new J_Test16();

J_Test16 b=new J_Test16();

J_Test16 c=new J_Test16();

a.mb_method();

b.mb_method();

c.mb_method();

int I=a.mb_method();

System.out.println(i);

41

}

}

8.

public class J_Test17

{

int m_I=2;

String m_s=null;

J_Test17()

{

m_I=2;

m_s=”record”;

}

public static void main(String args[])

42

{

J_Test17 app=new J_Test17();

System.out.println(app.m_I+app.m_s);

}

}

9.

public class abc{

public static void main(String args[]){

SubClass sb=new SubClass();

System.out.println(sb.max());

}

}

class SubClass extends SuperClass{

43

int max(){return((a>b)?a:b);

}

}

10.

class J_Base{

public int m_data=6;

public void mb_print()

{

System.out.print(m_data);

}

}

class J_SubClass extends J_Base{

public int m_data=3;

44

public void mb_print();

{

System.out.print(m_data);

}

}

class J_Test{

public static void main(String args[]){

J_Base app=new J_SubClass();

app.mb_print();

System.out.println(app.m_data);

}

}

11.

45

class Parent{

void printMe()

{System.out.println(“parent”);}

class Child extends Parent{

void printAll()

{

super.printMe();

this.printMe();

printMe();

}

}

12.

import java.awt.*;

46

public class St{

public static void main(String args[]){

String forwards=new String(“I love fava”);

String backwards=” ”;

System.out.println(forwards);

Int lastCharPos=(forwards.length()-1);

Int i;

for(I=lastCharPos;I>=0;I++)

backwards+=forwards.charAt(i);

System.out.println(backwards);

}

13.

class J_Base{

47

public int m_data=1;

public String mb_method()

{return “2”;}

}

class J_Test extends J_Base{

public int m_data=3;

public String mb_method(){return “4”;}

public static void main(String args[]){

J_Base app=new J_Test();System.out.println(app.m_Data+app.mb_Method());p

}

}

14.

public class H1{

48

static int c;

int a,b;

public static void main(String[] s) {

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

H1 h1=new H1();

H1 h2=new H1();

h1.a=4;

h2.a=5;

System.out.println(a);

System.out.println(b);

System.out.println(h1.a);

System.out.println(h2.a);

System.out.println(c);

49

System.out.println(H1.c);

}

}

15.

abstract class V1{

abstract int abc();

}

class E1 extends V1{

int abc() {

return 1;

}

}

class H1{

50

public static void main (String[] s){

E1 e1=new E1();

System.out.println(e1.abc());

}

}

16.

class H2{

void ex(int[] y){

for(int I=0;Iy[i]=y[i]+1;

}

}

class H1{

51

public static void main(String[] s){

int[] x={1,2,3,4};

for(int I=0;ISystem.out.print(x[i]+” “);

System.out.println();

H2 h=new H2;

h.ex(x);

for(int I=0;ISystem.out.print(x[i]+” ”);

}

}

17.

class V1{

52

int a=1;

}

class E1 extends V1{

int b=2,c;

void m1(){

c=a+b;

System.out.println(c);

}

}

class H1{

public static void main(String[] s) {

E1.e1=new E1 ();

E1.ma ();

53

}

}

18.

class V1{

int a=1;

}

class E1 extends V1{

int a=30,b=20,c;

void m1() {

c=a+b;

System.out.println(c);

}

}

54

class H1{

public static void main(String[] s) {

E1 e1=new E1();

e1.m1();

}

}

19.

class V1{

int a=1;

void m1 () {

System.out.println(“E1.m2”);

}

}

55

class H1{

public static void main(String[] s) {

E1.e1=new E1();

E1.m1();

E1.m2();

}

}

20.

class V1{

V1 () {

System.out.println(“V1”);

}

}

56

class V2 extends V1 {

V2 () {

System.out.println(“V2”);

}

}

class V3 extends V2 {

V3 () {

System.out.println(“V3”);

}

}

class H1 {

public static void main(String[] s) {

V3 e1=new V3 ();

57

}

}

第五部分 程序设计

1.

编写一个字符界面的java Application程序,输出1~9中除6以外所有偶数的平方值(即2、4、8的平方值)。

注:要求使用循环

2.

编写一个字符界面的java Application程序,使用你熟悉的方法对数组 a[]={20,10,50,40,30,70,60,80,90,100}进行由大到小的排序。

3.

编写一个字符界面的java Application程序,输出所有的水仙花数。

注:水仙花数是一个3位数,它的各位数字的立方和等于这个3位数自身,如:153=12+53+33 则153是水仙花数。

4.

58

编写一个字符界面的java Application程序,输出Fibonacci序列的前20项。

注:Fibonaci序列定义如下:

第1个数为0

第2个数为1

从第3个数开始,每个数是前两个数之和。

如:0 1 1 2 3 5 8 13……

5.

设有如下类定义:

public class Array{

static int a[]=new int[5];

int n=5;

① 添加构造方法。对数组元素初始化

② 设计一个对数组a中各元素求和的方法sum,添加到类Array中

59

6.

创建一个Fraction类执行分数运算,要求如下:

①用整型数表示类的private成员变量:f1和f2。

②提供构造方法,将分子存入f1,分母存入f2。

③提供两个分数相加的运算方法,结果的分子存入f1,结果的分母存入f2。

④编写主控程序,实现分数相加运算。

7.

设类Rectangle定义如下:

public class Rectangle{

static int width,height;

}

在类Rectangle中添加两个方法,方法girth计算矩形周长,方法计算矩形area面积。

8.

60

编写一个日期类Date,要求:

①日期类Date属性有:

year (int 型,代表年)、month (int 型 代表月)、day (int 型,代表日)

②日期类 Date 的方法有:

Date():构造函数,日期默认初值为2000年1月1日。

Date(int y,int m,int d);构造函数 y、m、d 分别代表年,月,日。

Int Getyear():获取日期的年份作为方法的返回值。

Int GetMonth():获取日期的月份作为方法的返回值。

Int GetDay ():获取日期的日作为方法的返回值。

Void ShowDate();以”****年**月**日”的形式显示一个日期,如:2001年8月13日。

9.

编写程序,完成文件复制功能。

10.

61

设计一个Applet小程序,使其可以进行简单的加法运算。

62

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo6.cn 版权所有 赣ICP备2024042791号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务