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 - 第 页