1、目 录一、判断题2二、选择题4三、填空题17四、写出下列程序完成得功能25五、写出下面程序得运行结果29六、使用Java语言编写程序33七、简答题34Java程序设计习题集一、判断题1.Java程序里,创建新得类对象用关键字new,回收无用得类对象使用关键字free。( F )2.有得类定义时可以不定义构造函数,所以构造函数不就是必需得。( F )3.类及其属性、方法可以同时有一个以上得修饰符来修饰。( T )4.Java得屏幕坐标就是以像素为单位,容器得左下角被定为坐标得起点。( F )(应该就是左上角)5.抽象方法必须在抽象类中,所以抽象类中得方法都必须就是抽象方法。( F)6.Final
2、类中得属性与方法都必须被final修饰符修饰。( F )(静态得必须被静态得修饰符修饰)7.最终类不能派生子类,最终方法不能被覆盖。(T )8.子类要调用父类得方法,必须使用super关键字。( T )9.一个Java类可以有多个父类。( F )10.如果p就是父类Parent得对象,而c就是子类Child得对象,则语句c = p就是正确得。( F )11.一个类如果实现了某个接口,那么它必须重载该接口中得所有方法。( T )12.当一个方法在运行过程中产生一个异常,则这个方法会终止,但就是整个程序不一定终止运行。( T )13.接口就是特殊得类,所以接口也可以继承,子接口将继承父接口得所有常
3、量与抽象方法。( T )14.用“+”可以实现字符串得拼接,用 可以从一个字符串中去除一个字符子串。( F )15.一个容器中可以混合使用多种布局策略。( T ) 16.一个线程对象得具体操作就是由run方法得内容确定得,但就是Thread类得run方法就是空得,其中没有内容;所以用户程序要么派生一个Thread得子类并在子类里重新定义run方法,要么使一个类实现Runnable接口并书写其中run方法得方法体。( T )17.Java得源代码中定义几个类,编译结果就生成几个以、class为后缀得字节码文件。( T )18.Java Applet就是由独立得解释器程序来运行得。( F )19.
4、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文件得浏览器充当解释器来
5、解释运行。( 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类中得i
6、n就是一个输入对象。( 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语句块只能有一个或者可
7、以没有。( 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);运行此程序得结果就是输
8、出17。 (F)49、float x=26f; int y=26; int z=x/y; 以上语句能正常编译与运行。( F)50、判断下面说法得正误:int x=9; if(x8 and x 2 得值就是( B )。 A、1 B、2 C、3 D、48.若a得值为3时,下列程序段被执行后,c得值就是多少?( C ) c = 1; if ( a0 ) if ( a3 ) c = 2; else c = 3; else c = 4; A、1 B、2 C、3 D、49.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序得开头写上( C )语句。 A、import j
9、ava、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类得对象。
10、B、final类不但可以用来派生子类,也可以用来创建final类得对象。 C、abstract不能与final同时修饰一个类。D、abstract方法必须在abstract类中声明,但abstract类定义中可以没有abstract方法。12.若需要定义一个类域或类方法,应使用哪种修饰符?( A ) A、static B、package C、private D、public13.若在某一个类定义中定义有如下得方法: abstract void performDial( );该方法属于( D )。 A、本地方法 B、最终方法 C、解态方法 D、抽象方法14.下列关于静态初始化器得叙述中,哪一个就
11、是正确得?( B ) A、静态初始化器就是在构造函数之前加上static修饰符。 B、静态初始化器就是对类自身进行初始化。 C、静态初始化器在同一个类中只能有一个。 D、静态初始化器就是在其所属得类加载内存时不就是由系统自动调用执行。15.不使用static修饰符限定得方法称为对象(或实例)方法,下列哪一个说法就是正确得?( AB ) A、实例方法可以直接调用父类得实例方法。 B、实例方法可以直接调用父类得类方法。 C、实例方法可以直接调用其她类得实例方法。 D、实例方法不可以直接调用本类得类方法。16.设有下面两个类得定义:class Person class Student extends
12、 Person long id; / 身份证号 int score; / 入学总分 String name; / 姓名 int getScorereturn 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 )
13、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、S
14、how( ) 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声明一个接口时,
15、只可以使用( D )修饰符修饰该接口。 A、private B、protected C、private protected D、public22.设有下面两个赋值语句: a = Integer、parseInt(“1024”); b = Integer、valueOf(“1024”)、intValue; 下述说法正确得就是( D )。 A、a就是整数类型变量,b就是整数类对象。 B、a就是整数类对象,b就是整数类型变量。 C、a与b都就是整数类对象并且它们得值相等。 D、a与b都就是整数类型变量并且它们得值相等。23.在Java Applet程序用户自定义得Applet子类中,常常重载( D
16、)方法在Applet得界面中显示文字、图形与其它界面元素。 A、start( ) B、stop( ) C、init( ) D、paint( )24.在Java中,存放字符串常量得对象属于(B )类对象。 A、Character B、String C、StringBuffer D、Vector25.在Java中,开发图形用户界面得程序需要使用一个系统提供得类库,这个类库就就是( B )包。 A、java、io B、java、awt C、java、applet D、java、awt、event26.在Java图形用户界面编程中,若显示一些不需要修改得文本信息,一般就是使用( C )类得对象来实现。
17、 A、JLabel B、JButton C、JTextArea D、JTextField27.创建一个标识有“关闭”按钮得语句就是( 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
18、D、throw29.在编写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、在创建子类得对象时,将先执行继承自
19、父类得无参构造函数,然后再执行自己得构造函数。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;32、paint方法使用哪种类型得参数? ( A )A、 Graphics B、 Graphics2D C、 String D、 Color33、指
20、出正确得表达式 ( C )A、 byte=128; B、 Boolean=null; C、 long l=0xfffL; D、 double=0、9239d; 34、指出下列程序运行得结果( B ) public class Example String str=new String(good); charch=a,b,c; public static void main(String args) Example ex=new Example; ex、change(ex、str,ex、ch); System、out、print(ex、str+ and ); Sytem、out、print(ex
21、、ch); public void change(String str,char ch) str=test ok; ch0=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(this is run); public static void main(String args) Thread
22、t=new Thread(new X); t、start; A、 第一行会产生编译错误 B、 第六行会产生编译错误 C、 第六行会产生运行错误 D、 程序会运行与启动 36、要从文件 文件中读出第10个字节到变量C中,下列哪个方法适合? ( D ) A、 in=new (); in、skip(9); int c=in、read; B、 in=new (); in、skip(10); int c=in、read; C、 in=new (); int c=in、read; D、 RandomAccess RandomAccessFile(); in、skip(9); int c=in、readBy
23、te; 37、容器被重新设置大小后,哪种布局管理器得容器中得组件大小不随容器大小得变化而改变?( A ) A、 CardLayout B、 FlowLayout C、 BorderLayout D、 GridLayout 38、给出下面代码: public class Person static int arr = new int10; public static void main(String a) System、out、println(arr1); 那个语句就是正确得?( C ) A、 编译时将产生错误; B、 编译时正确,运行时将产生错误; C 、输出零; D、 输出空。 39、哪个关
24、键字可以对对象加互斥锁?( 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
25、 ( 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 842、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)
26、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与St
27、udent就是类Person得子类; Person p; Teacher t; Student s; /p, t and s are all nonnull、 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
28、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 Pe
29、rson 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 747、哪个关键字可以抛出异常? ( C )A、 transient B、 finally C、 throw D、 static 48、Main方法得返回类型就是:( B
30、) A、 int B、 void C、 boolean D、 static 49、System类在哪个包中? ( D )A、 java、util B、 java、io C、 java、awt D、 java、lang50、对于下列代码:( ) public class Parent public int addValue( int a, int b) int s; s = a+b; return s; class Child extends Parent 下述哪些方法可以加入类Child? CA、 int addValue( int a, int b )/ do something、 B、 p
31、ublic 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 a10; public static void main(String args) System、out、println(arr10); 那个选项就是正确得?
32、 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、printl
33、n(more than 10); 4) 5) else if (str != null) & (str、length 5) 6) System、out、println(less than 5); 7) 8) else System、out、println(end); 哪些行会导致错误? A、 line 1 B、 line 2 C、 line 5 D、 line 8 54、下面哪种注释方法能够支持javadoc命令: ( AD )A、 /*、*/ B、 /*、*/ C、 / D、 /*、*/ 55、 欲编写如下图得一个界面,用于显示用户指定得图像: 如果在区域A中只能放置一个AWT组件,从各组件
34、得本来功能角度考虑,最好使用哪种组件:( D )A、 TextArea B、 Panel C、 Applet D、 Canvas 56、 界面如上题所示。若Button1得功能就是:点击后弹出一个用于输入得界面,获取用户想要显示得图像文件名,则该界面最好就是(从编程简单与程序不易出错得角度考虑):( C ) A、 模式(Modal)Dialog B、 非模式(Nonemodal)Dialog C、 D、 Frame 57、 界面如上题所示。如果在A区域使用某种AWT组件(java、awt、ponent得子类)来负责绘制图像,则绘图得语句最好应放在该组件得哪个方法中(考虑到应用程序与Java虚拟
35、机得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(Aclass); public class Bclass extends Aclass voi
36、d go System、out、println(Bclass); 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以及数据三部份组成。 B、 创建线程得两种方法中,从Thread类中继承得创建方式可以防止出现多父类问题。 C、 Thread类属于java、util程序包。 D、 以上说法无一正确。三、填空题1.一个复杂得应用系统必然包括有多个对象,这些对象间可能存在得关系有三种,它们就是: 继承 、 关联 与 包含 。