admin 管理员组

文章数量: 1184232


2023年12月16日发(作者:fifo怎么设计)

一、选择题:

1. 运行Java程序需要的工具软件所在的目录是 A 。

A.JDK的bin目录 B.JDK的demo目录

C.JDK的lib目录 D.JDK的jre目录

解析:运行Java的JDK一共包含五个目录,分别是:bin目录,该目录包含Java编译器、解释器和许多工具(如服务器工具、IDL、package工具等);lib目录,该目录包含Java库文件jre目录,该目录是Java程序运行环境的根目录,它下面包含 bin子目录,包括平台所用工具和库的可执行文件以及DLL文件;demo目录,该目录包含源代码的程序示例;include目录,该目录包含Win32子目录,都是本地方法的文件。因此,本题的正确答案是A。

2. 下列关于Java语言特点的叙述中,错误的是

A

A.Java是面向过程的编程语言 B.Java支持分布式计算

C.Java是跨平台的编程语言 D.Java支持多线程

解析:Java是新一代编程语言,具有很多特点:简单易学;利用面向对象技术:分布式计算:健壮性(鲁棒性);安全性;跨平台(即体系结构中立):可移植性:解释执行;高性能;多线程;动态性。因此,本题的正确答案是A。

3. Java的核心包中,提供编程应用的基本类的包是 A 。

A. B. C. D.

解析:Java的核心包一共有12个,其中:包中封装了所有编程应用的基本类;包提供实用程序类和集合类,如系统特性定义和使用、日期函数类、集合等常用工具;包为Applet提供执行需要的所有类,。主要是访问Applet内容的通信类。包提供程序远程方法调用所需的类。因此,本题的正确答案是A。

4. 下列关于Java对import语句规定的叙述中,错误的是 C 。

A.在Java程序中import语句可以有多个

B.在Java程序中import语句可以没有

C.在Java程序中import语句必须有一个

D.在Java程序中import语句引入在所有类定义之前

解析:Java程序中使用import关键字导入一个包中的类。在一个Java源程序中,可以有0个或多个import语句,但是必须在所有类定义之前引入标准类。因此,本题中选项C的说法是错误的。

5. 在编译Java程序时,用于指定生成.class文件位置的选项是 B 。

A.-g B.-d C.-verbose D.-vonarn

解析:是Java编译器,能将源程序代码编译成字节码,以.class扩展名存入Java工作目录中。它的命令格式为:javac[选项]文件名。其中[选项]包括几下几个:

●-g 输出文件中加行号以及局部变量信息,为调试程序时用。

●-o 对类文件进行优化编译。

●-nowarn 关闭警告信息,只显示错误信息。

●-verbose 显示源代码文件和字节码文件的相关信息。

●-d<目录> 指定存放生成的类(.class)文件的位置

根据上述介绍可知,在编译Java程序时,可以通过选项-d来指定生成的.class文件的位置。因此,本题的正确答案是B。

1

6. 下列关于构造方法的叙述中,错误的是 C 。

A.Java语言规定构造方法名与类名必须相同

B.Java语言规定构造方法没有返回值,但不用void声明

C.Java语言规定构造方法不可以重载

D.Java语言规定构造方法只能通过new自动调用

解析:本题考查的是构造方法的使用。Java浯言中,构造方法是一种特殊的方法,是为对象初始化操作编写的方法,用它来定义对象的初始状态。Java中的每个类都有构造方法,它也是由方法名、参数和方法体组成的。构造方法有如下特点:

●构造方法的名字必须与类名相同。

●构造方法不返回任何数据,但不用void来声明。

●用户不能直接调用构造方法,必须通过关键字new自动调用。

●构造方法可由用户在类中定义,默认时由Java语言自动生成。但它是个空方法,变量被赋予该数据类型的默认值。

●在构造方法实现中,可以进行方法重载,即定义多个构造方法。重载构造方法的目的是使类具有不同的初始值,为类对象的初始化提供方便。

根据上述构造方法的特点可知,本题选项C的说法是错误的

7. 下列叙述中错误的是 D 。

A.Java Application与Applet所用编译命令相同

B.通常情况下,Java Application只能有一个main()方法

C.Java Applet必须有HTML文件才能运行

D.Java Applet程序的.class文件可用Java命令运行

解析:本题考查的是Java中的Applet以及Applt与Application的区别。选项A,

Applet的运行方式和Java Application不同,但是Applet在运行前也必须被编译为类文件,这点和Application是一样的。因此,它们都用javac进行编译。因此,选项A的说法是正确的。选项B,在每个应用程序Application中可以包含多个方法,但应用程序都是以main()方法为入口点执行,因此必须有且只能有一个main方法。故选项B的说法是正确的。选项C,Applet是能够嵌入HTML语言中,并能够在浏览器中运行的类。Applet的运行环境是Web浏览器,所以必须建立HTML文件,告诉浏览器如何加载与运行Applet。所以,选项C的说法是正确的。选项D,根据选项C的分析,Applet是不能直接通过Java命令行启动运行的。因此,选项D的说法是错误的。

8. 处理对象传输的接口是 A 。

A.Serializable B.Cloneable C.ItenListener D.ActionListener

解析:处理对象传输就是把对象串行化。Java语言中,如果要串行化某些类的对象,这些类就必须实现Serializable接口。因此,本题的正确答案是A。

9. 在读取二进制数据文件的记录时,为了提高效率常常使用的一种辅助类是 C 。

A.InputStream B.FileInputStream C.BufferedInputStream D.BufferedReader

解析:本题考查Java语言的输入/输出流。选项A的InputStream类、选项B、的

FilelnputStream类、选项D的BufferedReader类都是Java语言中和输入输出直接相关的类,不属于辅助类,因此可以直接判断出选项C为正确答案。

另一方面,我们也可以详细分析每个选项。题目中要求读取二进制数据文件的记录,因此要使用字符输入流。选项A的InputStream是.包中的抽象类,是所有字节输入流的父类。题目要求的是字符输入流,显然,选项A不对。选项B的 FileInputStream是一个字节输入流,它可以对一个磁盘文件涉及的数据进行处理。和选项A一样,选项B是错的。

2

选项C的StringBuffer是一个表示可变长度字符串的类,在读取文件时并不知道读取字符的具体长度,因此为StringBuffer类对象分配的内存会自动扩展从而容纳新增的字符,这提高了读取的效率。所以,StringBuffer是一个可以提高读取文件效率的辅助类。故选项C是正确答案。选项D的BufferedReader虽然是一个字符输入流,用于从字符输入流中读取文本并将字符存入缓冲区。但是, BufferedReader直接用于文件的读取,不起辅助作用。所以,选项D是错误的。

10.下列事件监听器中,无法对TextField对象进行事件监听和处理的是 D 。

A.ActionListener B.FocusListener C.MouseMotionListener D.ChangeListen

解析:本题考查AWT事件处理。事件就是发生在用户界面上的用户交互行为所产生的一种效果。每类事件都有对应的事件监听器,监听器就是接口。在单行文本输入区(TextFielD)

构件上可能发生的事件包括:FocusEvent焦点事件,焦点的获得和丢失。这类事件所对应的事件监听器是FocusListener:ActionEvent动作事件,按钮按下,TextField中按Enter键。这类事件所对应的事件监听器是ActionListener; MouseEvent鼠标事件,鼠标单击、释放、拖动、移动。这类事件所对应的事件监听器是MousetMofionListener。当然还包括其他一些,但是在所有事件及其所对应的事件监听器中,不包括ChangeListener这样一个事件监听器。因此,本题的正确答案是 D。

11.有一段java 应用程序,它的主类名是Abc,那么保存它的源文件名可以是 C 。

A. B. C. D.以上都可以

12.每个Java小应用程序必须定义为 A 。

A.Applet类或JApplet类的子类 B.JFrame类的子类

C.Frame的子类 D.Window的子类

解析:本题考查Applet的基本知识。Applet类定义了小应用程序(Applet)与其运行环境之间的一个接口;JApplet是Applet类的扩展,它继承了Applet的方法和执行机制,同时也增加了对Swing构件的支持。每个Java小应用程序都必须是Applet类或JApplet类的子类。因此,本题的正确答案是A。

13.在Applet的init()方法被调用后,接下来最先被调用的方法是 B 。

A.run() B.start() C.stop() D.destroy()

解析:Applet生命周期包括Applet的创建、运行与消亡几个状态。Applet类提供了在生命周期不同阶段响应主要事件的4种方法,这4种方法的调用次序如下图所示。

由上图可知,在调用完init()方法后,接下来最先被调用的是start()方法。因此,本题的正确答案是B。

14.整型数据类型中,需要内存空间最少的是 D 。

A.short B.long C.int D.Byte

15.下列标识符(名字)命名原则中,正确的是 D 。

A.类名的首字母小写 B.变量和方法名的首字母大写

3

C.接口名的首字母小写 D.常量完全大写

解析:Java命名的基本原则包括如下几条:、$不作为变量名、方法名的开头;变量名、方法名首单词小写,其余单词只有首字母大写;接口名、类名首单词第一个字母大写;常量完全大写。根据上述命名规则,选项D的说法是正确的。

16.Java中定义常量的保留字是 B 。

A.const B.final C.finally D.Native

解析:fmal是最终的修饰符,其修饰的是常量。

17.在调用方法时,若要使方法改变实参的值,可以 C 。

A.用基本数据类型作为参数 B.用指针作为参数

C.用对象作为参数 D.以上都不可以

18.下列有关Java布尔类型的描述中,正确的是 A 。

A.一种基本的数据类型,它的类型名称为boolean B.用int表示类型

C.其值可以赋给int类型的变量 D.有两个值:1代表真,0代表假

19.Java中所有类的父类是 D 。

A.Father B.Lang C.Exception D.Object

解析:ObJeot是所有类的根。

20.下列数中为八进制的是 C 。

A.27 B.0x25 C.026 D.028

解析:采用0,1,2,3,4,5,6,7八个数码,逢八进位,并且开头一定要以数字0开头的为八进制。

21.容器被重新设置大小后, B 布局管理器的容器中的组件大小不随容器大小的变化而改变?

A. CardLayout B. FlowLayout C. BorderLayout D. GridLayout

22.下列包中,包含Scanner类的是 C 。

A. B. C. D.

23.下列选项中,与成员变量共同构成一个类的是 B 。

A.关键字 B.方法 C.运算符 D.表达式

解析:类体中定义的两种成员,数据成员和成员函数。

24.Java中的抽象类Reader和Writer所处理的流是 D 。

A.图像流 B.对象流 C.字节流 D.字符流

解析:Reader/Writer所处理的流是字符流,InputStream/OutputStream的处理对象是字节流。

25.下列命令中, A 是Java的编译命令。

A.java B.javadoc C.javac D.Jar

解析:本题考查java中JDK工具。javac是Java编译命令,能将源代码编译成字节码,以.class扩展名存入java工作目录中。java是Java解释器,执行字节码程序,该程序是

4

类名所指的类,必须是一个完整定义的名字。javadoc是Java文档生成器,对Java源文件和包以MML格式生成AP文档。appletviewer是avaApplet浏览器。选项A正确。

26.用于在子类中调用被重写父类方法的关键字是 B 。

A.this B.super C.This D.Super

27.下列不属于表达式语句的是 C 。

A.++i; B.--j; C.b#a; D.b*=a;

解析:前两项是自加减运算,最后一项是b=b*a。

28.下列为窗口事件的是 B 。

A.MouseEvent B.WindowEvent C.ActionEvent D.KeyEvent

解析:MouseEvent鼠标事件,AcfionEvent组件事件,KeyEvent键盘事件。

29.用鼠标点击菜单项(MenuItem)产生的事件是 B 。

A.MenuEvent B.ActionEvent C.KeyEvent D.MouseEvent

解析:ActionEvent组件事件,当特定于组件的动作(比如被按下)发生时,由组件(比如Button)生成此高级别事件。事件被传递给每一个ActionListener对象,这些对象是使用组件的addActionListener方法注册的,用以接收这类事件。

30.当一个Applet被加载,后续对Applet生命周期方法的调用中,可能存在的次序是

B 。

A.start(),stop(),destroy()

B.init(),start(),stop(),start(),stop(),destroy()

C.start(),init(),stop(),destroy()

D.init(),start(), destroy()

31. 在HTML文件的标志中作为可选属性的是 C 。

A.Applet主类的文件名 B.Applet显示区域的宽度

C.Applet主类的路径 D.Applet显示区域的高度

32.将长整型(long)数据转换为较短的整数类型(int)数据,要进行 B 。

A.类型的自动转换 B.类型的强制转换

C.无需转换 D.无法实现

解释:精度由小到大自由转换,由大到小强制转换

33.下列特点中不属于Java的是 B 。

A.多线程 B.多继承 C.跨平台 D.动态性

34.下列标识符定义中,不合法的是 D 。

A.int $x; B.int _123; C.int Sum_2; D.int #dim;

35.下列选项中为单精度数的是 C 。

A.2 B.5.2 C.0.2f D.023

36.类变量必须带有的修饰符是 A 。

A.static B.final C.public D.volatile

5

37.下列选项中属于字符串常量的是 B 。

A.’abc’ B.”abc” C.[abc] D.(abc)

38.Java程序默认引用的包是 C 。

A.包 B.包 C.包 D.包

39.当一个Applet所在的Web页面被其他页面覆盖后,不可能被调用的Applet方法是 B

A.destroy() B.init() C.stop() D.start()

40.用于设置组件大小的方法是 B 。

A.paint() B.setSize() C.getSize() D.repaint()

解析:在构件类的方法中,paint()方法是绘制构件.selSize()方法是设置组件大小,getSize()方法是获得组件大小, repaint()方法是重新绘制构件。

41.点击窗口内的按钮时,产生的事件是 C 。

A.MouseEvent B.WindowEvent C.ActionEvent D.KeyEvent

解析:在构件的事件类中,MouseEvent事件是鼠标事件,鼠标单击,移动,WindowEvent事件是窗口事件,关闭窗口,窗口闭合,图标化,ActionEvent事件是动作事件,按钮按下,TextField中按Enter键,KeyEvent事件是键盘事件,键按下、释放。

42.AWT中用来表示对话框的类是 D 。

A.Font B.Color C.Panel D.Dialog

解析:AWT中Font是表示字体的类,Color是表示颜色的类,Panel是表示面板的类,Dialog是表示对话框的类。

43.下列运算符中,优先级最高的是 D 。

A.+= B.== C.&& D.++

解析:算术运算符的优先级中,++和--级别最高。

44.下列运算中结果为1的是 B 。

A.8>>1 B.4>>>2 C.8<<1 D.4<<<2

解析:>>是按位右移运算符,<<是按位左移运算符,>>>是添零右移运算符,没有<<<运算符。

45.在关闭浏览器时调用,能够彻底终止Applet并释放该Applet所有资源的方法是

B 。

A.stop() B.destroy() C.paint() D.start()

解析:APpld的生命周期中有四个状态:初始态、运行态、停止态和消亡态。当程序执行完init()方法以后,Applet程序就进入了初始态;然后马上执行start()方法,Applet程序进入运行态;当Applet程序所在的浏览器图标化或者是转入其它页面时,该Applet程序马上执行stop()方法,Applet程序进入停止态;在停止态中,如果浏览器又重新装载该Applet程序所在的页面,或者是浏览器从图标中复原,则Applet程序马上调用start()方法,进入运行态;当然,在停止态时,如果浏览器关闭,则Applet程序调用destroyO方法,进入消亡态。

46.自定义异常类的父类可以是 C 。

6

A.Error B.VirtualMachineError C.Exception D.Thread

解析:自定义异常类都是Throwable及其子集,所以只有C可以做它的父类。

47.Applet的默认布局管理器是 B 。

A.BorderLayout B.FlowLayout C.GridLayout D.PanelLayout

解析:布局管理器主要有:FlowLayout,BorderLayout,GridLayout,CardLayout和

GridBagLayout等,可根据不同的布局需要选择不同的管理器。布局管理器不能直接响应用户操作,需要在程序中添加响应用户操作的代码。 FlowLayout布局管理器,是Panel和Applet的默认布局管理器。使用FlowLayout进行布局,在大小不变的容器中,构件的放置规律是从上到下、从左到右依次放置;当容器大小发生变化时,构件变化规律是构件大小不变,但其相对位置改变。FlowLayout的构造方法包括:FlowLayout(<对齐方式>.<横向间隔>,<纵向间隔 >)、FlowLayout(<对齐方式>)默认的横向和纵向间隔都是5、FlowLayout()默认居中方式,以及横向和纵向间隔是5。

48.Java中类ObjectOutputStream支持对象的写操作,这是一种字节流,它的直接父类是

C 。

A.Writer B.DataOutput C.OutputStream D.ObjectOutput

解析:ObjectOutputStream的直接父类是IutputStream。

49.在方法内部使用,代表对当前对象自身引用的关键字是 D 。

A.super B.This C.Super D.This

解析:super关键字为实现对父类变量的访问和对父类方法的调用。对当前对象自身的引用应使用this关键字。

50.下列语句中,语法正确的是 。

A.byte y = 11; byte x = y +y;

B.String x = new Object();

C.Object x = new String(“Hellow”);

D.int a[11] = new int[11];

51.下列 A 事件表明在一个ent构件之上有一个按键按下。

A. KeyEvent B. KeyDownEvent C. KeyPressEvent D. KeyTypedEvent

52. D 创建一个监听类,当鼠标移动时,它可以接受事件。

A. 通过继承MouseListener接口 B. 通过实现MouseListener接口

C. 通过继承MouseMotionListener接口 D. 通过实现MouseMotionListener接口

53. 以下说法正确的是 A 。

A.一个gridLayout布局管理器可以将多个构件定位在多行或多列上

B.一个borderLayout布局管理器的North位置是放置一个Frame的菜单条的恰当位置

C.一个gridLayout布局管理器的各单元的大小由各自所放置的构件决定

D.一个borderLayout布局管理器中的构件的大小不随容器大小的改变而改变

54. 假定有一个动作事件(ActionEvent), B 方法可以判别出产生事件的构件。

A. public Class getClasses() B. public Object getSource()

C. public EventObject getSource() D. public Component getTarget()

7

解析:a,没有此方法,返回的是此ActionEvent的class的方法应该是继承Object类的 方法 public final Class getClass();

55. A 布局管理器使用的是组件的最佳尺寸。

A.FlowLayout B.BorderLayout C.GridLayout D.CardLayout

56. 可以构建一个BufferedStream流。

A.new BufferedInputStream(“”);

B.new BufferedInputStream(new File(“”));

C.new BufferedInputStream(new InputStream(“”));

D.new BufferedInputStream(new File InputStream(“”));

57. 可以确定prefs是一个目录或文件。

A.Boolean exists=(“prefs”);

B.Boolean exists=(new File(“prefs”)).isDir();

C.Boolean exists=(new Directory(“prefs”)).exists();

D.Boolean exists=(new File(“prefs”)).isDirectory();

58. B 可以获得文件的父目录名。

A.String name=entName(“”);

B.String name=(new File(“”)).getParent();

C.String name=(new File(“”)).getParentName();

D.String name=(new File(“”)).getParentFile();

解析:a,File 没有getParentName(String path)静态方法

c,同上,没有getParentName()这个方法

d, File的getParentFile() 返回的是一个File对象,可以这样写

String name=(new File("")).getParentFile().getPath();

59. 以下说法正确的是 D 。

A. Error类是一个RuntimeException异常

B. 任何抛出一个RuntimeException异常的语句必须包含在try块之内

C. 任何抛出一个Error对象的语句必须包含在try块之内

D. 任何抛出一个Exception异常的语句必须包含在try块之内

60. 以下说法正确的是 D 。

A. 应用程序中可以使用的所有语句都可以在Applet中使用

B. Applet程序中可以使用的所有语句都可以在应用程序中使用

C. Applet程序都可以当做应用程序使用

D. (0)不能在Applet中使用

二、填空题

1. JVM指的是Java 虚拟机 。

2. Java中的字符变量在内存中占 16 位。

3. Java语言对简单数据类型进行了类包装,int对应的包装类是 integer 。

4. Java字节码文件的扩展名是 .class 。

5. 若类声明时加上修饰符 final ,则表示该类不能有子类。

8

6. Java的类库中提供Throwable类来描述异常,它有Error和 Exception 两个直接子类。

7. 一个Applet被浏览器加载后,是从 inti() 方法开始执行的。

8. 类方法不但可以由对象调用,还可以由 类名 调用。

9. Java接口内的方法都是公共的、 抽象 的。

10.运用 内部类 流可以提高读写数据的效率。

11.在Java语言中,用 abstract 修饰符定义的类称为抽象类。

12.在Java中,字符是以16位的 unicoed(国际) 码表示的。

13.抛出异常的语句是 throw 语句。

14.Java中用 private 修饰的成员变量不能被不同包中的类访问。

15. 在实现Serializable接口的类中,用 transient 关键字可使某些数据不被串行化。

16. 一个类只有实现了 serializable 接口,它的对象才是可串行化的。

17. 对Java对象的读写的过程被称为 对象的串行化 。

18. 在类的声明中,通过使用 extends 关键字创建一个类的子类。

19. 用户不能直接调用构造方法,只能通过 new 关键字自动调用。

20. AWT中的布局管理器包括FlowLayout、BorderLayout、GridLayout、CardLayout和

GridBagLayout。

21. 对于重写或继承的方法,Java运行时系统根据调用方法的 的类型来决定调用哪个方法。

22. Java不直接支持多继承,但可以通过 接口 实现多继承。

23. Java 源文件中最多只能有一个_ public ___类,其他类的个数不限。

24. Java对象串行化技术,主要是通过ObjectInputStream类和 ObjectOutputStream

类来实现。

25. 根据程序的构成和运行环境的不同,Java源程序分为两大类:__ Application __程序和Applet程序。

26. 创建包的语句应该放在程序的位置为 程序第一行 。

27. 按作用域分类,变量有局部变量、__ 类成员变量 __、方法参数和异常处理参数。

28. Java虚拟机能自动处理_ 运行 ___异常。

29. RandomAccessFile所实现的接口是___DataInput _和DataOutput 接口。

30. 开发与运行Java Application程序需要经过的三个主要步聚为编辑源程序、编译生成字节码、__ 解释运行 字节码 __。

31. 用 修饰符修饰的方法没有方法体.

32. 子类如果想用父类的构造方法,必须在子类的构造方法中用 super 关键字调用。

33. 在关键字中能代表当前类或对象本身的是 this 。

34. Java中使用 interface 关键字定义接口。

35. java中一个类通过使用 imlement 关键字声明自己使用一个或多个接口。

36. 接口中的方法的默认访问权限是 public 。

37. 数组声明后,必须使用 new 运算符分配内存空间。

38. Button类的直接父类是 。

39. 一个容器可以使用 add() 方法将组件添加到该容器中。

40. Java中 TextArea 类可以用来建立多行文本区。

三、判断题

1. Java编译器使用文件系统来保存程序包。(T)

9

2. Java源程序文件中是不区分字母的大小写的。(F)

3. 可以用new来创建一个类的实例,即"对象"。(T)

4. 匿名类没有构造方法。()

5. Java的接口方法必须声明成public。( )

6. Java中缺省浮点型是float。( F)

7. protected修饰的类成员只能被其子类访问。(F)

8. Java中类的构造方法只能有一个。(F)

9. 在构造方法中如调用super()语句,则必须使其成为构造方法的第一条语句。()

10.类的public类型的成员变量不可以被继承。(F)

11.子类可以继承父类所有的成员变量及成员方法。(F)

12.Java类中不能存在同名的两个成员方法。(F)

13.覆盖后的方法的访问权限不能比被覆盖的方法的访问权限大。( )

14.覆盖后的方法可以比被覆盖的方法抛出更多的异常。()

15.覆盖后的方法与被覆盖的方法的返回值可以不一样。()

16.内部类可以访问它所在类中的所有成员变量和方法。()

17.Java可以在方法的输入参数位置定义匿名内部类。()

18.无参数、无返回值的抽象方法sp可声明为”abstract void sp(){ };”。( )

19.抽象类不能实例化。()

20.实现接口的类不能是抽象类。()

21.抽象类中只能有抽象方法,不能包含非抽象的方法 。 ()

22.实现一个接口的非抽象类中一定要实现接口中的所有方法。 ()

23.一个类可以实现多个接口。 ()

24.定义在接口中的常量都默认为public、static和final。 ()

25.语句String[] s=new String[10];执行后,s[0] 为 未定义。(F)

26.StringBuffer类型的字符串是常量字符串。 (F)

27.用Javac编译Java源文件后得到代码叫字节码。 (T)

28.break语句可以用在循环和switch语句中。 ()

29.无名包中的类不能被其他包中的类引用。()

30.FileInputStream可以作为BufferedInputStream的参数。()

31. 在使用BorderLayout时,最多可以放入五个组件。()

32. 扩展的适配器类允许只覆盖想要使用的特定方法。()

33. RandomAccessFile并不是单纯的输入或输出流,它的直接父类是File类。()

34. Applet是一种特殊的Panel,它是java Applet的最外观容器。()()

35. Applet的类定义中虽然没有标准的main()方法,但仍可以用java命令独立运行。()

四、阅读程序,写出程序的运行结果

1.public class DoublearithmaticOperator{

public static void main(String args[]){

int a=10,b=4,c=20,d=6;

(a+b*c+d);

(",");

(a+c%b);

(",");

n(a++*b+c*--d);

}

}

10

2.public class PrintTest{

public static void main(String args[]){

int a=4,b=6,c=8;

String s="abc";

n(a+b+s+c);

n();

}

}

3.public class SwitchTest{

public static void main(String args[]){

int i=1;

switch (i) {

case 0: ("zero,"); break;

case 1: ("one,");

case 2: ("two,");

default: n("default");

}

}

}

4. public class MultiplyList {

public static void main(String[] args) {

String output="";

blabel: for(int row=1;row<=9;row++){

for(int col=row;col<=9;col++){

if(row<8)continue blabel;

output+=col+"*"+row+"="+(row*col)+" ";

}

output+="n";

}

n(output);

(0);

}

}

11

5. public class Koo{

public static void main(String args[]) {

int i=0,sum=0;

int[] anArray=new int[5];

while(i<) {

anArray[i]=5-i;

(anArray[i]+“ ”);

i++;

}

n();

}

}

6. public class CatchTest{

public static void main(String args[]){

int[] x={0,1,2,3};

for(int i=0;i<3;i+=2){

try{

n(x[i+2]/x[i]+x[i+1]);

}catch(ArithmeticException e){

n(“error1”);

}catch(Exception e){

n(“error2”);

}

}

}

}

7. class GrandFather{

GrandFather(){n(“GrandFather”);}

}

class Book{

Book(){n(“Book”);}

}

class Father extends GrandFather{

Father(){n(“Father”);}

}

public class Son extends Father {

private Book b=new Book();

public Son(){n(“GrandFather”);}

public static void main(String args[]){

12

new Son();

}

8. class Count{

public static int counter = 0 ;

public Count( ){

counter++ ;

}

public int getCount(){

return counter;

}

}

public class StaticTest{

public static void main(String[] args){

Count[] c = new Count[5];

for(int i=0;i<;i++){

c[i]=new Count();

n(c[i].getCount());

}

}

}

9. public class Calculation {

public float nums) {

int sum = 0;

for ( int x : nums ) {

sum += x;

}

return ((float) sum) / ;

}

public static void main(String args[]){

Calculation cal = new Calculation();

float av1 = (10, 20, 30);

n(av1);

}

}

13

10. package test;

public class OuterClass{

private class InterClass{

public InterClass(){

n(“InterClass”);

}

}

public OuterClass(){

InterClass ic= new InterClass();

n(“OuterClass”);

}

public static void main(String args[]){

OuterClass oc=new OuterClass();

}

}

11. import .*;

public class FileTest{

public static void main(String args[]){

File f=new File("document","old");

File d=new File("target");

();

To(new File("target","new"));

String l[]=();

for(int i=0;i<;i++)

n(l[i]);

}

}

12. interface ShowMessage { void 显示商标(String s); }

class TV implements ShowMessage{

public void 显示商标(String s) { n(s); }

}

class PC implements ShowMessage{

public void 显示商标(String s) { n(s); }

}

public class Example4_28{

public static void main(String args[]){

ShowMessage sm;

sm = new TV();

14

sm.显示商标("长城牌电视机");

sm = new PC(); sm.显示商标("联想奔月5008PC机");

}

}

五、程序填空

1. 以下为一个applet的完整程序,它使用”宋体”字体,在applet窗口中显示背景色为黑色,前景色为绿色的字符串”您好!”。

import .*;

import .*;

public class DrawStringDemo extends Applet{

private Font afont= Font(“宋体”,,18);

public void init(){

kground ();

}

public void paint(Graphics g){

or();

t (afont);

ring (“您好!”,10,40);

}

}

2. 以下为一个java的完整程序,它定义了一个类Car,并在程序中创建了一个该类的对象DemoCar,调用该对象的set_number方法设置车号属性为3388,调用该对象的show_number方法输出车号。

//

class Car{

int car_number;

void set_number(int car_num) {

car_number= car_number =car_num; ;

}

void show_number(){

. n (“My car No.

is :”+car_number);

}

}

//

class CarDemo{

public static void main(String args[]){

Car Democar= Car Democar=new Car();

_number( _number(3388); );

_number ();

}

}

15

3. 该程序是一个Applet 小程序,它将当前系统时间显示在浏览器中。Java源程序和网页代码如下:

import .*;

import ;

public class showDate extends Applet {

Date timeNow= new Date();

Font msgFont=new Font("TimesRoman",,30);

public void paint( Graphics g) {

g. setFont (msgFont);

or();

ring(ng(),5,50);

}

}

</p><p style="text-indent: 2em;";>

4. 下面程序对数组中每个元素赋值,然后按逆序输出。请在横线处填入适当内容,使程序能正确运行。

import .*;

public class ArrayTest{

public static void main (String args[]){

int i;

int a[]=int[5];

for(i=0;i<5;i++)

a[i]=i;

for( i=4 ;i>=0;i--)

n("a["+i+"]="+a[i]);

5. 下列程序从键盘输入若干个整数,当输入0时,输入终止;当输入的数小于0,或大于100时抛出异常。

import .*;

class DigitException extends Exception {

//在下行空白处填上声明抛出DigitException异常的语句

void test(int x) {

//在下行空白处填上抛出DigitException异常的语句

16

if(x<0 ||x>100)

}

}

public class MyInput{

public static void main(String args[]){

int input;

Scanner scanner=new Scanner( );

DigitException t=new DigitException();

while(t()){

try{

input=scanner. ;

if(input==0)break;

(input);

}catch(DigitException e){

n(ng());

}

}

}

}

6. Applet界面上有一个标签(Label)、一个列表(list)和一个文本区域(TextArea)。程序实现以下功能:一旦用户在列表中(单击鼠标)选中了某书名选项,该书名将被立即显示在文本区域中。请在横线处填入适当内容,使程序能正确运行。

import .*;

.*

import .*;

public class MyChoice extends Applet{

String[] bookstore={"Java 程序设计","C++ 程序设计","网络基础"};

Label la=new Label("请选择你要的书籍:");

TextArea t=new TextArea(5,30);

List c=new List();

public void init(){

for(int i=0;i<3;i++)

(bookstore[i]);

add(la);

add(c); ;

add(t);

c. addItemListener (new Cli());

}

class Cli implements ItemListener{

public void itemStateChanged(ItemEvent e){

t. setText (ectedItem()+"n");

}

}

}

六、编程题

17

1. 编写一个矩形类Rectangle的Java程序,矩形类有两个数据成员,分别是长rLength和宽rWidth,可以通过getLength()、getWidth()、getArea()方法分别查看矩形的长、宽和面积,也可以通过setLength()和setWidth()方法重新设置矩形的长和宽。

public class Rectangle {

}

float rLength;

float rWidth;

public float getLength(){

}

public float getWidth(){

}

public float getArea(){

}

public void setLength(float l){

}

public void setWidth(float w){

}

Rectangle(float l, float w){

}

public static void main(String[] args) {

}

Rectangle r= new Rectangle(1 ,2);

setLength(l);

setWidth(w);

n("Length"+getLength());

n("Width"+getWidth());

n("Area"+getArea());

= w;

h = l;

return (rLength*rWidth);

return ;

return h;

2.编写程序创建一个按钮和一个文本域,按钮上的文字为“change”,文本域中的文字为“color”,当单击按钮时,“color”的颜色在yellow和red之间切换。

import .*;

import .*;

import .*;

public class ArtFont extends JFrame implements ActionListener{

JButton colorBtn;

JTextArea txtArea;

Font font;

Color colorStyle = ;

public ArtFont(){

super("字体设置");

font = new Font("宋体", 1,15);

colorBtn = new JButton("change");

18

}

txtArea = new JTextArea(10, 80);

t(font);

t("color");

eground(colorStyle);

ionListener(this);

Container container = getContentPane();

out(new BorderLayout());

setSize(300, 200);

(txtArea, );

(colorBtn, _END);

setVisible(true);

public static void main(String[] args) {

}

public void actionPerformed(ActionEvent e) {

if(colorStyle == ){

}

else{

}

colorStyle = ;

ArtFont a = new ArtFont();

colorStyle = ;

eground(colorStyle);

}

}

3.设已定义了一个Book类,该类包括书名bookName和单价price属性。编写程序定义一个方法writeToFile(Book[] b),利用ObjectOutputStream类的writeObject()方法将若干本书籍的信息写入到当前路径下的文件中;定义一个方法readFromFile(),利用ObjectInputStream类的readObject()方法将若干本书籍的信息从当前路径下的文件中读出。

import .*;

public class SGH

{

public static void writeToFile(Book b[],int n)throws Exception{

FileOutputStream fout=new FileOutputStream("");

ObjectOutputStream oout=new ObjectOutputStream(fout);

for(int i=0; i

bject(b[i]);

}

();

}

public static Book[] readFromFile(int n)throws Exception{

Book Book1[] = new Book[n];

FileInputStream fin=new FileInputStream("");

ObjectInputStream oin=new ObjectInputStream(fin);

for(int i=0; i

19

Book1[i]=(Book)ject();

}

();

return Book1;

}

public static void main(String args[]) throws Exception

{

Book Book1[] = new Book[3];

for(int i=0; i<3; i++ ){

Book1[i] = new Book((3+i),("书"+(i)));

}

Book Book2[];

writeToFile(Book1, 3);

Book2 = readFromFile(3);

}

}

class Book implements Serializable

{

public float price;

public String bookName;

public Book(float p,String b)

{

=p;

me=b;

}

public String toString()

{

return "price="+price+", name="+bookName;

}

}

4.编写一个计算面积类CalculatorArea类的Java程序,该类有5个成员变量,分别是长cLength、宽cWidth、高cHeight、半径cRadius和面积cArea,该类可根据实例化参数的不同,设置不同的成员变量的值,并计算不同的图形面积。当参数是1个时,设置的是半径cRadius的值,计算的是圆的面积;当参数是2个时,设置的是长cLength和宽cWidth的值,计算的是矩形的面积;当参数是3个时,设置的是长cLength、宽cWidth和高cHeight的值,计算的是长方体的表面积。

import .*;

public class CalculatorArea {

float cLength;

float cWidth;

float cHeight;

float cRadius;

double cArea;

CalculatorArea(float r){

s = r;

= (3.14*2.0*r);

20

}

n(cArea);

}

CalculatorArea(float l, float w){

h = l;

= w;

= w*l;

n(cArea);

}

CalculatorArea(float l, float w, float h){

h = l;

= w;

t = h;

= 2*(w*l+w*h+h*l);

n(cArea);

}

public static void main(String[] args) {

CalculatorArea s[] = new CalculatorArea[3];

s[0] = new CalculatorArea(1);

s[1] = new CalculatorArea(1,1);

s[2] = new CalculatorArea(1,1,1);

}

5. 编写Applet程序:求三个整数的最小值。

import .*;

import .*;

import .*;

public class FindMin extends Applet implements ActionListener

{

Label result;

TextField in1,in2,in3;

Button btn1,btn2;

int a=0,b=0,c=0,min;

public void init()

{

result=new Label("请先输入三个待比较的整数");

in1=new TextField(5);

in2=new TextField(5);

in3=new TextField(5);

btn1=new Button("比较");

btn2=new Button("关闭");

add(in1);

add(in2);

add(in3);

add(btn1);

add(btn2);

21

add(result);

ionListener(this);

ionListener(this);

}

public void actionPerformed(ActionEvent e)

{

if (rce()==btn1)

{ a=nt(t());

b=nt(t());

c=nt(t());

min=a;

if (b

min=b;

if(c

min=c;

t("三数中最小值是:"+min);

}

else

(0);

}

}

6. 创建一个标题为“按钮”的窗框,窗框中显示有“按下我”字样的按钮盒一个文本框,当单击时会在文本框上显示“Hello Java”。

import .*;

import .*;

import .*;

public class ArtFont extends JFrame implements ActionListener{

JButton Btn;

JTextArea txtArea;

Font font;

public ArtFont(){

super("按钮");

font = new Font("宋体", 1,15);

Btn = new JButton("按下我");

txtArea = new JTextArea(10, 80);

t(font);

ionListener(this);

Container container = getContentPane();

out(new BorderLayout());

setSize(300, 200);

(txtArea, );

(Btn, _END);

setVisible(true);

}

public static void main(String[] args) {

ArtFont a = new ArtFont();

22

}

}

public void actionPerformed(ActionEvent e) {

t("Hello Java ");

}

7. 编写一个具有标准的菜单条的独立应用程序,包含菜单File,File菜单又包含菜单项Exit,当单击菜单项Edit时关闭窗口。

8. 编写一个Frame来显示字符串,显示字符串及位置,字体、字体大小和颜色通过HTML文件中的参数来传递。

23


本文标签: 方法 事件 程序 文件 选项

更多相关文章

修复隐藏文件显示问题

10天前

找到HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionexplorerAdvancedFolderHiddenSHOWALL分支,在右边的窗口

Windows虚拟机中镜像文件_虚拟机镜像iso文件

10天前

访问微软官方Windows 10下载页面:https: 点击“立即下载工具”按钮,下载 。这是一个小型应用程序,用于帮助用户创建Windows 10安装介质。 运

惠普Win10系统还原详细步骤指南_惠普win10恢复预装系统

10天前

惠普Win10系统还原详细步骤指南在日常使用惠普电脑的过程中,我们难免会遇到一些系统问题,比如病毒攻击、软件冲突或误操作导致的系统故障。这时,系统还原功能就显得尤为重要了。通过系统还原,我们可以将电脑恢复到之前的一个稳定

cf-blue-green-deploy 项目使用教程

9天前

cf-blue-green-deploy 项目使用教程 1. 项目的目录结构及介绍 cf-blue-green-deploy├── acceptance├── coverage├── fixtures├──

将DVD中的VOB文件无损转换为MP4等常用视频格式的方法_dvd转mp4

9天前

建议先看疑问解答,否则可能会出现棘手的问题。 一、DVD和VCD等光碟播放设备①光盘播放机,例如先锋②带有光驱的笔记本或台式电脑,现在基本已被淘汰③外置光驱:可通过USB数据线(设备自

病毒利用autorun.inf做了什么_autorun.inf利用

9天前

病毒作者可以利用autorun.inf的自动功能,让移动设备在用户系统完全不知情的情况下,“自动”执行任何命令或应用程序。因此,通过这个autorun.inf文件,可以放置正常的启动程序,如我们经常使用的各种教学光盘,一插入电脑就自动

解读Autorun.inf病毒和autorun.inf_光盘里有autorun exe

9天前

这几天我的机子病毒大暴发,其中有一种病毒就是关于autorun.inf的。和它一起运行的是sxs.exe文件。它在每个驱动盘下都有这两个文件,并且文件夹选项里显示所有隐藏文件和文件夹选中后又会被改回去,很苦恼啊!于是上网查了一些这方面

用autorun.inf文件夹预防autorun病毒_计算机autorun label= demo

9天前

现在很多病毒都会在磁盘分区下释放相应的病毒文件和autorun.inf文件,如图1: (图1) 类似熊猫烧香的玉兔病毒就采用了这种方法,导致中毒用户双击盘符会触发该病毒,我们除了通常要用资源管理器左边的文件

解决360卸载之后遗留问题:windows defender无法开启_securityhealthservice启用

9天前

前几日,在对一台新电脑进行”净化工作“——卸载很多原装的垃圾软件,卸载了360之后发现windows defender无法打开,找到services.msc无法开启,启动按钮是灰色的,在查看了很多的教程之后,并确认windows de

掌握PowerDVD 截图7式:提升观影乐趣的不二法门

8天前

方法一: Windows Media Player10 首先介绍,最简单的视频截图方法。Media Player10是常用的视频播放器,也可以视频截图。我们在播放电影的过程中,遇到想截取的图片,只需按下【“Ctrl+I”

Flash中心:隐藏的宝藏和22个强大功能指南

8天前

1.重装IE6两妙招 第一种方法:点击“开始”菜单中的“运行”,在“运行”对话框中输入regedit打开注册表编辑器,展开注册表,找到HKEY_LOCAL_MACHINESOFTWAREMicrosoftActive S

深度剖析:小米AX1800路由器SSH与IPv6网关设置的实操技巧

8天前

WiFI6版本弃子,小米路由器AX1800,通过配置文件永久开启ssh和ipv6传入网关设置作为小米路由器的第一款 wifi6路由器(ax.),最近一次的更新是2021年底,版本为

小米AX1800 WiFi6路由器:解锁SSH与IPv6网关设置

8天前

WiFI6版本弃子,小米路由器AX1800,通过配置文件永久开启ssh和ipv6传入网关设置作为小米路由器的第一款 wifi6路由器(ax.),最近一次的更新是2021年底,版本为

让Flash焕发生机,快速解决wpcap.dll丢失,防患于未然

8天前

在使用计算机的过程中,有时会遇到系统提示丢失wpcap.dll文件的情况。这种情况可能会导致某些依赖于该DLL(动态链接库)的程序无法正常运行。那么,当您遭遇这种问题时,应该如何应对呢?本文将详细介绍几种有效的解决方案,并提供一些预防

自动解压秘籍:Python帮你搞定各种压缩文件

8天前

压缩文件是我们在使用电脑时经常会遇到的。压缩文件并不只有一种压缩模式。平常我们都是通过安装一些解压缩软件来打开这些不同的压缩文件。今天我们来谈一谈,如何用Python解压几种常见类型的压缩文件。一、需求描述编写

不再为文件安全担忧!用WinRAR轻松实现压缩文件的终极保护!

7天前

在职场中,我们经常会使用 WinRAR 来打包文档、项目文件或资料合集。压缩的好处显而易见:节省空间、方便传输、归档整洁。但你是否遇到过这些情况: 压缩文件被他人解压后重新打包,原文件被篡改? 项目资料被错

Python玩转ZIP压缩包:从基本操作到高级技巧

7天前

ZipFile对象 顾名思义, zipfile是处理 zip文件的模块,其中最重要的类是 ZipFile,其构造函数为 ZipFile(file, mo

掌握C#中的SWF压缩与解压缩,优化Flash应用效率

7天前

【【【【C#压缩文件】】】】方法1:【filepath想要压缩文件的地址】【zippath输出压缩文件的地址】private void GetFileToZip(string f

TP-Link 478+ 升级秘密武器:高效固件包等你来下载!

7天前

ZIP文件 资源目录 相关推荐 核心逻辑: * 1. 若DLQ未启用,直接调用原始处理器; * 2. 若启用,按配置重试处理事件; * 3. 重试耗尽后发送事件到DLQ。 *

DISM++:你的Flash播放问题终结者,提升性能

7天前

简介:DISM++是一款全方位的电脑维护软件,提供深度扫描和清理功能,专为优化个人计算机而设计。它能够高效清除各种系统垃圾和无用文件,释放硬盘空间,并通过系统清理、优化、备份和恢复功能提高电脑的运行速度和性能。该软件还支持多语言界面,

发表评论

全部评论 0
暂无评论