当前位置:文档之家› java复习题带答案

java复习题带答案

java复习题带答案
java复习题带答案

一、选择题:

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.https://www.doczj.com/doc/1d10124696.html,ng B.java.util C.java.applet D.java.rmi

解析:Java的核心包一共有12个,其中:https://www.doczj.com/doc/1d10124696.html,ng包中封装了所有编程应用的基本类;java.util包提供实用程序类和集合类,如系统特性定义和使用、日期函数类、集合等常用工具;java.applet包为Applet提供执行需要的所有类,。主要是访问Applet内容的通信类。java.rmi包提供程序远程方法调用所需的类。因此,本题的正确答案是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

解析:javac.exe是Java编译器,能将源程序代码编译成字节码,以.class扩展名存入Java工作目录中。它的命令格式为:javac[选项]文件名。其中[选项]包括几下几个:●-g 输出文件中加行号以及局部变量信息,为调试程序时用。

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

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

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

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

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

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是.java.io包中的抽象类,是所有字节输入流的父类。题目要求的是字符输入流,显然,选项A不对。选项B的 FileInputStream是一个字节输入流,它可以对一个磁盘文件涉及的数据进行处理。和选项A一样,选项B是错的。

选项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.abc.java B.Abc.class C.Abc.java 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.变量和方法名的首字母大写

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.javax.swing B.https://www.doczj.com/doc/1d10124696.html,ng C.java.util D.Java.applet

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解释器,执行字节码程序,该程序是

类名所指的类,必须是一个完整定义的名字。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

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

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

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

A.java.ext包 B.java.awt包 C.https://www.doczj.com/doc/1d10124696.html,ng包 D.java.util包

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。

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事件表明在一个https://www.doczj.com/doc/1d10124696.html,ponent构件之上有一个按键按下。

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()

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

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

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

56. 可以构建一个BufferedStream流。

A.new BufferedInputStream(“in.txt”);

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

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

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

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

A.Boolean exists=Directory.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可以获得文件file.txt的父目录名。

A.String name=File.getParentName(“file.txt”);

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

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

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

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

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

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

String name=(new File("file.txt")).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. System.exit(0)不能在Applet中使用

二、填空题

1. JVM指的是Java 虚拟机。

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

3. Java语言对简单数据类型进行了类包装,int对应的包装类是integer。4. Java字节码文件的扩展名是.class。

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

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.

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

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

G ridBagLayout。

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.

37.

38. Button类的直接父类是。

39. 方法将组件添加到该容器中。

40. Java

三、判断题

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

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;

System.out.print(a+b*c+d);

System.out.print(",");

System.out.print(a+c%b);

System.out.print(",");

System.out.println(a++*b+c*--d);

}

}

2.public class PrintTest{

public static void main(String args[]){

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

String s="abc";

System.out.println(a+b+s+c);

System.out.println();

}

}

3.public class SwitchTest{

public static void main(String args[]){

int i=1;

switch (i) {

case 0: System.out.print("zero,"); break;

case 1: System.out.print("one,");

case 2: System.out.print("two,");

default: System.out.println("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";

}

System.out.println(output);

System.exit(0);

}

}

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;

System.out.print(anArray[i]+“”);

i++;

}

System.out.println();

}

}

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{

System.out.println(x[i+2]/x[i]+x[i+1]);

}catch(ArithmeticException e){

System.out.println(“error1”);

}catch(Exception e){

System.out.println(“error2”);

}

}

}

}

7. class GrandFather{

GrandFather(){System.out.println(“GrandFather”);} }

class Book{

Book(){System.out.println(“Book”);}

}

class Father extends GrandFather{

Father(){System.out.println(“Father”);} }

public class Son extends Father {

private Book b=new Book();

public Son(){System.out.println(“GrandFather”);} public static void main(String args[]){

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

c[i]=new Count();

System.out.println(c[i].getCount());

}

}

}

9. public class Calculation {

public float avg(int... nums) {

int sum = 0;

for ( int x : nums ) {

sum += x;

}

return ((float) sum) / nums.length;

}

public static void main(String args[]){ Calculation cal = new Calculation();

float av1 = cal.avg(10, 20, 30);

System.out.println(av1);

}

}

10. package test;

public class OuterClass{

private class InterClass{

public InterClass(){

System.out.println(“InterClass”);

}

}

public OuterClass(){

InterClass ic= new InterClass();

System.out.println(“OuterClass”);

}

public static void main(String args[]){

OuterClass oc=new OuterClass();

}

}

11.import java.io.*;

public class FileTest{

public static void main(String args[]){

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

File d=new File("target");

d.mkdir();

f.renameTo(new File("target","new"));

String l[]=d.list();

for(int i=0;i

System.out.println(l[i]);

}

}

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

class TV implements ShowMessage{

public void 显示商标(String s) { System.out.println(s); } }

class PC implements ShowMessage{

public void 显示商标(String s) { System.out.println(s); } }

public class Example4_28{

public static void main(String args[]){

ShowMessage sm;

sm = new TV();

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

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

}

}

五、程序填空

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

import java.awt.*;

import Java.applet.*;

public class DrawStringDemo extends Applet{

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

public void init(){

this.setBackground (Color.black);

}

public void paint(Graphics g){

g.setColor(Color.green);

this.setFont (afont);

g.drawString(“您好!”,10,40);

}

}

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

//Car.java

class Car{

int car_number;

void set_number(int car_num) {

car_number= car_number =car_num; ;

}

void show_number(){

System.out. System.out.println(“My car No. is :”+car_number);

}

}

//CarDemo.java

class CarDemo{

public static void main(String args[]){

Car Democar= Car Democar=new Car();

DemoCar.set_number( Democar.set_number(3388); );

DemoCar.show_number ();

}

}

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

import java.awt.*;

import java.util.Date;

public class showDate extends Applet {

Date timeNow= new Date();

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

public void paint( Graphics g) {

g.setFont(msgFont);

g.setColor(Color.blue);

g.drawString(timeNow.toString(),5,50);

}

}

</p><p>

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

import java.io.*;

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--)

System.out.println("a["+i+"]="+a[i]);

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

import java.util.*;

class DigitException extends Exception {

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

void test(int x) {

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

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(scanner.hasNext()){

try{

input=scanner. ;

if(input==0)break;

t.test(input);

}catch(DigitException e){

System.out.println(e.toString());

}

}

}

}

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

import java.awt.*;

import.java.awt.event.*

import java.applet.*;

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++)

c.add(bookstore[i]);

add(la);

add(c); ;

add(t);

c. addItemListener (new Cli());

}

class Cli implements ItemListener{

public void itemStateChanged(ItemEvent e){

t. setText (c.getSelectedItem()+"\n");

}

}

}

六、编程题

1.编写一个矩形类Rectangle的Java程序,矩形类有两个数据成员,分别是长rLength

和宽rWidth,可以通过getLength()、getWidth()、getArea()方法分别查看矩形的长、宽和面积,也可以通过setLength()和setWidth()方法重新设置矩形的长和宽。

public class Rectangle {

float rLength;

float rWidth;

public float getLength(){

return this.rLength;

}

public float getWidth(){

return this.rWidth;

}

public float getArea(){

return (rLength*rWidth);

}

public void setLength(float l){

this.rLength = l;

}

public void setWidth(float w){

this.rWidth = w;

}

Rectangle(float l, float w){

setLength(l);

setWidth(w);

System.out.println("Length"+getLength());

System.out.println("Width"+getWidth());

System.out.println("Area"+getArea());

}

public static void main(String[] args) {

Rectangle r= new Rectangle(1 ,2);

}

}

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

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class ArtFont extends JFrame implements ActionListener{ JButton colorBtn;

JTextArea txtArea;

Font font;

Color colorStyle = Color.red;

public ArtFont(){

super("字体设置");

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

colorBtn = new JButton("change");

txtArea = new JTextArea(10, 80);

txtArea.setFont(font);

txtArea.setText("color");

txtArea.setForeground(colorStyle);

colorBtn.addActionListener(this);

Container container = getContentPane();

container.setLayout(new BorderLayout());

setSize(300, 200);

container.add(txtArea, BorderLayout.CENTER);

container.add(colorBtn, BorderLayout.PAGE_END);

setVisible(true);

}

public static void main(String[] args) {

ArtFont a = new ArtFont();

}

public void actionPerformed(ActionEvent e) {

if(colorStyle == Color.red){

colorStyle = Color.yellow;

}

else{

colorStyle = Color.red;

}

txtArea.setForeground(colorStyle);

}

}

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

import java.io.*;

public class SGH

{

public static void writeToFile(Book b[],int n)throws Exception{ FileOutputStream fout=new FileOutputStream("book.dat");

ObjectOutputStream oout=new ObjectOutputStream(fout);

for(int i=0; i

oout.writeObject(b[i]);

}

oout.close();

}

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

Book Book1[] = new Book[n];

FileInputStream fin=new FileInputStream("book.dat");

ObjectInputStream oin=new ObjectInputStream(fin);

for(int i=0; i

Book1[i]=(Book)oin.readObject();

}

oin.close();

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)

{

this.price=p;

this.bookName=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 java.io.*;

public class CalculatorArea {

float cLength;

float cWidth;

float cHeight;

float cRadius;

double cArea;

CalculatorArea(float r){

this.cRadius = r;

this.cArea = (3.14*2.0*r);

System.out.println(cArea);

java基础笔试测试题与答案

Java 一章至五章考试 一. 填空题(8 分) 1. 面向对象的三大原则是( 封装),( 继承) 和( 多态).2 分 2. 如果想在对象实例化的同时就初始化成员属性,则使用( 构造函数).2 分 3. ( 实体) 方法和( 构造) 方法不能修饰为abstract ?2分 二.选择题(60 分) 1) 在Java 语言中,下列(a,d )是不满足命名规范的变量名。(选择二项) a) 姓名 b) $Name c) _instanceof d) instanceof 2) 下列Java 代码片段的输出结果是( a ) 。 char c='a'; int i=c; float f=i; byte b=(byte)c; System.out.println(c+","+i+","+f+","+b); a) 编译错误 b) a,97,97,97 c) a,97,97.0,97 d) a,97,97.0f,97 3) 下列Java 代码中,空白处的代码是(b,c )。( 选择两项) public interface Fee{ public float calLabFee(float unitPrice, float time); } public class FeeImpl implements Fee { public float calLabFee(float unitPrice, float time){ return unitPrice * time; } } public class FeeInterfaceTest { public static void main(String[] args){ ________________ Float labFee = fee.calLabFee(400.00,5); } }

java期末考试复习题及答案(1)

《Java程序设计》课程试卷 1.使用Java语言编写的源程序保存时的文件扩展名是( B )。 (A).class (B).java (C).cpp (D).txt 2.设int a=-2,则表达式a>>>3的值为( C )。 (A)0 (B)3 (C)8 (D)-1 3.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是( C )。 (A)a[0]; (B)a[]; (C)a[3]; (D)int i=1; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数( D )。 (A)封装(B)继承(C)覆盖(D)重载 5.在类的定义中构造函数的作用是( D )。 (A)保护成员变量(B)读取类的成员变量(C)描述类的特征(D)初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句( B )。 (A)try (B)break (C)catch (D)finally 7.类与对象的关系是( A )。 (A)类是对象的抽象(B)对象是类的抽象(C)对象是类的子类(D)类是对象的具体实例 8.下面哪一个是Java中不合法的标识符( D )。 (A)$persons (B)twoNum (C)_myVar (D)*point 9.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。 (A)static void method( ) (B)public void method( ) (C)final void method( ) (D)abstract void method( ) 10.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的( C )。 (A)ArrayList myList=new Object( ) (B)List myList=new ArrayList( ) (C)ArrayList myList=new List( ) (D)List myList=new List( ) 源文件和编译后的文件扩展名分别为( B ) (A) .class和 .java (B).java和 .class (C).class和 .class (D) .java和 .java 12.在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画图操作。 (A) start( ) (B) stop( ) (C) init( ) (D) paint( ) 13.对于一个Java源文件,import, class定义以及package正确的顺序是: ( A ) (A) package,import,class (B) class,import,package (C) import,package,class (D) package,class,import 14.下面哪个是非法的:( D ) (A) int I = 32; (B) float f = ; (C) double d = ; (D) char c = ‘u’;如果一个类的成员变量只能在所在类中使用,则该成员变量必须使用的修饰是( C ) (A) public (B) protected (C) private (D) static 17.下面关于main方法说明正确的是( B ) (A) public main(String args[ ]) (B) public static void main(String args[ ]) (C) private static void main(String args[ ]) (D) void main() 18.哪个关键字可以对对象加互斥锁( B ) (A) transient (B) synchronized (C) serialize (D) static 19.关于抽象方法的说法正确的是( D ) (A)可以有方法体 (B) 可以出现在非抽象类中 (C) 是没有方法体的方法(D) 抽象类中的方法都是抽象方法 包的File类是( B ) (A)字符流类(B) 字节流类 (C) 对象流类 (D) 非流类 21.Java application中的主类需包含main方法,以下哪项是main方法的正确形参( B ) A、 String args B、String args[] C、Char arg D、StringBuffer args[] 22.以下代码段执行后的输出结果为( A ) i nt x=-3; int y=-10; 、-1B、2 C、1 D、3 23.以下关于继承的叙述正确的是()。

JAVA复习题 有答案

复习题 一、选择题 1、下列Java标志符中合法的是:() A H3_sum B -name C student# D 9_Hello123 2.Java源文件和编译后的文件扩展名分别为() A. .class和.java B. .java和.class C. .class和.class D. .java和.java 3.对于同一消息,对象可以产生不同的行为,这称为类的什么特性?()A)继承性B)封装性C)多态性D)抽象性 4、用来引入包语句的关键词是:() A)import B)abstract C)package D)extends 5.对于小程序,当离开包含Applet的主页后又再返回时将调用()方法。A)start( ) B)init( ) C)destroy( ) D)stop( ) 6.下列对Java中的继承描述错误的说法是() A.子类只能有一个父类 B.子类可作为另一个子类的父类 C.子类可以访问父类的私有属性 D.子类继承父类的方法访问权限保持不变 7.哪种循环在条件表达式被计算之前至少执行循环体语句一次?( ) A)do-while循环B)for循环C)while循环D)以上都不是 8.定义数组String[] a={"ab","abc","abcd","abcde"},数组中a[1]指的是()。 A.ab B.abc C.abcde D.数组越界 9.如果希望组件从左往右,从上到下自动布局界面,应使用哪种布局?()A)没有B)BorderLayout C)FlowLayout D)GridLayout 10.下列说法正确的是() A. 最终类在特殊情况下可以有子类 B. 抽象类只能有一个子类 C. 多态可以通过方法重写和方法重载实现 D. 抽象类不可以声明成员变量和成员方法,只能声明抽象方法 11.下列语句中访问类的方法正确的是:() A)https://www.doczj.com/doc/1d10124696.html, B)https://www.doczj.com/doc/1d10124696.html,( ) C)book->name D)book_name 12.下列选项中哪个是类Pen的构造方法() A)public void Pen() {} B)public static Pen() {} C)public Pen() {} D)public static void Pen() {} 13.单击菜单触发的事件是?() A. ActionEvent B.ItemEvent C.MouseEvent D. KeyEvent 14.关于try/catch/finally结构的异常捕获和处理,说法错误的是()A)try部分是必须的B)catch部分也是必须的 C)可以有多个catch部分D)finally部分也是必须的

JAVA期末试题及答案

Java 程序设计》课程试卷 1.使用 Java 语言编写的源程序保存时的文件扩展名是( )。 (A ) .class ( B ) .java C ) .cpp ( D ) .txt 2.设 int a=-2 ,则表达式 a>>>3 的值为( )。 (A ) 0 (B )3 (C ) 8 (D )-1 3.设有数组的定义 int[] a = new int[3] ,则下面对数组元素的引用错误的是( ) ( A )a[0]; ( B ) a[a.length-1]; (C )a[3]; (D )int i=1 ; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数( )。 (A )封装 (B )继承 (C )覆盖 (D )重载 5.在类的定义中构造函数的作用是( )。 (A )保护成员变量 (B )读取类的成员变量 (C )描述类的特征 (D )初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句( )。 ( A ) try ( B ) break ( C ) catch ( D ) finally 7.类与对象的关系是( )。 (A )类是对象的抽象 (B )对象是类的抽象 15. Java 语言使用的字符码集是 (A) ASCII (B) BCD (C) DCB 16. 如果一个类的成员变量 (A) public (B) (C 对象是类的子类 (D )类是对象的具体实例 )。 8.下面哪一个是 Java 中不合法的标识符( ( A )$persons ( B ) twoNum ( C )_myVar ( D )*point 9.为 AB 类的一个无形式参数无返回值的方法 ( ) 。 ( A ) static void method( ) ( B ) public void method( ) ( C ) final void method( ) ( D ) abstract void method( ) 10.欲构造 ArrayList 类的一个实例,此类继承了 ( A ) ArrayList myList=new Object( ) ( B ) List myList=new ArrayList( ) ( C ) ArrayList myList=new List( ) ( D ) List myList=new List( ) 11. Java 源文件和编译后的文件扩展名分别为( (A) .class 和 .java (C).class 和 .class 12. 在 Java Applet 程序用户自定义的 (A) start( ) (B) stop( ) (C) init( ) 13. 对于一个 Java 源文件, (A) package,import,class (C) import,package,class 14. 下面哪个是非法的: (A) int I = 32; (C) double d = 45.0; method 书写方法头,使得使用类名 List 接口,下列哪个方法是正确的( ) ( B).java 和 .class (D) .java 和 .java Applet 子类中,一般需要重载父类的 (D) paint( ) import, class (B) class,import,package (D) package,class,import ( ) 定义以及 package 正确的顺序是: (B) float f = 45.0; (D) char c = // 符号错 AB 作为前缀就可以调用它,该方法头的形式为 方法来完成一些画图操作。 (D) Unicode 只能 在所在类中使用 则该成员变量必须使用的修饰是

Java复习题及答案

一、判断题(每题1分,共15分) 1、Java允许创建不规则数组,即Java多维数组中各行的列数可以不同。( 1 ) 2、接口和类一样也可以有继承关系,而且都只能支持单继承。(0 ) 3、所有类至少有一个构造器,构造器用来初始化类的新对象,构造器与类同名,返回类型只能为void。(0 ) 4、包是按照目录、子目录存放的,可以在程序中用package定义包,若没有package一行,则表示该文件中的类不属于任何一个包。(0 ) 5、Java对事件的处理是采用委托方式进行的,即将需要进行事件处理的组件委托给指定的事件处理器进行处理。( 1 ) 6、在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在前面,子类放在后面。(0 ) 7、在实例方法或构造器中,this用来引用当前对象,通过使用this可引用当前对象的任何成员。( 1 ) 8、我们可以方便地编写Java客户机/服务器程序,在客户机/服务器模式中,客户机一般通过套接字(Socket)使用服务器所提供的服务,Socket由两部分组成:IP地址和端口号。 ( 1 ) 9、Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。(0 ) 10、Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(0 ) 11、当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。 (1 ) 12、如果f是父类Flower的对象,而r是子类Rose的对象,则语句f=r是正确的。(1 ) 13、Java系统的标准输入对象是System.in,标准输出对象有两个,分别是System.out和System.err。 (1 ) 14、final类中的属性和方法都必须被final修饰符修饰。(0) 15、子类可以定义与父类同名的方法,称为方法的覆盖,方法覆盖要求子类的方法与父类的方法名字和参数都相同,但返回值类型可以不同。(0 ) 二、单项选择题(每题2分,共30分) 1、若在某一个类定义中定义有如下的方法: final void aFinalFunction( );则该方法属于( c )。 A、本地方法 B、解态方法 C、最终方法 D、抽象方法 2、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( b )。 A、p ublic static void main() B、public static void main(String[ ] args) C、public static int main(String[ ] args) D、p ublic void main(String arg[ ]) 3、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( c )。

JAVA复习题库及答案

第一题单项选择题 1、在下列说法中,选出最正确的一项是(A )。 A、Java 语言是以类为程序的基本单位的 B、Java 语言是不区分大小写的 C、多行注释语句必须以//开始 D、在Java 语言中,类的源文件名和该类名可以不相同 2、下列选项中不属于Java 虚拟机的执行特点的一项是(D )。 A、异常处理 B、多线程 C、动态链接 D、简单易学 3、下列选项中,属丁JVM 执行过程中的特点的一项是( C )。 A、编译执行 B、多进程 C、异常处理 D、静态链接 4、在Java 语言中,那一个是最基本的元素?( C ) A、方法 B、包 C、对象 D、接口 5、如果有2 个类A 和B,A 类基于B 类,则下列描述中正确的一个是( B )。 A、这2 个类都是子类或者超类 B、A 是B 超类的子类 C、B 是A 超类的子类 D、这2 个类郡是对方的子类 6、使用如下哪个保留字可以使只有在定义该类的包中的其他类才能访问该类?(D ) A、abstract B、private (本类) C、protected(本包及其他包的子类) D、不使用保留字 7、编译一个定义了3 个类的Java 源文件后,会产生多少个字符码文件,扩展名是什么?(D ) A、13 个字节码文件,扩展名是.class B、1 个字节码文件,扩展名是.class C、3 个字节码文件,扩展名是.java D、3 个字节码文件,扩展名是.class 8、下列关于Java 程序结构的描述中,不正确的一项是( C )。 A、一个Java 源文件中可以包括一个package 语句 B、一个Java 源文件中可以包括多个类定义,但是只能有一个public 类 C、一个Java 源文件中可以有多个public 类 D、源文件名与程序类名必须一致 9、下列说法正确的一项是( C )。 A、java.1ang.Integer 是接口 B、java.1ang.Runnable 是类 C、Doulble 对象在iava.1ang 包中 D、Double 对象在java.1ang.Object 包中 10、以下关于面向对象概念的描述中,不正确的一项是( B )。 A、在现实生活中,对象是指客观世界的实体

Java笔试题及答案

Java笔试题及答案 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 详解:见下面代码,很明显方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。 package net.study; public class TestConStructor { public TestConStructor() {

} public void TestConStructor() { } public static void main(String[] args) { TestConStructor testConStructor = new TestConStructor(); testConStructor.TestConStructor(); } } 4.提供Java存取数据库能力的包是() 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 详解: java 中没有<> := 这种运算符,if else不算运算符 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是()

Java复习习题答案

P13 2.参照例1-2编写一个java applet程序,程序能在浏览器中显示“你好,Hello”。(见p11例1-2) P24 2.参照2-4编写一个java应用程序,用户从键盘只能输入整数,程序输出这些整数的乘积。 import java.util.*; public class ZuoYe2_2{ public static void main (String args[ ]){ Scanner reader=new Scanner(System.in); long chengji=1; int m=0; while(reader.hasNextInt()){ int x=reader.nextInt(); m=m+1; chengji=chengji*x; } System.out.println(m+"个数的乘积为"+chengji); } } P41 1.有一个函数Y=-1+2x,x<0;-1,x=0;-1+3x,x>0编写一个java应用程序,从键盘输入一个X值,程序输出Y值。import java.util.*; public class ZuoYe3_1{ public static void main (String args[ ]){ Scanner reader=new Scanner(System.in); double y=0,x=0; x=reader.nextDouble(); if(x<0) y=-1+2*x; else if(x==0) y=-1; else if(x>0) y=-1+3*x; System.out.println(y); } } P41 2.编写一个java程序,使用while循环计算1-1000之间能被3和7同时整除的整数之和。 public class ZuoYe3_2{ public static void main(String args[]){ int sum=0,m=3,n=7,a=1; while(a<=1000){ if(a%m==0&&a%n==0) sum=sum+a; a++; } System.out.println("sum="+sum); } } P41 3.编写一个java程序,使用for循环计算8+88+888+8888+88888…的前十项和。 public class ZuoYe3_3{ public static void main(String args[]) {

JAVA语言复习题及答案

14年(下)程序设计(JA V A语言)复习题 第一:单选 1. 若有定义int x=3,y;则执行语句y=(++x)+(++x)+(++x);后y=()。 (A) 12 (B) 18 (C) 9 (D) 15 2. 下列选项中,不是Java关键字的是()。 (A) double (B) Integer (C) float (D) default 3. 在成员变量与局部变量重名时,若想在方法内使用成员变量,要使用的关键字是()。 (A) super (B) import (C) this(D) return 4. 下列说法中错误的是( B )。 (A) 一个类中的实例方法可以调用其他实例方法 (B) 静态方法可以调用实例方法 (C) 实例方法可以调用静态方法 (D) 静态方法可以调用静态方法 5. 下列关于super的说法中错误的是()。 (A) 用来访问父类被隐藏的成员变量 (B) 用于调用父类中被重写的方法 (C) 用于定义父类 (D) 用于调用父类的构造函数 6. 下列选项属于接口中方法默认访问控制方式的是()。 (A) public (B) private (C) protected(D) default 7. 定义一个名为key的类,下列选项中使其不能被继承的定义是()。 (A) class key{} (B) native class key{} (C) class key{ final;} (D) final class key{} 8. 若有定义String tom=""我们是学生"";则tom.length()的值是()。 (A) 5 (B) 10 (C) 6 (D) 11 9. 调用repaint()方法,会出现什么情况( C )。 (A) 清除以前pain()方法所画的内容 (B) 保留原来pain()所画的内容 (C) 清除pain()以前所画的内容,再一次调用pain()方法 (D) 在pain()以前所画内容基础上,再一次调用pain()画新的内容 10. 从下面的main()调用java lyrics a kiss is but a kiss 中可以访问单词“kiss”的是()。 (A) args[0] (B) args[5] (C) args[4] (D) args[3] 11. 使一个线程放弃处理器并休眠1.5秒,应调用的方法是()。 (A) sleep(1.5) (B) sleep(1500) (C) suspend(1.5) (D) suspend(1500) 12. 如要使处于等待状态的线程恢复到运行状态,应调用的方法是()。 (A) start() (B) run() (C) resume() (D) notify() 13. 如果想获得一个InetAddress对象的主机域名,可调用的方法是()。

JAVA测试题(三套含答案)

<测试一> 1.在单一文件中import、class和package的正确出现顺序是:A A.package, import, class B.class, import, package C.import, package, class D.package, class, import 2.public static void main方法的参数描述是:A,D A.String args[] B.Strings args[] C.String args D.String []args 3.下面哪行代码会在编译的时候出现错误或警告:A,B,C,D A.float f=1.3; B.char c="a"; C.byte b=257; D.boolean b=null; E.int i=10; 4.编译,运行下列代码后的结果是:D public class Test { public static void main (String args []) { int age; age = age + 1; System.out.println("The age is " + age); } } A.编译,运行后没有输出 B.编译,运行后输出:The age is 1 C.能通过编译,但运行时产生错误 D.不能通过编译 4.下面那些关键字不是JAVA的关键字B A if B then C goto D while E case 5.下面那些不是合法的变量定义:A,F A.2variable B.variable2 C. _whatavariable

D. _3_ E. $anothervar F. #myvar 6.内部数据类型byte的取值范围是B A.0 - 65, 535 B.(–128) – 127 C.(–32,768) – 32,767 D.(–256) – 255 7.下列哪些表达式返回true AB A."john" == "john" B."john".equals("john") C."john" = "john" D."john".equals(new Button("john")) 8.声明公用的abstract方法的正确格式是A A.public abstract void add(); B.public abstract void add() {} C.public abstract add(); D.public virtual add(); 9.下面的代码能打印出的结果为:C int i=1; switch (i) { case 0: System.out.println("zero"); break; case 1: System.out.println("one"); case 2: System.out.println("two"); default: System.out.println("default"); } A.one B.one, default C.one, two, default D.default 10.下面的代码能打印出的结果为:B int i=9; switch (i) { default:

java笔试题及答案.doc

java笔试题及答案 有了下面java笔试题及答案,进行java笔试时就容易多了,请您对下文进行参考: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package子孙类其他package public 7 7 7 7 protected 7 7 7 X friendly 7 7 X X private 7 X X X 不写时默认为friendly 2、Anonymouslnner Class (匿名内部类)是否可以exte nd s (继承)其它类,是否可以imple ment s (实现)i nterf ace (接口) 答:匿名的内部类是没有名字的内部类。不能exte n ds (继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Sta ti cNestedC las s 和Inner Clas s 的不同答: Nes tedC lass (一般是C+ +的说法),In ne rClass (—般是JAVA的说法)。J ava内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(I

nn erClass)意味着1创建一个st atic内部类的对象,不需要一个外部类对象,2不能从一个st atic内部类的一个对象访问一个外部类对象 4、和的区别 答:是位运算符,表示按位与运算,是逻辑运算符,表示遷辑与(and ) 5、Coll ect ion 和Col lect ions 的区别 答:Coll ect ion是集合类的上级接口,继承与他的接口主要有Set和List. Col lections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:asserti on (断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,a ssertion 就是在程序中的一条语句,它对一个boolea n表 达式进行检查,一个正确程序必须保证这个bool ean表达 式的值为tr ue;如果该值为fal se,说明程序己经处于不正确的状态下,系统将给出警告或退出。一般来说,

JAVA复习题及答案

第一章JA V A概述 1.JA V A中哪三种平台:Java ME(嵌入式平台),Java SE(标准平台),Java EE(企业级平台). 2.JA V A从第几版称为JA V A2:JA V A 1.2版。 3.JA V A有否指针:无。 4.JA V A的API指的是什么:Application Programming Interface,JA V A的类库。 5.JA V A平台无关性是如何实现的:通过编译生成与平台无关的代码──字节码,而不是通常的特定机器上的机 器码,由平台上的Java虚拟机中的Java解释器解释执行。 6.JA V A有哪两种程序形式:Application和Applet程序。 7.Application程序运行时系统调用程序的哪个方法:main()方法。Applet程序执行时系统自动调用程序的哪个方 法:init()方法。 8.绘图程序中系统自动调用哪个方法:paint(Graphics g)方法。 9.JDK是什么:Java开发工具包(Java Development Kit ) 的缩写,包括JAVA类库、JAVA编译器、JAVA解释 器、运行时环境、命令行工具。 10.有哪几种主要的可视化的集成源程序编辑环境:Eclipse, JCreator, JBuilder等。 11.安装JDK的可执行文件是:jdk-1_5_0-windows-i586.exe 12.安装JDK帮助文档的是:jdk-1_5_0-doc.zip 第二章JA V A语言基础 13.保留字是什么意思,能否用于程序员定义自己的类、方法、变量等名字:JA V A中已定义的用于特定用途的标 识符。不能。 14.i++与++i有什么区别? 15.写出各种转义字符?p17。\t, \n, \r, \‖, \’, \\ 16.编程良好习惯中,对象名、包名、类名、变量名、常量名、接口名、方法名中的字符的大小写如何设置?Package –名词且小写;Class--名词且第一个字母大写;Interface—同Class;Methods-动词且第一个字母小写,分隔词第一个字母大写,不用‖-―;Variable—第一个字母小写,不用‖_‖,‖$‖(对于inner class有意义);Constants—大写并用‖_‖ 17.标识符的用途:用于给类、方法、变量、接口、程序块、对象等起名字。 18.标识符中可否有空格,可否有#号:不能,只能有字母、下划线、美元符、数字 19.判断合法的标识符:identifier,userName,_FH User_Name ,_sys_val,$change 2mail,room#//,class,ab-cd,ac eh 20.JA V A中标识符大小写敏感吗? 21.实数类型的两种类型中哪种是默认的:double。 22.float和int型的数据各占多少位(bit)。32位 23.什么叫局部变量:方法内部的变量。 24.局部变量有默认值吗:没有。 25.局部变量出了方法体后还存在吗:不存在。 26.一个变量可以重复定义吗:不能。 27.低级类型的数据与高级类型的数据进行运算时,怎样进行类型转化:低级的类型首先自动转化为高级类型,然 后进行运算。 28.域(field)变量应该定义在方法之外还是方法之内:之外。 29.sum+=i的展开式:sum=sum+i 30.计算a+=a*=b-=(a=4)*(b=2)的结果,其中初始时a=4,b=2。 31.―&‖和―&&‖的区别? 32.关系运算符与逻辑运算符哪个优先级高,为什么:关系,因为关系运算的结果false或true用于逻辑运算。 33.以下计算结果是否对?

JAVA考试复习题(附答案)

《现代程序设计》(JAVA)考试复习题 一、选择题 1、关于Java语言叙述错误的是:(C) A.Java语言具有跨平台性B.Java是一种面向对象的语言 C.Java语言中的类可以多继承D.Java的垃圾收集机制自动回收程序已不再使用的对象 2、以下叙述正确的是:(B) A.构造方法必须是public方法B.main方法必须是public方法 C.Java应用程序的文件名可以是任意的D.构造方法应该声明为void类型 3、关于Java中数据类型叙述正确的是:(B) A、整型数据在不同平台下长度不同B.boolean类型数据只有2个值,true和false C.数组属于简单数据类型D.Java中的指针类型和C语言的一样 4、设int x=1,float y=2,则表达式x / y的值是:(D) A.0 B.1 C.2 D.以上都不是 5、以下语句有语法错的是:(A) A.int x=1;y=2;z=3 B.for (int x=10,y=0;x>0;x++); C.while (x>5); D.for(; ;); 6、关于类和对象的叙述正确的是:(A) A.Java的类分为两大部分:系统定义的类和用户自定义的类 B.类的静态属性和全局变量的概念完全一样,只是表达形式不同 C.类的成员至少有一个属性和一个方法D.类是对象的实例化 7、以下有关构造方法的说法,正确的是:(A) A.一个类的构造方法可以有多个B.构造方法在类定义时被调用 C.构造方法只能由对象中的其它方法调用 D.构造方法可以和类同名,也可以和类名不同 8、以下有关类的继承的叙述中,正确的是:(D) A.子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性 B.子类只能继承父类的方法,不能继承父类的属性 C.子类只能继承父类的非私有属性,不能继承父类的方法 D.子类不能继承父类的私有属性 9、void 的含义:(C ) A.方法体为空B.定义的方法没有形参 C.定义的方法没有返回值D.方法的返回值不能参加算术运算 10、关于Java中异常的叙述正确的是:(D ) A.异常是程序编写过程中代码的语法错误B.异常是程序编写过程中代码的逻辑错误 C.异常出现后程序的运行马上中止D.异常是可以捕获和处理的

Java程序设计试题及答案

一、判断题。判断下列各题是否正确,若正确,在()内打“√”,否则打“×”。 1、Java语言具有较好的安全性和可移植性及与平台无关等特性。√ 2、Java语言的源程序不是编译型的,而是编译解释型的。√ 3、Java语言使用的是Unicode字符集,每个字符在内存中占8位。× 4、Java语言中不同数据类型的长度是固定的,不随机器硬件不同而改变。√ 6、一个类可以实现多个接口,接口可以实现“多重继承”。√ 7、实现接口的类不能是抽象类。× 二、不定项选择题。 1、编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。 A、java B、class C、html D、exe 2、main方法是Java Application程序执行的入口点,关于main方法的方法首部,以下(B)项是合法的。 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、关于下面代码的说法(C)是正确的 public class Example{ public static void main(String[] args){ int[] arr= new int[10]; } } A、编译时产生错误 B、编译时正确,运行时将产生错误 C、输出零 D、输出空(null) 4、不正确的表达式是(AB)。 A、float a=; B、Double a=new Double C、byte a = (byte)340; D、Byte a = 120; 5、定义一个类名为""的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为( CD)。 A、private class MyClass extends Object B、class MyClass extends Object C、public class MyClass D、public class MyClass extends Object 6、下列构造方法的调用方式中,正确的是(C)。 A、按照一般方法调用 B、由用户直接调用

Java经典面试题大全_带答案

Java经典面试题带答案一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code(字节码) C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行(构造器) D.一个class只能定义一个constructor 答案:C 4.提供Java存取数据库能力的包是() A.Java.sql /sql/数据库还有Oracle 也是一种数据库 B.java.awt C.https://www.doczj.com/doc/1d10124696.html,ng D.java.swing 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环

答案:C 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象 答案:A 9.下列哪种说法是正确的() A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法 C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法 答案:D 二、多项选择题 1.Java程序的种类有() A.类(Class) B.Applet C.Application D.Servlet 2.下列说法正确的有() A.环境变量可在编译sourcecode时指定 B.在编译程序时,所能指定的环境变量不包括class path C.javac一次可同时编译数个Java源文件 D.javac.exe能指定编译结果要置于哪个目录(directory)答案:BCD 3.下列标识符不合法的有() A.new B.$Usdollars C.1234 D.car.taxi 答案:ACD 4.下列说法错误的有() A.数组是一种对象 B.数组属于一种原生类 C.intnumber=[]={31,23,33,43,35,63} D.数组的大小可以任意改变 答案:BCD 5.不能用来修饰interface的有()

Java练习题及答案

Java 练习题答案 一、填空 1、对象的状态和行为是对象的主要属性;前者对应类的变 量,行为又称为对象的操作,对应着类的方法。类的定义包括变量声明和方法声明。 2、要嵌入在HTML文件中运行的程序是Java Applet (Java Application 、Java Applet )。 3、安装JDK后,Java 开发工具在Bin 目录。 4、声明接口的保留字是interface 。 5、类的声明“ public class Test extends Applet implements Runable{} ” 中,定义的类名是Test ,其父类是Applet ;实现了Runable 接口。这个类的源程序必须保存为Test.java (写出包括扩展名的文件名)。 6、一个完整的Java 应用程序由一个或多个类组成;其中Java Application 至少有一个主类,这个类中包含一个名为main 的方法 7、JDK下解释执行Java 的程序是java.exe 。 8、语句如下: int[] c1=int[10]; int[] c2={1,2,3,4,5,6,7,8,9,0}; 数组c1 中的元素有10 个;c2 中的元素有10 个; 已初始化赋 值的是c2 (c1 c2 )。 9、执行完下列程序后i 的值为5

int i=0; while(i<5) { i++; 10、运行下列程序段后,结果 c 的取值为120 int a = 100, b = 20,c; char oper ='+'; switch(oper) { case '+': c = a+b; break; case '-': c = a - b; break; default: c = a * b; break; } 11、为了能使用Java 中已提供的类,我们需要用import 语句来引入所需要的类。语句import java.io.* ;中引入了java.io 包的所有类。 二、选择题 1、属于访问控制的关键字是( D )。 A、static B 、final C、abstract D 、private 2、对成员的访问控制保护最强的是(C ) A、public 、 B、缺省、 C private D protected 3、可用做Java 标识符的是( B )。 A、try B_isYour C 2time D my name

相关主题
文本预览