Java程序设计习题集
目 录
一、判断题 .................................................................................- 1 - 二、选择题 .................................................................................- 3 - 三、填空题 ............................................................................... - 16 - 四、写出下列程序完成的功能 .................................... - 24 - 五、写出下面程序的运行结果 .................................... - 28 - 六、使用Java语言编写程序 ........................................ - 32 - 七、简答题 ............................................................................... - 33 -
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 )
- 1 - 第 页
Java程序设计习题集
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 )
- 2 - 第 页
Java程序设计习题集
38、语句import java.applet.Applet;最后的Applet是代表类(class)。( T )
39、类体中private修饰的变量在本类中能访问,类生成的对象也能访问。( F )
40、线程使用sleep()方法休眠后,可以用notify()方法唤醒。( F ) 41、一个异常处理中 finally语句块只能有一个或者可以没有。( T ) 42、用Javac编译Java源文件后得到代码叫字节码。(T )
43、数组、类和接口都是引用数据类型。( F ) 44、一个Applet编译后的类名是Test.class,运行此小程序的命令是Java Test。( F )
45、Java语言中一个Char类型的数据占用2个字节大小的内存空间。( T ) 46、编译语句Double aDouble=37.2D不会出现编译错误。(F ) 47、编译语句int aInt=66666不会出现编译错误。(T ) 48、判断下面说法的正误:
if(true){int i=17;}
System.out.println(i);
运行此程序的结果是输出17。 (F) 49、float x=26f; int y=26; int z=x/y; 以上语句能正常编译和运行。( F) 50、判断下面说法的正误:
int x=9; if(x>8 and x<10) System.out.println(\以上语句运行的结果是显示true。 (T )
51、判断下面说法的正误:
String str; System.out.println(str.length()); 以上语句运行的结果是显示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方法的
- 3 - 第 页
Java程序设计习题集
方法头以下哪项是合法的( 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、273.5
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 java.awt.* ; B、import java.applet.Applet ; C、import java.io.* ; D、import java.awt.Graphics ; 10.对于构造函数,下列叙述正确的是( ACD )。 A、构造函数是类的一种特殊函数,它的方法名必须与类名相同。 B、构造函数的返回类型只能是void型。
C、构造函数的主要作用是完成对类的对象的初始化工作。 D、一般在创建新对象时,系统会自动调用构造函数。 11.下面的是关于类及其修饰符的一些描述,正确的是:( AD )。 A、abstract类只能用来派生子类,不能用来创建abstract类的对象。 B、final类不但可以用来派生子类,也可以用来创建final类的对象。 C、abstract不能与final同时修饰一个类。
- 4 - 第 页
Java程序设计习题集
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; // 身份证号
int score; // 入学总分 String name; // 姓名 int getScore(){return score;} }
问:类Person和类Student的关系是( B )。 A、包含关系 B、继承关系
C、关联关系 D、无关系,上述类定义有语法错误 17.设有下面的两个类定义: class AA {
void Show(){ System.out.println(“我喜欢Java!”); }
class BB extends AA {
void Show(){ System.out.println(“我喜欢C++!”); }
则顺序执行如下语句后输出结果为:( A )
- 5 - 第 页
Java程序设计习题集
AA a; BB b;
a.Show(); b.Show();
A、我喜欢Java! B、我喜欢C++! 我喜欢C++! 我喜欢Java! C、我喜欢Java! D、我喜欢C++! 我喜欢Java! 我喜欢C++! 18.设有下面的一个类定义:
class AA {
static void Show( ){ System.out.println(“我喜欢Java!”); } }
class BB { void Show( ){ System.out.println(“我喜欢C++!”); } } 若已经使用AA类创建对象a和BB类创建对象b,则下面哪一个方法调用是正确的:( AC )
A、a.Show( ) B、AA.Show( ); b.Show( ) BB.Show( ); C、AA.Show( ); D、a.Show( );
b.Show( ); BB.Show( );
19.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为( C )。 A、隐藏 B、覆盖 C、重载 D、Java不支持此特性 20.对于构造函数,下列叙述不正确的是( C )。 A、构造函数也允许重载。
B、子类无条件地继承父类的无参构造函数。
C、子类不允许调用父类的构造函数。
D、在同一个类中定义的重载构造函数可以相互调用。
21.在使用interface声明一个接口时,只可以使用( D )修饰符修饰该接口。
A、private B、protected C、private protected D、public 22.设有下面两个赋值语句:
a = Integer.parseInt(“1024”);
b = Integer.valueOf(“1024”).intValue(); 下述说法正确的是( D )。 A、a是整数类型变量,b是整数类对象。 B、a是整数类对象,b是整数类型变量。
C、a和b都是整数类对象并且它们的值相等。 D、a和b都是整数类型变量并且它们的值相等。
- 6 - 第 页
Java程序设计习题集
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、java.io B、java.awt
C、java.applet D、java.awt.event 26.在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 java.awt.* ; B、import java.applet.* ; C、import java.io.* ; D、import java.awt.event.* ; 30.对于子类的构造函数说明,下列叙述中不正确的是( BC )。 A、子类无条件地继承父类的无参构造函数。
B、子类可以在自己的构造函数中使用super关键字来调用父类的含
参数构造函数,但这个调用语句必须是子类构造函数的第一个可
执行语句。
C、在创建子类的对象时,将先执行继承自父类的无参构造函数,然后再执行自己的构造函数。 D、子类不但可以继承父类的无参构造函数,也可以继承父类的有参
构造函数。
31.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的 ?( B )
- 7 - 第 页
Java程序设计习题集
A、 ArrayList myList=new Object(); B、 List myList=new ArrayList(); C、 ArrayList myList=new List(); D、 List myList=new List(); 32.paint()方法使用哪种类型的参数? ( A )
A、 Graphics B、 Graphics2D C、 String D、 Color
33.指出正确的表达式 ( C )
A、 byte=128;
B、 Boolean=null;
C、 long l=0xfffL; D、 double=0.9239d;
34.指出下列程序运行的结果( B ) public class Example{
String str=new String(\ 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+\ Sytem.out.print(ex.ch); }
public void change(String str,char ch[]){ str=\ 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(){
System.out.println(\ }
- 8 - 第 页
Java程序设计习题集
public static void main(String args[]) {
Thread t=new Thread(new X()); t.start(); }
}
A、 第一行会产生编译错误 B、 第六行会产生编译错误 C、 第六行会产生运行错误 D、 程序会运行和启动
36.要从文件\file.dat\文件中读出第10个字节到变量C中,下列哪个方法适合? ( D )
A、 FileInputStream in=new FileInputStream(\in.skip(9); int c=in.read(); B、 FileInputStream in=new FileInputStream(\in.skip(10); int c=in.read();
C、 FileInputStream in=new FileInputStream(\int c=in.read();
D、 RandomAccessFile in=new RandomAccessFile(\in.skip(9); int c=in.readByte();
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[]) {
System.out.println(arr[1]); } }
那个语句是正确的?( C )
A、 编译时将产生错误;
B、 编译时正确,运行时将产生错误; C 、输出零;
- 9 - 第 页
Java程序设计习题集
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) System.out.println (\ 7) k = k + 1; 8) I--; 9) }
10} }
A、 line 4 B、 line 6
C、 line 7 D、 line 8
42.MAX_LENGTH是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 {
- 10 - 第 页
Java程序设计习题集
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;
//p, t and s are all non-null.
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
- 11 - 第 页
Java程序设计习题集
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} t.printValue(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
48.Main()方法的返回类型是:( B )
A、 int
B、 void C、 boolean D、 static
49.System类在哪个包中? ( D )
A、 java.util B、 java.io C、 java.awt D、 java.lang 50.对于下列代码:( ) public class Parent {
- 12 - 第 页
Java程序设计习题集
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 ){// do something...}
B、 public void addValue (int a, int b ){// do something...} C、 public int addValue( int a ){// do something...}
D、 public int addValue( int a, int b )throws MyException {//do
something...}
51.给出下面代码:( ) public class test{
static int a[] = new a[10];
public static void main(String args[]) { System.out.println(arr[10]); } }
那个选项是正确的? 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) && (str.length() > 10)) { 3) System.out.println(\
4) }
5) else if ((str != null) & (str.length() < 5)) { 6) System.out.println(\
- 13 - 第 页
Java程序设计习题集
7) }
8) else { System.out.println(\哪些行会导致错误?
A、 line 1
B、 line 2 C、 line 5 D、 line 8
54.下面哪种注释方法能够支持javadoc命令: ( AD )
A、 /**...**/
B、 /*...*/ C、 //
D、 /**...*/
55. 欲编写如下图的一个界面,用于显示用户指定的图像: 如果在区域A中只能放置一个AWT组件,从各组件的本来功能角度考虑,最好使用哪种组件:( D )
A、 TextArea B、 Panel C、 Applet
D、 Canvas
56. 界面如上题所示。若\的功能是:点击后弹出一个用于输入的界面,获取用户想要显示的图像文件名,则该界面最好是(从编程简单和程序不易出错的角度考虑):( C ) A、 模式(Modal)Dialog
B、 非模式(None-modal)Dialog C、 FileDialog
D、 Frame
57. 界面如上题所示。如果在A区域使用某种AWT组件(java.awt.Component的子类)来负责绘制图像,则绘图的语句最好应放在该组件的哪个方法中(考
- 14 - 第 页
Java程序设计习题集
虑到应用程序和Java虚拟机的AWT线程都会要求重画该组件)? ( D )
A、 构造方法
B、 paint(Graphics g) C、 update(Graphics g) D、 repaint()
58.下面关于Applet的说法正确的是 ( B )
A、 Applet也需要main方法
B、 Applet必须继承自java.awt.Applet C、 Applet能访问本地文件 D、 Applet程序不需要编译 59.看下面一段程序:( C ) class Aclass{
void go(){
System.out.println(\ } }
public class Bclass extends Aclass{ void go{
System.out.println(\ }
public static void main(String args[]){ Aclass a=new Aclass(); Aclass a1=new Bclass(); a.go(); a1.go(); }
以上程序运行结果是: A、 Aclass Aclass B、 Bclass Bclass
C、 Aclass Bclass
D、 Bclass Aclass
60.下列关于Java线程的说法那些是正确的( D )
A、 每一个Java线程可以看成由代码、一个真实的CPU以及数据三部份组成。
- 15 - 第 页
Java程序设计习题集
B、 创建线程的两种方法中,从Thread类中继承的创建方式可以防止出现多父类问题。
C、 Thread类属于java.util程序包。 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 类的子类并且存储该源程序文件的文件名必须为 MyApplet.java 。
8.一个Java Application源程序文件名为MyJavaApplication.java,如果使用Sun公司的Java开发工具JDK编译该源程序文件并使用其虚拟机运算这个程序的字节码文件,应该顺序执行如下两个命令:
javac MyJavaApplication.java 、 java MyJavaApplication 。 9.在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码字符占用 2 字节内存空间,这样,无论是中文字符还是英文字符,每个都是占用 2 字节内存空间。 10.在Java程序中定义的类有两种成员: 变量 、 访法 。
11.Java源程序是由类定义组成的,每个程序中可以定义若干个类,但是只有一个类是主类。在Java Application中,这个主类是指包含 main() 方法的类;在Java Applet里,这个主类是一个系统类 applet 的子类。
- 16 - 第 页
Java程序设计习题集
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 < MyIntArray.length ; i + + ) s += MyIntArray[i] ; System.out.println( s );
19.执行下列代码后的结果是什么? int x,a=2,b=3,c=4; x=++a+b+++c++; ________
20. ________包包含了Collection的接口和类的API.
21.main方法的声明格式包括 ________
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();
set.add(new A()); set.add(new A()); set.add(new A());
System.out.println(set.size()); } }
- 17 - 第 页
Java程序设计习题集
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) {
fast.step++; }
}
public static void main (String args[]) {
A a=new A();
Dog d=a.new Dog(\ d.step=25; d.run(d);
System.out.println(d.step); } }
24.Collection的 四种主要接口是 ________、 ________、 ________、 ________
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 (\size=\localVar=\finalLocalVar =\
8.return new Inner(); }
- 18 - 第 页
Java程序设计习题集
9. }
10. public class OuterTest{
11. public static void main(String[] args){ 12. Outer outer=new Outer (); 13. Object obj=outer.makeInner(56);
14. System.out.println(\26.下列代码不能编译的原因是 ________ Class A{
Private int x;
Public static void main(String args[]) {
new B();
}
class B{
B(){System.out.println(x); }
} }
27.Java中类成员的限定词有以下几种:private, public, ________, ________。其中, ________的限定的范围最大。 28.Java中所有类都是类 ________的子类。
29.请填出在java.lang包中与下列基本数据类型相对应的封装类: float:java.lang.Float, char: ________, boolean: ________。 30.请写出下面程序的运行结果。
public class Test extends TT{
public void main(String args[]){ Test t = new Test(\ }
public Test(String s){
super(s);
System.out.println(\ }
public Test(){
this(\ } }
class TT{ public TT(){
- 19 - 第 页
Java程序设计习题集
System.out.println(\ }
public TT(String s){ this();
System.out.println(\ } }
结果: ________
31.给定下面的未完成的代码片断:
public class Example{ int x,y;
public Example(int a){ ?
x = a; }
public Example(int a, int b){
//和上面一个参数的构造方法做同样的操作,包括赋值 x=a y = b; } }
如果要用最简捷的一行代码实现\和上面一个参数的?\指出的功能,请写出你认为最合适的一行代码: ________
32.如果有一个类MyFrame是Frame的子类,能够被不同包中的类所使用,同时又能够为线程提供运行代码(run()方法),请写出该类的声明头。 你的解答: ________
33.将主方法的参数逐个打印输出,文件名为mtest.java //类的声明 {
main(String args [ ] ) {
int n=args. ; //n为数组长度 if(n==0)
System.out.println(“没有参数”); else {
System.out.println(“参数个数:”+n);
for(int i=0; ) //循环
System.out.println(“args[”+i+”]=”+ ; //打印数组元素
- 20 - 第 页
Java程序设计习题集
} }
}
34.Applet程序:有2个复选框,其名称为“玩耍”和“学习”,根据选择情况,分别显示“我就喜欢玩耍”,“我只喜欢学习”,“两个我都喜欢”。 import java.applet.Applet; import java.awt.*; import java.awt.event.*; //定义类testCheck public class testCheck {
Checkbox c1,c2; String s=\
public void init() {
c1=new Checkbox(\玩耍\ c1.addItemListener(this); add(c1);
c2=new Checkbox(\学习\ c2.addItemListener(this); add(c2);
}
(ItemEvent e) //Checkbox选择事件响应处理方法 {
if( ) //如果两个都选择 s=\玩耍和学习我都喜欢\ else if(c1.getState()) s=\我就喜欢玩耍\ else if(c2.getState()) s=\我只喜欢学习\ else s=\
//重画 }
public void paint(Graphics g)
{
//在(20,80)处显示字符串s }
- 21 - 第 页
Java程序设计习题集
}
对应HTML文件
36.根据applet参数显示图片,参数为图片文件名,图片文件在HTML文件同一目录下
import java.applet.Applet; import java.awt.*;
public class {
String fn; //图片文件名
int fw,fh; //图片显示的宽度和高度 Label fname;
public void init() {
fname=new Label(\ ;
fn=getParameter(\取得参数 }
public void paint(Graphics g)
{
Image pic;
pic=getImage( ,fn);//取得图片对象 if(pic!=null) {
fname.setText(fn); fw=pic.getWidth(this); fh=pic.getHeight(this);
(pic,50,50,fw/2,fh/2,this); //画图
} else
fname.setText(\无法找到图片!\
} }
对应HTML文件