当前位置:文档之家› Java程序的设计习题集(含答案)

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

目录一、判断题 (2)二、选择题 (4)三、填空题 (17)四、写出下列程序完成的功能 (25)五、写出下面程序的运行结果 (29)六、使用Java语言编写程序 (33)七、简答题 (34)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 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"); 以上语句运行的结果是显示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、javaB、classC、htmlD、exe2.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&GlassesB、FirstJavaAppletC、_$theLastOneD、273.55.Java Application源程序的主类是指包含有( A )方法的类。

A、main方法B、toString方法C、init方法D、actionPerfromed方法6.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( B )个比特位。

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

A、1B、2C、3D、48.若a的值为3时,下列程序段被执行后,c的值是多少?( C )c = 1;if ( a>0 ) if ( a>3 ) c = 2; else c = 3; else c= 4;A、1B、2C、3D、49.在编写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同时修饰一个类。

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

12.若需要定义一个类域或类方法,应使用哪种修饰符?( A )A、staticB、packageC、privateD、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 )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中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。

相关主题