《Java程序设计》练习题 联系客服

发布时间 : 星期日 文章《Java程序设计》练习题更新完毕开始阅读faa6b8d2a58da0116c174994

《Java程序设计》练习题

一、判断题

1、Java语言采用面向对象的思想编程,具有跨平台、分布式、多线程等优点。( ) 2、在main方法中可以直接调用非静态的方法。 ( ) 3、方法重载就是一个类中有多个同名但有不同形参和方法体的方法。 ( ) 4、抽象类可有构造方法,因此也能用new进行实例化。 ( ) 5、一个类可继承多个父类,实现多个接口。 ( ) 6、用final修饰的类不能被继承。 ( ) 7、在Java程序中发生异常时,JVM会找到每个符合条件的catch都执行一次。 ( ) 8、一个Java源程序可有多个类,但只仅有一个public类,而且源程序名与public类名相同。( )

9、类A和类B在同一个包中,则除了私有成员外,类A可以访问类B的所有成员。( ) 10、接口中的成员变量全部为常量,方法为抽象方法。 ( ) 11、方法中的形参可以和方法所属类的属性同名。 ( ) 12、接口无构造器,不能有实例,也不能定义常量。 ( ) 13、java的类不允许嵌套定义。 ( ) 14、在接口中所有的方法都是抽象方法,所以必须在方法定义之前加上abstract关键字。 ( ) 15、抽象类中不能包含final修饰的方法。 ( ) 16、在Java程序中异常分为运行时异常和非运行时异常,非运行异常必须进行处理( ) 17、System.out和System.err都是标准的输出流,都可以在监视器上打印输出 ( ) 18、在JFrame中添加组件时不能直接用add方法。 ( ) 19、如果想让Frame窗口能够被关闭,则可以实现WindowListener接口,并且实现

windowClosing()方法。 ( ) 20、GridLayout的构造器可以包含两个参数,分别是指网格的行数和列数,行数为0则表示可以有任意行,列数为0则表示可以有任意列 ( ) 21、启动多线程必须调用start()方法, 如果调用run方法则没有启动新的线程 ( ) 22、run方法是运行线程的主体,若run方法运行结束,线程就消亡了。 ( ) 23、利用File对象可以判断一个文件或目录是否存在。 ( ) 24、JFrame,JPanel,JApplet和JButton四种组件都属于容器组件。 ( ) 25、BorderLayout是面板的缺省布局管理器。 ( ) 26、BorderLayout最多可以使用5个组件。 ( ) 27、一个面板(JPanel)不能被加入另一个面板(JPanel)中。 ( ) 28、菜单需要一个JMenuBar对象,以使他们能被添加到JFrame。 ( ) 29、线程可以用yield使同优先级的线程运行。 ( ) 30、System.in是标准输入流,能用read方法读取键盘的输入。 ( )

31、数据流就是数据通信通道,指在计算机的输入输出之间运动的数据序列。( ) 32、标签(JLabel)可以在屏幕上显示一个字符或一幅画。 ( ) 33、BorderLayout是容器javax.swing.JFrame默认的布局管理器。 ( ) 34、编写小应用程序(Applet)一般需要编写两种类型的文件,即Java源文件和Html文件。 ( ) 35、要在程序中实现多线程,必须在源程序前面使用import语句显示的导入Thread类。

( )

第 1 页 共 48 页

36、通过类java.net.URL中的成员方法可获得网络资源定位器的相关信息( ) 37、catch块后必须有finally块。 ( ) 38、JTextArea可以用来接收多行文本的输入。 ( ) 39、一个线程创建并启动后,它将执行自己的run()方法。 ( ) 40、Socket的实例对象调用其成员方法getInputStream来获得该Socket所对应的输入流。( )

51、在Java坐标系统中,X值从左向右增加。( )

52、BorderLayout布局管理器把组件排列在北、南、东、西和中间区域。( ) 53、JTextArea是提供操作单行文本的区域。( ) 54、异常处理器的排列次序影响处理异常的方法。( ) 55、线程可以用yield方法使较低优先级的线程运行。( ) 56、随机存取文件中的记录必须等长。( )

57、数据报(DatagramPacket)传输是不可靠的,无法保证包按顺序到达。( ) 58、用catch(Exception exception)语句可以捕获所有异常和错误。( ) 59、每个Java线程的优先级都设置在常数1~12之间,默认的优先级设置为常数6。( ) 60、当Socket连接上面的传输结束后,服务器执行Socket的shutdown方法来关闭连接。( )

二、填空题

1、在JDK操作命令中,编译命令(或编译器)是_____________________,运行命令(或解释器)是___________________,Java类文件归档命令是________________________,使 Applet应用小程序脱离Web浏览器环境进行运行和调试的命令是________________________。

2、在Java基本数据类型中,float的缺省值是_________________,boolean的缺省值是__________________。Java的变量类型分为_______________数据类型和______________数据类型。

3、已知int x=123,则表达式x/100+x0/10+x的值为___________________,表达式++x + x++的值为______________________。

4、设 int x=12,y=5; 执行语句(x%y==0)&&(x>y)的值为________________,执行语句 x=x++/--y 后x的值为 。

5、某Java源程序中有一个类的定义为:public class MyPrg,则该源程序的文件名应该为: 。

6、将一个字符串s转换为int型整数,需要用到包装类___ _ 的 ___ _ 方法。

7、语句String s = new String(\创建了 个String对象。 8、 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。 方法是不能被当前类的子类重新定义的方法。 9、定义字符串:

String s = new StringBuffer().append(\, 则s的值是____ _。

10、数组在Java语言中是一种__________________形式的数据类型,它存储的是数组的地址,而不是数组的元素值,System类里的__________________方法是复制数组的一种方法,它可指定需要复制元素和存放目标数组的位置。

11、创建一个名为 MyPackage 的包的语句是 ,

第 2 页 共 48 页

该语句应该放在程序的位置为: 。 12、在java源程序的类头中使用关键字________声明该类实现某个接口。

13、对象是用________________关键字实例化类之后的结果,______________访问修饰符所声明的类成员,仅能被同包(同路径)或具有继承关系的相关类使用。

14、当一个类获取另一个类中所有的非私有的数据和操作作为它自己的部分或全部成分时,就称为这两个类之间具有______________关系。________________是用来实现类间多重继承功能的结构。

15、用new关键字实例化类之后的结果是__________,接口是指利用___________关键字来声明,其中不包含任何实现语句,仅建立抽象成员方法的一种类。

16、抽象类用关键字___________修饰,抽象类的目的是___________________。

17、Java中所有类都是类 的子类。引用ArrayList和Vector都要加载的语句是______________________________。

18、Throwable的直接子类是_____ ___和___ ______。

19、java通过五个关键字来管理异常处理:try,catch,_______,_______,________。 20、输入流和输出流在Java中对应两个抽象类____________和_____________。InputStream及其子类读取_____流数据。Reader及其子类用于读取 流数据。

21、输入输出异常类的类名是: 、数组下标越界异常类的类名是: 。

22、用FileInputStream类创建文件(c:\\test.txt)对象的语句是____________________________________________,DataInputStream对象提供___________________方法可以按行读取文件内容。 23、创建以读写方式打开文件(c:\\test.txt)的RandomAcessFile对象,并使得raf成为该对象的应用变量的语句是 ;之后,从c:\\test.txt文件中读取一个int型整数到变量i中可以使用语句: 。

24、在编写Java界面程序时,常用的布局管理器包括流式布局管理器FlowLayout、边界布局管理器BorderLayout、_____________________和__________________。

25、相对于AWT的组件来说,swing中的组件被称作 ,JFrame是swing中的顶层容器组件,不能直接在它上面放置其他组件,而必须将组件放置在它内容面板上,

获得其内容面板容器的方法是: 。容器组件的布局管理器 决定放置在它上面的各组件的大小和位置,可以用 方法设置容器组件的布局管理器。

26、在Swing GUI层次体系中的顶层容器主要包括 javax.swing. 、javax.swing. 和javax.swing. 。

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

28、当小应用程序被调用时,类Applet成员方法 被首先调用,当关闭小应用程序时,类Applet成员方法 被最后调用。

29、Container 的________方法可以将_______组件加入容器。

30、编写一个线程可以用继承 类和实现 接口来实现。

31、在执行Java线程的程序中,程序通过调用_______方法启动线程,随后又调用________方法。

第 3 页 共 48 页

32、如果几个并发线程对相同的数据对象进行存取,可能导致数据不一致,为避免发生这种情况,需要编程实现线程同步,在执行访问共享数据的代码时对数据加互斥锁,加锁语句的关键字是_______ ___________,如果编程时不注意,加锁可能导致死锁,避免死锁的一般做法是 。 33、Java线程程序可以调用____________方法,使线程进入睡眠状态,可以通过调用___________________方法设置线程的优先级。

34、通过实现接口 可以创建一个包含线程体的类,该接口只申明了一个方法: ,假定一个线程体对象为rt,则可以用Thread myThread = 语句来创建一个线程对象,并用语句 启动myThread线程对象。

35、Java提供两种套接字,其中使用_______协议的被成为流套接字,使用____协议的被称为数据报套接字。

36、DatagramPacket类的________方法返回一个整数,它指定DatagramPacket的端口;DatagramPacket类的_________方法返回一个整数, 它代表DatagramPacket中的字节数。 37、在TCP协议下建立通信程序,在服务器端首先要创建类 的实例对象;在客户端,创建类 实例对象。

38、java.net中提供了两个类_________________和_______________,分别用于服务器端和客户端的Socket通信。

39、用Java实现网络编程时,在有连接的Socket通信机制中,服务器端阻塞用Socket对象的_________________方法,而在无连接的Socket通信机制中, 服务器端阻塞用DatagramSocket对象的_____________________方法。

40、基于TCP的Java网络编程中,服务器端阻塞用Socket对象的 方法。 基于UDP的Java网络编程中, 服务器端阻塞用DatagramSocket对象的 方法。

三、选择题

1、编译Java源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( ) A) .java B) .class C) .html D) .exe 2、Java 编译程序的文件名是( )

A) java.exe B) javadoc.exe C) javac.exe D) jar.exe

3、下述那一个保留字不是类及类成员的访问控制符( ) A) public B) private C) static D) protected 4、下列变量定义合法的是 ( ) A) boolean flag=False; B) int k = 1+‘1’; C) char c = “b”; D)float radius = 1.2;

5、下面哪个是不合法的变量名称? ( ) A) 2D B) True C) _name D) T1

6、 下面哪个定义变量的语句不合规范? ( ) A、 int retireAge=60;

B、 final int RETIREAGE=60; C、 static int retireAge=60;

第 4 页 共 48 页