搜索
您的当前位置:首页Java程序设计习题集(含答案)

Java程序设计习题集(含答案)

来源:爱问旅游网
目 录

一、判断题 ................................................................. 错误!未定义书签。 二、选择题 ................................................................. 错误!未定义书签。 三、填空题 ................................................................. 错误!未定义书签。 四、写出下列程序完成的功能 ................. 错误!未定义书签。 五、写出下面程序的运行结果 ................. 错误!未定义书签。 六、使用Java语言编写程序 ..................... 错误!未定义书签。 七、简答题 ................................................................. 错误!未定义书签。

Java程序设计习题集

一、判断题

1.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。( F )

2.有的类定义时可以不定义构造函数,所以构造函数不是必需的。( F ) 3.类及其属性、方法可以同时有一个以上的修饰符来修饰。( T )

4.Java的屏幕坐标是以像素为单位,容器的左下角被定为坐标的起点。( F )(应该是左上角)

5.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。( F) 6.Final类中的属性和方法都必须被final修饰符修饰。( F )(静态的必须被静态的修饰符修饰)

7.最终类不能派生子类,最终方法不能被覆盖。(T )

8.子类要调用父类的方法,必须使用super关键字。( T ) 9.一个Java类可以有多个父类。( F )

10.如果p是父类Parent的对象,而c是子类Child的对象,则语句c = p是正确的。( F ) 11.一个类如果实现了某个接口,那么它必须重载该接口中的所有方法。( T )

12.当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。( T )

13.接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。( T )

14.用“+”可以实现字符串的拼接,用- 可以从一个字符串中去除一个字符子串。( F )

15.一个容器中可以混合使用多种布局策略。( T )

16.一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。( T )

17.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。( T )

18.Java Applet是由独立的解释器程序来运行的。( F ) 19.Java Applet只能在图形界面下工作。( T ) 20.Java的字符类型采用的是ASCII编码。( F ) 21.Java的各种数据类型占用固定长度,与具体的软硬件平台环境无关。( T) 22.容器是用来组织其他界面成分和元素的单元,它不能嵌套其他容器。( F) 23、Java是不区分大小写的语言。( F)

24、Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。( T )

25、Java Application是由独立的解释器程序来运行的。( F )

26、Java Applet的字节码文件必须嵌入HTML的文件中并由负责解释HTML文件的WWW浏览器充当解释器来解释运行。( F ) 27、Java Application只能在字符界面下工作。( F )

28、Java的字符类型采用的是Unicode编码,每个Unicode码占16个比特。( T )

29、Java源程序是由类定义组成的,每个程序可以定义若干个类,但只有一个类是主类。(T )

30、子类的域和方法的数目一定大于等于父类的域和方法的数目。( F ) 31、类在实现接口的方法时,必须显示地使用public修饰符。( T )

32、一个类只能有一个父类,但一个接口可以有一个以上的父接口。(T ) 33、程序中抛出异常时(throw …),只能抛出自己定义的异常对象。( F ) 34、System类中的in是一个输入对象。( T )

35、实现一个接口,则在类中一定要实现接口中的所有方法。( T)

36、所有的文件输入/输出流都继承于InputStream类/OutputStream类。( F ) 37、一个异常处理中 finally语句块只能有一个或者可以没有。(F ) 38、语句import ;最后的Applet是代表类(class)。( T )

39、类体中private修饰的变量在本类中能访问,类生成的对象也能访问。( F ) 40、线程使用sleep()方法休眠后,可以用notify()方法唤醒。( F ) 41、一个异常处理中 finally语句块只能有一个或者可以没有。( T ) 42、用Javac编译Java源文件后得到代码叫字节码。(T ) 43、数组、类和接口都是引用数据类型。( F )

44、一个Applet编译后的类名是,运行此小程序的命令是Java Test。( F ) 45、Java语言中一个Char类型的数据占用2个字节大小的内存空间。( T ) 46、编译语句Double aDouble=不会出现编译错误。(F ) 47、编译语句int aInt=66666不会出现编译错误。(T ) 48、判断下面说法的正误:

if(true){int i=17;} 运行此程序的结果是输出17。 (F)

49、float x=26f; int y=26; int z=x/y; 以上语句能正常编译和运行。( F) 50、判断下面说法的正误:

int x=9; if(x>8 and x<10) \"true\"); 以上语句运行的结果是显示true。 (T )

51、判断下面说法的正误:

String str; 以上语句运行的结果是显示0 。 (F ) 52、抽象类不能实例化。 (T )

53、一个方法最多能有一个return语句。 ( F) 54、接口名可以作为方法返回值的类型。 ( T)

55、类A和类B位于同一个包中,则除了私有成员,类A可以访问类B的所有其他成员。 ( T)

二、选择题

1.编译Java Applet 源程序文件产生的字节码文件的扩展名为( B )。 A、java B、class C、html D、exe

2.main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( BC ) A、public static void main( )

B、public static void main( String args[] ) C、public static int main(String [] arg ) D、public void main(String arg[] )

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

A、static void method( ) B、public void method( ) C、final void method( ) D、abstract void method( ) 4.下列哪个是合法的Java标识符( BC )

A、Tree&Glasses B、FirstJavaApplet C、_$theLastOne D、

5.Java Application源程序的主类是指包含有( A )方法的类。 A、main方法 B、toString方法

C、init方法 D、actionPerfromed方法

6.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( B )个比特位。

A、8 B、16 C、32 D、64 7.设 a = 8,则表达式 a >>> 2 的值是( B )。

A、1 B、2 C、3 D、4 8.若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

9.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上( C )语句。 A、import .* ; B、import ; C、import .* ; D、import ;

10.对于构造函数,下列叙述正确的是( ACD )。 A、构造函数是类的一种特殊函数,它的方法名必须与类名相同。 B、构造函数的返回类型只能是void型。

C、构造函数的主要作用是完成对类的对象的初始化工作。 D、一般在创建新对象时,系统会自动调用构造函数。 11.下面的是关于类及其修饰符的一些描述,正确的是:( AD )。 A、abstract类只能用来派生子类,不能用来创建abstract类的对象。 B、final类不但可以用来派生子类,也可以用来创建final类的对象。 C、abstract不能与final同时修饰一个类。

D、abstract方法必须在abstract类中声明,但abstract类定义中可以没有abstract方法。

12.若需要定义一个类域或类方法,应使用哪种修饰符( A )

A、static B、package C、private D、public 13.若在某一个类定义中定义有如下的方法: abstract void performDial( );

该方法属于( D )。

A、本地方法 B、最终方法 C、解态方法 D、抽象方

14.下列关于静态初始化器的叙述中,哪一个是正确的( B ) A、静态初始化器是在构造函数之前加上static修饰符。 B、静态初始化器是对类自身进行初始化。 C、静态初始化器在同一个类中只能有一个。

D、静态初始化器是在其所属的类加载内存时不是由系统自动调用执行。

15.不使用static修饰符限定的方法称为对象(或实例)方法,下列哪一个说法是正确的( AB )

A、实例方法可以直接调用父类的实例方法。 B、实例方法可以直接调用父类的类方法。 C、实例方法可以直接调用其他类的实例方法。 D、实例方法不可以直接调用本类的类方法。 16.设有下面两个类的定义:

class Person {} class Student extends Person {

long id; 1024”1024”ntValue(); 下述说法正确的是( D )。

A、a是整数类型变量,b是整数类对象。 B、a是整数类对象,b是整数类型变量。

C、a和b都是整数类对象并且它们的值相等。 D、a和b都是整数类型变量并且它们的值相等。

23.在Java Applet程序用户自定义的Applet子类中,常常重载( D )方法在Applet的界面中显示文字、图形和其它界面元素。 A、start( ) B、stop( ) C、init( ) D、paint( )

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

25.在Java中,开发图形用户界面的程序需要使用一个系统提供的类库,这个类库就是( B )包。

A、 B、

C、 D、在Java图形用户界面编程中,若显示一些不需要修改的文本信息,一般是使用( C )类的对象来实现。 A、JLabel B、JButton C、JTextArea D、JTextField 27.创建一个标识有“关闭”按钮的语句是( D )。 A、JTextField b = new JTextField(“关闭”);

B、JLabel b = new JLabel(“关闭”);

C、JCheckbox b = new JCheckbox(“关闭”);

D、JButton b = new JButton(“关闭”);

28.在编写异常处理的Java程序中,每个catch语句块都应该与( C )语句块对应,使得用该语句块来启动Java的异常处理机制。 A、if – else B、switch C、try D、throw

29.在编写Java Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上( D )语句。

A、import .* ; B、import .* ; C、import .* ; D、import ;

30.对于子类的构造函数说明,下列叙述中不正确的是( BC )。 A、子类无条件地继承父类的无参构造函数。

B、子类可以在自己的构造函数中使用super关键字来调用父类的含

参数构造函数,但这个调用语句必须是子类构造函数的第一个可执行语句。

C、在创建子类的对象时,将先执行继承自父类的无参构造函数,然

后再执行自己的构造函数。

D、子类不但可以继承父类的无参构造函数,也可以继承父类的有参

构造函数。

31.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的 ( B )

A、 ArrayList myList=new Object(); B、 List myList=new ArrayList(); C、 ArrayList myList=new List(); D、 List myList=new List(); ()方法使用哪种类型的参数 ( A )

A、 Graphics B、 Graphics2D C、 String D、 Color

33.指出正确的表达式 ( C )

A、 byte=128; B、 Boolean=null; C、 long l=0xfffL; D、 double=;

34.指出下列程序运行的结果( B ) public class Example{

String str=new String(\"good\");

char[]ch={'a','b','c'};

public static void main(String args[]){ Example ex=new Example(); ,;

\" and \"); }

public void change(String str,char ch[]){ str=\"test ok\"; ch[0]='g'; } }

A、 good and abc B、 good and gbc C、test ok and abc D、 test ok and gbc

35.运行下列程序, 会产生什么结果( B ) public class X extends Thread implements Runable{ public void run(){ \"this is run()\"); }

public static void main(String args[]) {

Thread t=new Thread(new X()); (); } }

A、 第一行会产生编译错误 B、 第六行会产生编译错误 C、 第六行会产生运行错误 D、 程序会运行和启动

36.要从文件\" \"文件中读出第10个字节到变量C中,下列哪个方法适合 ( D )

A、 FileInputStream in=new FileInputStream(\"\"); (9); int c=(); B、 FileInputStream in=new FileInputStream(\"\"); (10); int c=(); C、 FileInputStream in=new FileInputStream(\"\"); int c=();

D、 RandomAccessFile in=new RandomAccessFile(\"\"); (9); int c=();

37.容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器

大小的变化而改变( A )

A、 CardLayout B、 FlowLayout C、 BorderLayout D、 GridLayout 38.给出下面代码: public class Person{

static int arr[] = new int[10];

public static void main(String a[]) { } }

那个语句是正确的( C ) A、 编译时将产生错误;

B、 编译时正确,运行时将产生错误; C 、输出零; D、 输出空。

39.哪个关键字可以对对象加互斥锁( B ) A、 transient B synchronized C serialize D static

40.下列哪些语句关于内存回收的说明是正确的 ( B A、 程序员必须创建一个线程来释放内存; B、 内存回收程序负责释放无用内存

C、内存回收程序允许程序员直接释放内存

D、内存回收程序可以在指定的时间释放内存对象 41.下列代码哪几行会出错: ( C ) 1) public void modify() { 2} int I, j, k; 3) I = 100;

4) while ( I > 0 ) { 5} j = I * 2;

6) (\" The value of j is \" + j ); 7) k = k + 1; 8) I--; 9) }

) 10} }

A、 line 4 B、 line 6 C、 line 7 D、 line 8

是int型public成员变量, 变量值保持为常量100,用简短语句定义这个变量。( CD )

A、 public int MAX_LENGTH=100; B、 final int MAX_LENGTH=100;

C、 final public int MAX_LENGTH=100; D、 public final int MAX_LENGTH=100. 43.给出下面代码: 1) class Parent {

2} private String name; 3} public Parent(){} 4} }

5) public class Child extends Parent { 6} private String department; 7} public Child() {}

8} public String getValue(){ return name; } 9} public static void main(String arg[]) { 10} Parent p = new Parent(); 11} } 12} }

那些行将引起错误 ( D ) A、 第3行 B、 第6行 C、 第7行 D、 第8行

44.类Teacher和Student是类Person的子类; Person p; Teacher t; Student s;

if(t instanceof Person) { s = (Student)t; } 最后一句语句的结果是: ( D ) A、 将构造一个Student对象; B、 表达式是合法的;

C、 表达式是错误的;

D、 编译时正确,但运行时错误。 45.给出下面代码段 1) public class Test { 2} int m, n;

3} public Test() {}

4} public Test(int a) { m=a; }

5} public static void main(String arg[]) { 6} Test t1,t2; 7} int j,k; 8} j=0; k=0;

9} t1=new Test(); 10} t2=new Test(j,k); 11} } 12} }

哪行将引起一个编译时错误( D ) A、 line 3 B、 line 5 C、 line 6 D、 line 10

46.对于下列代码: 1) class Person {

2} public void printValue(int i, int j) { } 3} public void printValue(int i){ } 4} }

5) public class Teacher extends Person { 6} public void printValue() { } 7} public void printValue(int i) {}

8} public static void main(String args[]){ 9} Person t = new Teacher(); 10} (10); 11} }

第10行语句将调用哪行语句( D ) A、 line 2 B、 line 3 C、 line 6 D、 line 7

47.哪个关键字可以抛出异常 ( C )

A、 transient B、 finally C、 throw D、 static

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

类在哪个包中 ( D ) A、 B、 C、 D、

50.对于下列代码:( ) public class Parent {

public int addValue( int a, int b) { int s; s = a+b; return s; } }

class Child extends Parent { }

下述哪些方法可以加入类Child C A、 int addValue( int a, int b ){.}

B、 public void addValue (int a, int b ){.} C、 public int addValue( int a ){.}

D、 public int addValue( int a, int b )throws MyException {.} 51.给出下面代码:( ) public class test{

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

public static void main(String args[]) { } }

那个选项是正确的 B

A、 编译时将产生错误; B、 编译时正确,运行时将产生错误; C、 输出零; D、 输出空。

52.下面哪些选项是正确的main方法说明( B ) A、 public main(String args[])

B、 public static void main(String args[]) C、 private static void main(String args[]) D、 void main()

53.给定下面的代码片段:( C ) 1) String str = null;

2) if ((str != null) && () > 10)) { 3) \"more than 10\"); 4) }

5) else if ((str != null) & () < 5)) { 6) \"less than 5\"); 7) }

8) else { \"end\"); } 哪些行会导致错误 A、 line 1 B、 line 2 C、 line 5 D、 line 8

54.下面哪种注释方法能够支持javadoc命令: ( AD ) A、 /**...**/ B、 /*...*/ C、 .*/

55. 欲编写如下图的一个界面,用于显示用户指定的图像: 如果在区域A中只能放置一个AWT组件,从各组件的本来功能角度考虑,最好使用哪种组件:( D )

A、 TextArea B、 Panel C、 Applet D、 Canvas

56. 界面如上题所示。若\"Button1\"的功能是:点击后弹出一个用于输入的界面,获取用户想要显示的图像文件名,则该界面最好是(从编程简单和程序不易出错的角度考虑):( C )

A、 模式(Modal)Dialog

B、 非模式(None-modal)Dialog C、 FileDialog D、 Frame

57. 界面如上题所示。如果在A区域使用某种AWT组件(的子类)来负责绘制图像,则绘图的语句最好应放在该组件的哪个方法中(考虑到应用程序和Java虚拟机的AWT线程都会要求重画该组件) ( D )

A、 构造方法

B、 paint(Graphics g) C、 update(Graphics g) D、 repaint()

58.下面关于Applet的说法正确的是 ( B ) A、 Applet也需要main方法 B、 Applet必须继承自 C、 Applet能访问本地文件 D、 Applet程序不需要编译 59.看下面一段程序:( C )

class Aclass{ void go(){ \"Aclass\"); } }

public class Bclass extends Aclass{ void go{ \"Bclass\"); }

public static void main(String args[]){ Aclass a=new Aclass(); Aclass a1=new Bclass(); (); (); }

以上程序运行结果是: A、 Aclass

Aclass B、 Bclass

Bclass C、 Aclass

Bclass

D、 Bclass

Aclass

60.下列关于Java线程的说法那些是正确的( D )

A、 每一个Java线程可以看成由代码、一个真实的CPU以及数据三部份组成。

B、 创建线程的两种方法中,从Thread类中继承的创建方式可以防止出现多父类问题。

C、 Thread类属于程序包。 D、 以上说法无一正确。

三、填空题

1.一个复杂的应用系统必然包括有多个对象,这些对象间可能存在的关系有三种,它们是: 继承 、 关联 和 包含 。

2.设x = 2 ,则表达式 ( x + + ) * 3 的值是 6 。

3.若x = 5,y = 10,则x > y和x <= y的逻辑值分别为 false 和 true 。

4.据程序的构成和运行环境的不同,Java源程序分为两大类:

application 程序和 applet 程序。

5.如果一个Java源程序文件中定义有4个类,则使用Sun公司的JDK编译器javac编译该源程序文件将产生 4 个文件名与类名相同而扩展名为 class 的字节码文件。

6.开发与运行Java程序需要经过的三个主要步骤为 编码、编译 、 和 执行 。

7.如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是 applet 类的子类并且存储该源程序文件的文件名必须为 。

8.一个Java Application源程序文件名为,如果使用Sun公司的Java开发工具JDK编译该源程序文件并使用其虚拟机运算这个程序的字节码文件,应该顺序执行如下两个命令:

javac 、

java MyJavaApplication 。 9.在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码字符占用 2 字节内存空间,这样,无论是中文字符还是英文字符,每个都是占用 2 字节内存空间。

10.在Java程序中定义的类有两种成员: 变量 、 访法 。

11.Java源程序是由类定义组成的,每个程序中可以定义若干个类,但是只

有一个类是主类。在Java Application中,这个主类是指包含 main()

方法的类;在Java Applet里,这个主类是一个系统类 applet 的子类。

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

13. 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。 方法是不能被当前类的子类重新定义的方法。

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

15.在Java程序中,通过类的定义只能实现 重继承,但通过接口的定义可以实现 重继承关系。 16.子类重新定义一个与从父类那里继承来的域变量完全相同的变量,这种

面向对象程序设计特性称为域的 。

17.字符串分为两大类,一类是字符串常量,使用 类的对象表示;另一类是字符串变量,使用 类的对象表示。 18.设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 , 100 };

则执行以下几个语句后的输出结果是 。 int s = 0 ;

for ( int i = 0 ; i < ; i + + ) s += MyIntArray[i] ; s );

19.执行下列代码后的结果是什么 int x,a=2,b=3,c=4; x=++a+b+++c++; ________

20. ________包包含了Collection的接口和类的API. 方法的声明格式包括 ________

22.下列程序中构造了一个SET并且调用其方法add(),输出结果是 ________

public class A{

public int hashCode(){return 1;}

public Boolean equals(Object b){return true}

public static void main(String args[]){ Set set=new HashSet(); (new A()); (new A()); (new A()); } }

23.下列程序的运行结果是 ________ class A{ class Dog{

private String name; private int age; public int step; Dog(String s,int a) {

name=s; age=a; step=0; }

public void run(Dog fast) { ++; } }

public static void main (String args[]) {

A a=new A();

Dog d= Dog(\"Tom\ =25; (d);

} }

的 四种主要接口是 ________、 ________、 ________、 ________ 25.运行下列程序第 ________行出错。

1.class Outer{ 2.private int size=5;

3.public Object makeInner(final int finalLocalVar){ 4.int LocalVar=6; 5.class Inner{

6.public String toString(){

7.return (\"#\"); } }}

8.return new Inner(); } 9. }

10. public class OuterTest{

11. public static void main(String[] args){ 12. Outer outer=new Outer (); 13. Object obj=(56); 14. \"The object is \"+()); } }

26.下列代码不能编译的原因是 ________ Class A{

Private int x;

Public static void main(String args[]) {

new B(); }

class B{

B(){ } } }

中类成员的限定词有以下几种:private, public, ________, ________。其中, ________的限定的范围最大。

中所有类都是类 ________的子类。

29.请填出在包中与下列基本数据类型相对应的封装类:________, boolean: ________。 30.请写出下面程序的运行结果。

public class Test extends TT{

public void main(String args[]){ Test t = new Test(\"Tom\"); }

public Test(String s){ super(s);

\"How do you do\"); }

public Test(){

this(\"I am Tom\"); } }

class TT{

public TT(){

\"What a pleasure!\"); }

public TT(String s){ this(); \"I am \"+s); } } 结果: ________

31.给定下面的未完成的代码片断:

public class Example{ int x,y;

public Example(int a){ …

float:, char: x = a; }

public Example(int a, int b){

果有一个类MyFrame是Frame的子类,能够被不同包中的类所使用,同时又能够为线程提供运行代码(run()方法),请写出该类的声明头。 你的解答: ________

33.将主方法的参数逐个打印输出,文件名为 ; ;

import 定义类testCheck public class testCheck {

Checkbox c1,c2; String s=\"\";

public void init() {

c1=new Checkbox(\"玩耍\"); (this); add(c1);

c2=new Checkbox(\"学习\"); (this); add(c2); }

(ItemEvent e) ;

public class {

String fn; 0.55F将程序补充完整. import .*;

public class Assign}

public static void main(String args[]){ _______b=50; _______f=0.55F; _______l=0xfffL; \"b=\"+b); \"f=\"+f); \"l=\"+l); } }

39、下面程序对数组中每个元素赋值,然后按逆序输出.请在横线处填入适

当内容,使程序能正常运行. import .*;

public class ArrayTest{

public static void main(String args[]){ int i;

int a[] = new int[5]; for(i=0;i<5;i++) a[i]=i;

for( __________ ;i>=0;i- -) \"a[\"+i+\"]=\"a[i]); } }

40.运行下列程序第 行出错。 class Outer{

private int size=5;

public Object makeInner(final int finalLocalVar){ int LocalVar=6;

class Inner{

public String toString(){

return (\"#localVar=\"+localVar+\" finalLocalVar =\"+finalLocalVar + \">\");

} } }

return new Inner(); } }

public class OuterTest{

public static void main(String[] args){ Outer outer=new Outer (); Object obj=(56); \"The object is \"+()); } }

四、写出下列程序完成的功能

1. public class Sum

{ public static void main( String args[ ]) { double sum = ;

for ( int i = 1 ; i <= 100 ; i + + ) sum += (double) i ; \"sum=\"+sum ); } }

答:

2.import .* ;

public class Reverse

{ public static void main(String args[ ]) { int i , n =10 ;

int a[ ] = new int[10]; for ( i = 0 ; i < n ; i ++ ) try {

BufferedReader br = new BufferedReader( new InputStreamReader); a[i] = ( )); ; public class abc

{ public static void main(String args[]) { new FrameOut(); } }

class FrameOut extends Frame ; public class Class1 {

public static void main(String args[ ]){ int i , Max , Min ; int a[ ] = { 12,67,8,98,23,56,124,55,99,100 }; Max = Min = a[0]; for ( i = 1 ; i < ; i ++ ) { if ( a[i]Max ) Max = a[i];

} Max+\" \"+Min ); ); } }

答:

5. public class ABC {

public static void main(String args[ ]){ int i , j ; int a[ ] = { 12,67,8,98,23,56,124,55,99,100 }; for ( i = 0 ; i < ; i ++ ) { int k = i; for ( j = i ; j < ; j++ ) if ( a[j]

6.import .*;

public class Class1 {

public static void main( String args[] ) {

Fact N = new Fact( 4 ); ( ) ); } }

class Fact { int n ; Fact( int nn ) { n = nn; } int fact( ) { int i , f = 1;

for ( i=1; i<=n; i++ ) f = f*i; return f; } }

答: 7.import .*;

import class DrawMyImage extends Applet { Image myImage; ; public class Class1 {

public static void main( String args[ ] ) { SubClass a = new SubClass( 10,3 ); ( )); } }

class SuperClass { float x; int n;

SuperClass( float xx , int nn ) { x = xx ; n = nn; } }

class SubClass extends SuperClass { SubClass( float xx , int nn ) { super( xx , nn ); } float exp( ) { float s = 1; for ( int i = 1; i<=n; i++ ) s = s*x; return s; } }

答:

9. import .*;

import class Applet1 extends Applet { public void paint( Graphics g ) { ( 30,5,100,45 ); ( 30,50,50,20 ); ( 30,80,50,40 );

( \"They are figures!\" , 30,150 ); } }

答:

10.import .*;

public class abc

{ public static void main(String args[])

{ SubClass sb = new SubClass( ); )); } }

class SuperClass

{ int a = 10 , b = 20 ; }

class SubClass extends SuperClass

{ int max( ) { return ((a>b)a:b); } } 答:

五、写出下面程序的运行结果

1.import .*; public class abc

{ public static void main(String args[ ])

{ AB s = new AB(\"Hello!\ )); } }

class AB { String s1; String s2;

AB( String str1 , String str2 ) { s1 = str1; s2 = str2; } public String toString( ) { return s1+s2;} }

答:

2.import .* ;

public class abc {

public static void main(String args[ ]) { int i , s = 0 ;

int a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 }; for ( i = 0 ; i < ; i ++ )

if ( a[i]%3 = = 0 ) s += a[i] ; \"s=\"+s); } }

答:s =

3. import .* ;

public class abc {

public static void main(String args[ ])

{ SubSubClass x = new SubSubClass(10 , 20 , 30); (); } }

class SuperClass { int a,b;

SuperClass(int aa , int bb) { a=aa; b=bb; } void show( )

{ \"a=\"+a+\"\\nb=\"+b); } }

class SubClass extends SuperClass { int c;

SubClass(int aa,int bb,int cc) { super(aa,bb); c=cc; } }

class SubSubClass extends SubClass { int a;

SubSubClass(int aa,int bb,int cc) { super(aa,bb,cc);

a=aa+bb+cc; }

void show()

{ \"a=\"+a+\"\\nb=\"+b+\"\\nc=\"+c); } }

答:a= b= c=

4. import .*; public class abc {

public static void main(String args[]) {

String s1 = \"Hello!\";

String s2 = new String(\"World!\"); } } 答:

5. import .* ; public class ABC {

public static void main(String args[ ]) { int i ;

int a[ ] = { 11,22,33,44,55,66,77,88,99 }; for ( i = 0 ; i <= / 2 ; i ++ ) a[i]+a[]+\" \"); ); }

}

答:

6. import .*; class Parent { void printMe() { \"parent\");

} }

class Child extends Parent { void printMe() { \"child\"); } void printAll() { (); (); printMe(); } }

public class Class1 { public static void main(String args[ ]) {

Child myC = new Child( ); ( ); } }

答:

六、使用Java语言编写程序

1. 编写一个字符界面的Java Application 程序,接受用户从键盘输入的一个正整数,然后统计并输出从1到这个正整数的累加和。

2. 编写一个字符界面的Java Application 程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。

3. 编写一个完整的Java Applet 程序使用复数类Complex验证两个复数 1+2i 和3+4i 相加产生一个新的复数 4+6i 。 复数类Complex必须满足如下要求:

(1) 复数类Complex 的属性有:

RealPart : int型,代表复数的实数部分 ImaginPart : int型,代表复数的虚数部分 (2) 复数类Complex 的方法有:

Complex( ) : 构造函数,将复数的实部和虚部都置0

Complex( int r , int i ) : 构造函数,形参 r 为实部的初值,i为虚部的初值。

Complex complexAdd(Complex a) : 将当前复数对象与形参复数

对象相加,所得的结果仍是一个复数值,返回给此方法的调用者。

String ToString( ) : 把当前复数对象的实部、虚部组合成 a+bi 的字符串形式,其中a 和 b分别为实部和虚部的数据。 4. 编写一个学生类 Student ,要求: (1) 学生类 Student 属性有: id : long型,代表学号

name : String类对象,代表姓名 age : int型,代表年龄

sex : boolen型,代表性别(其中:true表示男,false表示女) phone : String类对象,代表联系电话 (2) 学生类 Student的方法有:

Student(long i , String n , int a , boolean s , long p) : 有参构造函数,形参表中的参数分别初始化学号、姓名、 年龄、性别和联系电话。

int getAge() ( ) : 获取年龄作为方法的返回值。

boolean getSex( ) ( ) : 获取性别作为方法的返回值。 long getPhone ( ) : 获取联系电话作为方法的返回值。

public String toString( ) : 以 姓名:联系电话 的形式作为方法的返回值。 5. 编写图形界面下的Java Applet程序,接受用户输入的两个数据为上、下限,然后10个一行输出上、下限之间的所有素数。

6.构造一个类来描述屏幕上的一个点,该类的构成包括点的x和y两个坐标,以及一些对点进行的操作,包括:取得点的坐标值,对点的坐标进行赋值,编写应用程序生成该类的对象并对其进行操作。

7.编写一个应用程序,完成文件的拷贝功能,文件名从命令行得到。

七、简答题

1、 简单分析Java语言中的final, finally, finalize三者的区别。

2、Overload(方法重载)和Override(方法覆盖)的区别。Overloaded的方

法是否可以改变返回值的类型

3、abstract class(抽象类)和interface(接口)有什么区别

4、举出Java与C++不同的地方,说明为什么Java会这样设计而C++会那样设计。

5、 Java语言有什么特点

6、 Java Applet的基本工作原理是什么

7、 什么叫多线程Java支持多线程有何意义

8、什么是流什么是数据流最基本的输入输出流类是什么9、什么是访问控制符有那些常用访问控制符那些可以用来修饰类那些用来修饰域和方法简述不同的访问控制符的作用

10、什么是类什么是对象什么是接口接口和类的继承有什么本质区别 11、什么是多态面向对象程序设计为什么要引入多态的特性使用多态有什么优点

12、什么是继承什么是单重继承什么是多重继承Java语言中如何实现多重继承

13、Java语言有哪些运算符

14、什么是接口为什么要定义接口接口与类有和异同

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

Top