文档库 最新最全的文档下载
当前位置:文档库 › Java程序设计复习题

Java程序设计复习题

Java程序设计复习题
Java程序设计复习题

《Java程序设计》复习题

一、选择题

1.线程是Java的()机制。

A.检查

B.解释执行

C.并发

D.并行

2.Java语言的()特点能保证软件的可移植性。

A.健壮性

B.安全性

C.动态性

D.跨平台

3.下面不属于Java语言特点的是()

A.面向过程

B.动态性

C.多线程

D.解释执行

4.Java作为编程语言,最基本的元素是()

A.方法

B.对象

C.包

D.接口

5.下列项目中,不属于Java核心包的一项是()

A.Javax.swing

B.Java.io

C. Java.util

D. https://www.wendangku.net/doc/1112843365.html,ng

6.Java语言具有许多优势和特点,下面哪个特点是Java所不具有的?( )

A.利用了面向对象的技术基础

B.可移植性

C.独立于硬件

D.多重继承

7.下面的哪个特点不是Java虚拟机执行过程的特点( )

A.多线程

B.及时执行

C.动态连接

D.异常处理

8.下列属于Java语言垃圾回收机制的一项是( )

A.内存跟踪

B.异常处理

C.代码安全检测

D.健壮性

9.下列说法不正确的是()

A.表达式可以作为其它表达式的操作数

B.单个的常是时或变量可以作为表达式

C.表达式和表达式语句是一样的

D.表达式的类型可以和操作数的类型不一致

10.下面选项不是表达式语句的是( )

A.a++

B.a=b+c;

C.a+=b;

D.System.out.println(“A”);

11.下列程序的输出结果为( )

public class B {

public static void main(String[ ] args){

int x=5;

double y=10.5f;

float z=(float)(x*y);

System.out.purintln(z);

}

}

A.50.0

B. 52.0

C. 50.5

D. 52.5

12.对以下程序段,说法正确的是( )

int a=10;

int t=0;

do { t=a++; } while(t<=10);

A.一次都不执行

B.执行一次

C.执行两次

D.无限次执行

13.下列程序的输出结果为()

public class A{

public static void main(String[ ] args){

int a=3,b=4,c=5,d=6,e=7;

if(ad) System.out.println(“who”);

else System.out.println(“why”);

}

}

A.why

B. who

C. who why

D.没有结果

14.下面不是Java程序中的合法条件语句的一项是()

A.if(a>b){……}

B.if(a=1){……}

C. if(a>b&&b>c){……}

D. if(3>2){……}

15.定义类头时,不可以放到类名前面的关键字是()

A.public

B.abstract

C. final

D. static

16.定义类时,可以用来修饰类名的修饰符是( )

A.private

B.abstract

C.native

D.protected

17.在下面的关键字中,可以使一个类中的成员变量不能被外部类调用的是( )

A.public

B.protected

C.private

D.前三个都不是

18.设Test为已定义的类,下面声明类Test对象a的语句中正确的是( )

A.Test a=Test( )

B.public Test a;

C.Test a=new Test( )

D.public Test a=new Test( )

19.定义抽象类时,所使用的关键字是( )

A.final

B.public

C.abstract

D.protected

20.定义一个公有double型符号常量PI,下面语句中正确的是( )

A.public final double PI;

C.public final static double PI; B.public final static double PI=3.14159;

D.public static double PI=3.14159;

21.有一个类B,下面为其构造方法进行的声明,正确的是( )

A.void B(int x) { } C.void b(int x) { }

B.B(int x) { } D.b(int x) { }

22.用关键字private修饰的成员变量,下列说法正确的是()

A.只能被该类自身所访问或修改

B.只能被同一包中的其它类访问

C.可以被其它包中的类访问

D.可以被其它包中该类的子类所访问

23.关于类变量和实例变量的说法中,描述错误的是()

A.实例变是量是类的成员变量

B.类变量仅在第一次被使用时初始化

C.实例变量用static修饰

D.实例变量在每一次的对象创建时被初始化

24.设MyClass是已定义的类,则声明类MyClass对象objmyclass的语句正确的是()

A.MyClass objmyclass=MyClass( ); C.MyClass objmyclass=new MyClass( )

B.public MyClass objmyclass

D.public MyClass objmyclass=new MyClass( )

25.为TestClass类定义一个无返回值的方法func,使得仅通过类名就可以访问该方法,则正确的形式为()

A. static void func( ) C. abstract void func( )

B. final void func( ) D. public void func( )

26.为TestClass类定义一个返回值为int型的方法func,使得仅通过类名就可以访问该方法, 则正确的形式为()

A. final int func( )

B. static int func( )

C. abstract int func( )

D. public int func( )

27.执行

StringBuffer s1=new StringBuffer(“abc”);

s1.insert(1,”efg”);

之后,正确的结果是()

A.s1=”efgabc”

B. s1=”aefgbc”

C. s1=”abefgc”

D. s1=”abcefg”

28.执行

int i=”abcd”.compareTo(“abcd”);

之后,i的值为( )

A.正整数

B.负整数

C.true

D.false

29.数组作为参数,传递的是()

A.地址

B.数组元素值

C.名称

D.以上都不对

15.将小写字母转换为大写字母的方支是

30.在使用interface声明一个接口时,可以使用()修饰符。

A. private

B. protected

C. private或protected

D.public

31.在Java中,实现多继承需要通过()

A.对象

B.接口

C.父类

D.包

32.下列说法中,错误的是()

A.静态方法可以访问它所属类的所有属性

B.静态方法不能访问该类的实例变量

C.静态方法可以通过类名直接访问

D.实例方法可以访问该类的静态属性与静态访法

33.下述()不是对象的特征

A.对象的行为

B.对象的状态

C.对象的局部变量

D.对象标识符

34.下面关于类的说法错误的是()

A.类是经过抽象的共有属性的集合

B.类是Java程序的核心和本质

C.类不是一个独立的程序单位

D.类是对象的模板,对象是类的实例

35.编写AWT图形用户程序时,一定要用import语句是( );

A.import java.awt;

C.import javax.awt; B.import java.awt.*

D.import javax.swing;

36.下列说法中不正确的一项是( )

A.组件是一个可视化的能与用户在屏幕进行交互的对象

B.组件能独立显示出来

C.一个文本框可以是一个组件

D.组件需放在容器中才能正确显示

37.下列给出了组件的定义的类是( )

A.Java.awt.Grapics C.Java.awt.Container

https://www.wendangku.net/doc/1112843365.html,ng.Object https://www.wendangku.net/doc/1112843365.html,ponet

38.下列说法中,错误的一项是( )

A.TextArea可以显示多行多列文本

B.TextField可以显示单行多列文本

C.在单行文本输入区中按下Enter键会触发ActionEvent事件

D.单行文本区可通过方法setEditable( )是否可对文本内容进行编辑,但多行文本区却不行

39.下列选项中,不属于AWT布局管理器的是( )

A.GirdLayout

B.CardLayout

C.FlowLayout

D.BoxLayout

40.对于组件的下列属性,布局管理器可以进行管理的是( )

A.大小

B.颜色

C.形状

D.字体

41.下列说法中,错误的一项是( )

A.在实际编程中,一般使用的是Component的子类

B.在实际编程中,一般使用的是Container的子类

C.Container类是Component类的子类

D.容器中可以放置组件,但不能放置容器

42.事件处理机制能够让图形界面响应用户的操作,主要包括( )

A.事件

B.事件处理

C.事件源

D.以上都是

43.下列说法中,不正确的一项是( )

A.委托事件模型将事件源和对事件的处理分开,将事件处理交付外部的处理对象去执行

B.在Java中,每类事件都有一个与之对应的接口

C.监听器要处理某类型的事件,不一定必须实现与该类事件相对应的接口

D.监听器要处理某类型的事件,必须实现与该类事件相对应的接口

44.下列说法中,不正确的一项是( )

A.事件处理者对象可以是一个组件

B.事件在Java中以类的形式出现

C.事件源可以是一个组件

D.事件处理者对象接受事件对象,然后做出相应处理

45.下列事件监听器接口中,可属于TextField组件的是( )

A.ChangeListener C.ActionListener

B.ItemListener D.WindowListener

46.下列说法中,错误的一项是( )

A.匿名类没有名字

B.匿名类没有构造方法

C.匿名类可以没有父类,也可以不实现某个接口

D.匿名类需调用一个没有参数的父类的构造方法

47.下列说法中,错误的一项是( )

A.Java的AWT事件分为低级事件与高级事件

B.AWTEvent类是EventObject类的子类

C.Java语言中的事件都是继承自Java.AWTEvent类

D.ActionEvent类是AWTEvent类的子类

48.下列说法中,错误的一项是( )

A.由于内部类是定义于另一个类中的类,因此它不适用于AWT事件处理机制

B.内部类对象可以访问外部类对象的成员要素,包括private类型的成员要素

C.采用内部类实现监听器,编程时比较容易实现

D.内部类是定义于另一个类中的类

49.下列说法中,错误的一项是( )

A.TextField组件中按Enter键将触发ActionEvent事件

B.与ActionListeners接口对应的适配器类为ActionAdapter

C.MouseEvent类与KeyEvent类都是InputEvent类的子类

D.Frame是顶级窗口,它无法直接监听键盘输入事件

50.关于Applet的生命周期,正确的说法是( )

A.init( )方法在start( )方法之后执行

B.init( )方法可执行多次

C.stop( )方法在Applet退出时被调用,只调用一次

D.stop( )方法在Applet不可见时被调用,可以被调用多次

51.Applet程序的顶级容器是( )

A.JApplet

B.JFrame

C.JDialog

D.Jpanel

52.当小程序窗口需要重画时,将调用的方法是( )

A.start( )

B.init( )

C.paint( )

D.stop( )

53.下面说法中不正确的是(

A.Java中线程是抢占式的C.Java中线程可以共享数据)

B.Java中线程是分时式的

D.Java中线程可以共享代码

54.以下方法中,用于定义线程执行体的是( )

A.start( )

B.init( )

C.run( )

D.main( )

55.线程Thread类提供表示线程优先级的静态常量,代表普通优先级的静态常量是( )

A.MAX_PRIORITY C.NORM_PRIORITY

B.MIN_PRIORITY D.NORMAL_PRIORIT

56.在下列说法中,错误的一项是( )

A.用户程序类可以实现Runnable接口的方法来定义用户程序线程的操作

B.当一个线程处于创建状态时,系统为其分配资源,就可以运行

C.新建线程继承创建它的父线程的优先级

D.线程的调度执行是按照其优先级的高低顺序进行执行时

57.异常产生的原因很多,常见的有(

A.程序设计本身的错误

C.软件、硬件设置的错误

58.下列哪一个是运算中的除0异常(

)

B.程序运行环境的改变D.以上都是

)

A.RuntimeException C.ArithmeticException

B.ClassCastException

D.ArrayIndexOutOffBoundException

59.所有异常类都继承自下列中的哪个类( )

A.Java.io.Exception https://www.wendangku.net/doc/1112843365.html,ng.Exception

https://www.wendangku.net/doc/1112843365.html,ng.Throwable https://www.wendangku.net/doc/1112843365.html,ng.Error

60.下列关键字中,不是用来捕获处理异常的关键字是( )

A.throws

B.try

C.catch

D.finally

61.以下方法中,可以实现与指定的URL建立连接并返回InputStream类的对象,以从这一连接中读取数据的是( )

A.readLine( )

B.read( )

C.openStream( )

D.new URL( )

62.以下选项中,是Java的IP地址封装类的是( )

A.URL

B.InetAddress

C.Applet

D.Socket

63.以下方法中,可以获得主机名字或一个具有点分形式的数字IP地址的是( )

A.getFile( )

B.getQuery( )

C.getHostName( )

D.getPath( )

64.确定一个Socket的完整要素有( )

A.一个IP地址和一个端口号C.一个主机名

B.一个IP地址和一个主机名D.一个端口号

65.一个URL地址的组成为(

A.文件名和主机名

C.IP地址和主机名)

B.主机名和端口号D.协议名和资源名

66.http服务的默认端口号为( )

A.80

B.21

C.23

D.120

67.Java中用于无连接的数据报通信的类有(

A.DatagramPacket

C.DatagramPacket和DatagramSocket )

B.DatagramSocket D.URL

68.DatagramSocket允许数据报发送的目的地址有( )

A.一个

B.二个

C.三个

D.多个

69.字节流与字符流的区别是( )

A.每次读入的字节数不同

C.前者是字节读写,后者是块读写B.前者有缓冲,后者没有

D.二者无区别,可以互换使用

70.Java语言提供处理不同类型流的类所在的包是( )

A.java.sql

B.java.util

C.java.math

D.java.io

71.建立文件file.txt的字节输入流的语句是( )

A.InputStream in=new FileInputSteam(“file.txt”);

B.FileInputStre am in=new FileInputStream(new File(“file.txt”));

C.InputStream in=new FileReader(“file.txt”);

D.FileInputStream in=new FileReader(“file.txt”);

72.下列说法中,错误的一项是( )

A.Java系统中的标准输入是System.in

B.打开一个文件时不可能产生IOException

C.使用File对象可以判断一个文件是否存在

D.使用File对象可以判断一个目录是否存在

73.创建一个DataOutputStream的语句是( )

A.new DataOutputStream(“out.txt”);

B.new DataOutputStream(new File(“out.txt”));

C.new DataOutputStream(new Writer(“out.txt”));

D.new DataOutputStream(new OutputStream(“out.txt”));

74.下面语句中,正确的是( )

A.Rando mAccessFile raf=new RandomAccessFile(“myfile.txt”,”rw”);

B.RandomAccessFile raf=new RandomAccessFile(new DataInputStream( ));

C.RandomAccessFile raf=new RandomAccessFile(“myfile.txt”);

D.RandomAccessFile raf=new RandomAccessFile(new File(“myfile.txt”));

75.下列创建InputStreamReader对象的方法中,正确的是(

A.new InputStreamReader(new FileInputStream(“data”));

B.new InputStreamReader(new FileReader(“data”));

C.new InputStreamReader(new BufferedReader(“data”));

D.new InputStreamReader(System.in);

)

76.以下方法中,可以得到一个文件的路径名的是( )

A.String getName( )

B.String getPath( )

C.String getParent( )

D.String renameTo( )

77.以下可以实现关闭流的方法是( )

A.void close( );

B.void reset( );

C.int size( );

D.void flush( ); 78载入数据库访问驱动程序的方法为( )

A. Java.forName( )

B.Class.fromName( )

C. Class.forName( )

D.Java.fromName( )

二、填空题

1.多线程是Java程序的

并发机制

,它能同步共享数据,处理不同事件。

2.Java的三个版本分别是

J2SE,J2EE

、和J2ME。

3.Java的

垃圾回收

机制将程序员从手工管理内容中解脱出来。

4.Java编译器将Java源程序编译成为

字节码文件(或class文件)

5.Java源程序的运行,至少要经过

编译、解释

6.Java程序能在WWW浏览器上运行的是Applet小程序和

两个阶段。

7.与结构化程序设计语言不同,Java是一种完全的

言。

面向对象、无关/独立

8.在Java程序中,do-while循环语句的语句块至少被执行

且与

次。

1

9.面向对象的语言将客观世界都看成由各种对象所组成。具有共同特征和行为的对象组成类,类是

变量,方法

和的集合。

10.在Java中对象使用遵循先

定义/声明

再使用的原则.

11.Java程序结构中,最基本的概念是

类,对象

10.对static类型的方法进行引用时,可以用

类名,对象名

12.Java语言中

-15是所有类的根类。Object类和

作前缀。

13.在Java程序中,类之间实现共享属性的机制称为

继承

14.如果一个类包含一个或多个abstract方法,它就是一个抽象。

类。

15.Java程序中,利用关键字实现子类对父类方法的调用。

super

16.子类可以从它的父类继承所有的非私有属性和方法。软件开发过程中,采用这种方法可以提高软件的

可重用性/复用性

和。

17.一个类主要包含两个成员要素:

成员变量(属性)、成员方法

18.抽象方法只能存在于抽象类中,抽象方法用关键字

abstract

进行修饰。

19.标记成的类成员不能由该类的static

20.每个Applet程序必须有一个类是Applet 方法进行访问。的子类。

21.接口是一种只含有

抽象方法、常量

或的特殊抽象类

22.Java程序中引入接口,弥补了只允许类进行的缺憾。

单一继承

23.如果一个类中定义了几个名为method的方法,这些方法的参数都是整数,那么这些方法

参数个数

24.abstract方法不能必须是不同的,这种现象称为方法的重载。

与final并列修饰同一个类

25.Java的GUI发展经历了两个阶段,体现在开发包上,分别是工具集

AWT、Swing

26.事件处理机制包括: 、事件和事件处理对象。

事件源

27.Java处理事件的模式称为:

委托事件模型

28.处理与动作相关的事件(如单击按钮)的事件监听器类为

ActionListener

29.Applet的生命周期有、、和destory( )

init( )、start( )、stop( )

30.在Java中,线程同步是通过

synchronized

关键字实现的。

31.线程生命周期的5种状态是:新建状态、

和终止状态

就绪(可运行)、运行、

状态、状态、阻塞状态

32.Java中,异常分为Error、Exception

33.下面程序段执行结果是: 和两类

Finally

public class Test {

public static void main(String[ ] args) {

try{

return;}

finally(System.out.println(“Finally”);)

}

}

34.编写一个网络通信程序,需在程序最开头引用

https://www.wendangku.net/doc/1112843365.html,

类包。

35.

TCP

是一种面向连接的保证可靠传输的协议。

( (

36.基于 UDP 网络程序设计中,使用 DatagramSocket

37.在 https://www.wendangku.net/doc/1112843365.html, 包中,IP 地址由一个称为 InetAddress

类创建套接字连接。

的特殊类进行描述。 38.根据流的方向,可将流分为两类: 输入、输出

39.在 io 类库中,InputStream 和 OutputStream

是处理字节数据的基本输入/输出类。

40.Java 要所所操作的对象类型,将数据流分为了 流和

流两种。

字节、字符

41. SUN 公司提供的 JDBC/ODBC 桥接驱动程序名称为: sun.jdbc.odbc.JdbcOdbcDriver 三、简答题

1.什么是方法的重载和方法覆盖,它们有什么区别?

答:方法重载与方法覆盖是实现多态的两种形式。一个类定义了多个名字相同而参数不同的 成员方法或构造方法,称为方法的重载。在子类中重新定义与父类同名的方法称为方法覆盖 或方法重写。它们的区别是: 1)重载是名称相同但参数不同的多个方法在同一个类中的表 现形式;覆盖则是在具有继承关系的不同类之间,子类重新定义来自父类方法的一种表现形 式。(2)重载方法不能有相同的形参表;覆盖方法则必须有相同的方法名、形参列表和返回 值。 3)重载方法调用时利用不同的实际参数进行同类方法的选择;覆盖方法调用时利用不 同的前缀来选择不同类的方法。(4)方法重载只是提供了更多的选择,而不意味着替代;方 法覆盖具有替代的意味,两个具有覆盖关系的方法被认为具有相同的语义。(5)final 方法 可以被重载;但是不能被覆盖,构造方法可以被重载;但是不能被覆盖。 2.如何实现数据的封装?

答:封装也可称为信息隐藏(Information Hiding), 是通过对象的方法来访问与改变对象属性 的一种机制。封装是面向对象的一个重要原则,其实现的核心是将类的属性与相关的操作捆 绑起来,包装成不可分割的、独立的对象实体,将内部的数据与实现细节尽可能隐蔽起来, 使外部用户不能直接操纵对象的内部信息,只能通过对象对外提供的施加有一定限制的访问 接口来使用对象。

3.什么是多态?如何实现多态?

答:多态性(Polymorphism)是指在基类中定义的属性或方法被派生类继承后,可以具有不同 的数据类型,或表现出不同的行为,从而使得同一个属性或方法在基类及其各个派生类中具 有不同的语义。 Java 的多态性体现在两个方面:(1)方法重载实现的静态多态性,又称为 编译时多态。(2)方法覆盖/重写实现的动态多态性,又称为运行时多态。 4. 简述 Java 程序设计中异常处理时的异常抛出策略的基本原则

答:(1)从方法使用者的角度考虑,声明对使用者有意义的异常。(2)在所设计的方法遇到不 能处理的非正常情形下,应当声明抛出异常。 (3)不声明所有可能发生的异常,要尽可能地 将“低级异常”映射成对方法使用者有意义的“高级异常”。(4)不要声明抛出“Exception ” 或“Throwable ”。(5)一般不声明抛出超过 3 个的异常。要通过代码重构或将多个异常映射到 一个通用的异常中来解决该问题,或者在方法内部自行消化部分内部异常。 (6)将异常组织 成一个对象树结构,有利于保持方法定义的稳定性,同时也给方法的使用者提供了以不同粒 度处理异常的自由。

5.举例说明字体类 Java.awt.Font 与颜色类 java.awt.Color 的构造函数 答:创建字体对象时,使用构造函数:

Font(String name,int style,int size),其中name为字体名,style为字体风格,风格有Font.PLAN,Font.BOLD,Font.ITALIC以及Font.BOLD+Font.ITALIC,size为字体的大小。例如:

Font aFont=new Font(“楷体”,Font.BOLD+Font.ITALIC,20)创建字体为楷体,加粗并倾斜,大小为20的字体对象。

创建java.awt.Color类型的对象时,使用构造函数:

Color(int r,int g, int b),参数r,g,b的范围为0到255,分别表示颜色中的红、绿、蓝颜色分量。

例如:

Color aColor=new Color(10,128,128);创建了红、绿、蓝分量分别为10,128,128的色彩对象。6.有哪些常用的字节流与字符流

答:字节流:InputStream(读取字节流)类和OutputStream(写入字节流分别是字节输入流与字

节输出流的祖先,常用的字节流有:顺序读/写文件的FileInputStream和FileOutputStream;ByteArrayInputStream和ByteArrayOutputStream;用来将数据转换到一个数据类型为字节类数

的数组中;缓冲区流BufferedInputStream类和BufferedOutputStream类等。

字符流:Reader和Writer分别是所有输入、输出字符流的基类,常用的字符流有:InputStreamReader和OutputStreamWriter;FileReader和FileWriter;BufferedReader和BufferedWriter;CharArrayReader和CharArrayWriter等。

7.简述Java程序设计中异常处理时的异常捕获策略基本原则。

答:(1)尽可能只捕获指定的异常,而不是捕获多个异常的公共父类。一般不要捕获

https://www.wendangku.net/doc/1112843365.html,ng.Exception或https://www.wendangku.net/doc/1112843365.html,ng.Throwable。(2)如果有多个指定的异常需要处理,可以多写几

个catch子句,或者捕获多个异常的公共父类,只要不是Exception或Throwable就行。(3) 一般情况下不要捕获RuntimeException或Error,即不要捕获unchecked exception,除非这些异常并不代表程序或系统的错误。(4)重构代码时,应仔细观察并处理因为代码的改变而变

得多余的catch子句。不能只依靠编译器发现这类问题。

8.开发AWT图形用户程序最主要的步骤是会么

答:首先要完成程序外观界面的设计。包括创建窗体,在窗体中添加菜单、工具栏及多种

GUI组件,设置各类组件的大小、位置、颜色等属性。这个层次的工作可以认为是对程序静

态特征的设置。其次要为各种组件对象提供响应与处理不同事件的功能支持,从而使程序具

备与用户或外界事物交互的能力,使得程序“活”了起来。这个层次的工作可以认为是对程

序动态特征的处理。

四、程序设计

1.定义Students类,其中包括四个私有变量,分别存储学生的学生的姓名、年龄、性别、成绩,一个构造方法和show( )方法。构造方法包括四个参数,用于在生成对象时,为学生的

姓名、年龄、性别、成绩赋值。show( )方法于用输出学生的学生的姓名、年龄、性别、成绩

属性值。

class Students {

private String name;

private int age;

private boolean sex;

private float score;

public Student(String name,int age,boolean sex,float score) {

https://www.wendangku.net/doc/1112843365.html,=name;

this.age=age;

this.sex=sex;

this.score=score;

}

public void show( )

System.out.println(“姓名:”+name);

if(sex==true)

System.out.println(“性别:男”);

else

System.out.println(“姓名:女”);

System.out.println(“年龄:”+age);

System.out.println(“成绩:”+score);

}

2.定义一个接口,接口中有二个抽象方法如下:

(1)long fact(int m);功能为求参数m的阶乘

(2)long intPower(int m,int n);功能为求参数m的n次方

定义类实现该接口,并编写应用程序,调用接口中的二个方法计算5!和53,将所得结果输出。

public interface MyIn{

public abstract long public abstract long fact(int m); intPower(int m,int n);

}

public class MyClass implements MyIn {

public long fact(int m){

long result=1;

for(int i=1;i<=m;i++)

result=result*i;

return(result);

}

public long intPower(int m,int n) {

long result=1;

for(int i=1;i<=n;i++)

result=result*m;

return(result);

}

public void main(String[ ] args) {

System.out.println(fact(5));

System.out.println(intPower(5,3));

}

3.编写程序,模拟生产者与消费者问题。

public class ProducerConsumerTest {

public static void main(String[] args) {

Box box = new Box();

Producer p= new Producer(box,"工厂");

Consumer c= new Consumer(box,"顾客");

p.start();

c.start();

}

}

class Box{

private int value;

private boolean available=false;

public synchronized int get() {

while (available == false) {

try {

//等待生产者写入数据

wait();

} catch (InterruptedException e) {

e.printStackTrace();

}

}

available = false;

//通知生产者数据已经被取走,可以再次写入数据

notifyAll();

return value;

}

public synchronized void put(int value) {

while (available == true) {

try {

//等待消费者取走数据

wait();

} catch (InterruptedException e) {

e.printStackTrace();

}

}

this.value = value;

available = true;

//通知消费者可以来取数据

notifyAll();

}

}

class Producer extends Thread {

private Box box;

private String name;

public Producer(Box b, String n) {

box = b;

name=n;

}

public void run() {

for (int i = 1; i < 6; i++) {

box.put(i);

System.out.println("生产者" + name+ "生产: " + i);

try {

sleep((int)(Math.random() * 100));

} catch (InterruptedException e){

e.printStackTrace();

}

}

}

}

class Consumer extends Thread {

private Box box;

private String name;

public Consumer(Box b, String n) {

box=b;

name=n;

}

public void run() {

int value = 0;

for (int i = 1; i < 6; i++) {

value = box.get();

System.out.println("消费者" +name+ "消费: " + value);

try {

sleep((int)(Math.random() * 100));

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

}

4.利用输入输出流编写程序,实现文件复制功能。

import java.io.*;

public class JCopyFile {

public static void copy(String srcFile, String dstFile) {

FileInputStream fin = null;

FileOutputStream fout = null;

try {

fin = new FileInputStream(srcFile); //打开源文件

fout = new FileOutputStream(dstFile); //打开目标文件

int read = -1;

while((read = fin.read()) >= 0) {

//从输入流读,向输出流写fout.write(read);

}

}

catch(FileNotFoundException e) {

e.printStackTrace();

}

catch(IOException e) {

e.printStackTrace();

}

finally {

try {//关闭文件流

if(fin != null) fin.close();

if(fout != null) fout.close();

}

catch(Exception e) {}

}

}

public static void main(String[] args) {

if(args.length != 2) {

System.out.println(

"Usage: java JCopyFile source destination");

return;

}

copy(args[0], args[1]);

}

}

5.使用GB2312字符集保存“你好,世界!”到文件中,并读取显示出来。import java.io.*;

public class CharProcess {

public static void main(String[] args) {

String fileName = "test";

try {

OutputStreamWriter out = new OutputStreamWriter (

new FileOutputStream(fileName), "GB2312");

out.write("你好,世界!\n");

out.close();

String line;

//指定字符集:UTF8

InputStreamReader reader = new InputStreamReader (

new FileInputStream(fileName), "GB2312");

System.out.println("CharsetName:" + reader.getEncoding());

BufferedReader in = new BufferedReader(reader2);

while((line = in.readLine()) != null){

System.out.println(line);

};

in.close();

}catch (IOException e) {

e.printStackTrace();

}

}

}

6.编写程序段,模拟银行账户的转账操作(从A账户转往B账户)。设已有SQL语句SQL1

和SQL2,其中:SQL1的作用是从账户A减去资金x;SQL2的作用是将账户B加上资金x。try {

con.setAutoCommit(false); //设置非自动递交模式

PreparedStatement stmt1=con.preparedStatement(SQL1);

PreparedStatement stmt1=con.preparedStatement(SQL1);

stmt1.executeUpdate( );

stmt2.executeUpdate( );

https://www.wendangku.net/doc/1112843365.html,mit( ); //递交事务

//恢复自动递交模式

con.setAutoCommit(true);

stmt1.close;

stmt2.close;

}catch(SQLException e){

e.printStackTrace( );

if(con != null) {

try {

con.rollback( ); //事务回滚

con.setAutoCommit(true);

}catch(SQLException e) {

e.printStackTrace( );

}

}

}

7.利用输入输出流编写程序,实现显示文本文件内容功能。

import java.io.*;

public class JTypeFile {

public static void type(String fileName) {

FileInputStream fin = null;

try {

//第一步:打开文件流

fin = new FileInputStream(fileName);

int read = -1;

//第二步:读

while((read = fin.read()) >= 0) {

System.out.write(read);

}

}

catch(FileNotFoundException e) {

System.err.print("Not found the file:" + fileName);

}

catch(IOException e) {

System.err.print("Cann\'t read the file:" + fileName);

}

finally {

try {

//第三步:关闭文件流

if(fin != null) fin.close();

}

catch(Exception e) {}

}

}

public static void main(String[] args) {

if(args.length <= 0) {

System.out.println("Usage: java JTypeFile file1 file2 ...");

return;

}

for(int i=0; i

System.out.println(args[i]+":");

//输出文件内容

type(args[i]);

System.out.println("\n");

}

}

}

8.使用ServerSocket编写一个时间服务器程序,能向客户发送以下格式的时间信息。时间格式:Sat Jan 15 10:45:20 CST 2005

import https://www.wendangku.net/doc/1112843365.html,.*;

import java.io.*;

import java.util.*;

public class DaytimeServer{

public static void main(String[] args){

ServerSocket timeSocket;

Socket clientSocket;

OutputStream out;

Date currDate;

if(args.length<1){

System.out.println("Usage: java DaytimeServer port");

System.out.println("Example: java DaytimeServer 1234");

System.exit(-1);

}

try{

timeSocket = new ServerSocket(Integer.parseInt(args[0]));

System.out.println("时间服务器已经启动,正在侦听断口"+args[0]+"...");

try{

while(true){

clientSocket = timeSocket.accept();

try{

out = clientSocket.getOutputStream();

currDate = new Date();

out.write(currDate.toString().getBytes());

System.out.println("服务器时间[" + currDate + "]已经发送到"+

clientSocket.getInetAddress());

}finally {

clientSocket.close();

}

}

}finally {

timeSocket.close();

}

}catch(IOException ex){

System.out.println(ex);

}catch(NumberFormatException e){

System.out.println("illeagl port "+args[0]);

}

System.exit(0);

}

}

JAVA程序设计期末考试题(多套含答案)

《JA V A程序设计》期末考试试题(五) 一、单选题 1、当某一线程正处于休眠状态,而另一个线程用Thread 类中的interrupt() 方法中断它时,抛出的异常类型是()。 A) IOException B) RuntimeException C) InterruptedException D) ClassNotFoundException 2、下面的程序段的功能是( )。 File file1=new File("d:\\xxx\\yyy\\zzz"); file1.mkdirs(); A)在当前目录下生成子目录:\xxx\yyy\zzz B)生成目录:e:\xxx\yyy\zzz C)在当前目录下生成文件xxx.yyy.zzz D)以上说法都不对 3、应用程序的main方法中有以下语句,则输出的结果是( )。 String s = "xxxxxxxxxxxxxxx#123#456#zzzzz"; int n = s.indexOf("#"); int k = s.indexOf("#", n+1); String s2 = s.substring(n+1, k); System.out.println(s2); A) 123456 B) 123 C) xxxxxxxxxxxxxxx D) zzzzz 4、关于下面的程序Test.java说法正确的是( )。 public class Test { String x="1"; int y; public static void main(String args[]) { int z=2; System.out.println(x+y+z); } } A)3 B)102 C) 12 D)程序有编译错误 5、应用程序的main方法中有以下语句,则输出的结果是( )。

JAVA程序设计习题库及答案

第一章JAVA语言概论 一、选择题 1。下列不属于java语言鲁棒性特点的是:A.java能检查程序在变异和运行时的错误 B。java 能运行虚拟机实现跨平台 C。java 自己操纵内存减少了内存出错的可能性D。java 还实现了真数组,避免了覆盖数据的可能2.java语言的执行模式是: A。全编译型 B.全解释型 C.半编译和半解释型 D.同脚本语言的解释模式 3.下列关于虚拟机说法错误的是: A。虚拟机可以用软件实现 B.虚拟机部可以用硬件实现 C.字节码是虚拟机的机器码 D.虚拟机把代码程序与各操作系统和硬件分开 4。java语言是1995年由()公司发布的 A.Sun B。Microsoft C.Borland D.Fox Software 5.下列不是虚拟机执行过程特点的是 A。双线程

B.多线程 C.动态链接 D.异常处理 6.java以JVM为基础,最下层是移植接口,由适配器和()组成A.网卡 B。Java os C。Java基本类 D。Java 应用程序和applet小程序 7。java程序的执行过程中用到一套JDK工具,其中javac.exe指A.java语言编译器 B.java字节码解释器 C.java文档生成器 D.java类分解器 8.java的API结构中,不属于类库主要包括的核心包的是 A.java包 B。javax C.javadoc包 D.org扩展包 9.每个java的编译单元可包含多个类或界面,但是每个编译单元最多只 能有()类或者界面是公共的 A.一个 B。两个 C。四个 D。任意多个

10.在当前的java实现中,每个编译单元就是一个以()为后缀的文件 A。java B.class C。doc D.exe 二、填空题 1. 1991年,SUN公司的Jame Gosling和Bill Joe等人,为电视、控制烤面包机等家用电器的交互操作开发了一个____软件,它是java的前身. 2. java是一个网络编程语言,简单易学,利用了____的技术基础,但又独立于硬件结构,具有可移植性、健壮性、安全性、高性能。 3. java可以跨平台的原因是____ 4. JVM的执行过程有三个特点:多线程,_____,异常处理; 5.JAVA程序的安全性体现在多个层次上,在_____,有语法检查;在解释层上,有字节码校验器、测试代码段格式和规则检查,访问权限和类型转换和法性检查,操作数堆栈的上溢或下溢,代码参数类型合法性等;在平台层上,通过配置策略,可设定访问资源域,而无需区分本地或远程。 6。 JAVA的产品主流操作系统平台是Solaris、_____和Macintosh. 7. JAVA系统运行时,通过______机制周期性的释放无用对象所使用的内存,完成对象的清除。 8。在JAVA语言中,将后缀名为______的源代码文件编译后形成后缀名为.c lass的字节码文件。 9。 JAVA语言的执行模式是半编译和______. 10. JAVA类库具有_____的特点,保证了软件的可移植性。 11。在编写执行JAVA程序的过程中需要用到一些工具,SUN公司为我们提供了一套JDK工具,它主要包括:javac.exe、java。exe、_____、ja vap.exe、jkb。exe 12.JAVA程序包括源代码(.java文件)、______、由归档工具jar生成的。jar文件、对象状态序列化.ser文件.

Java程序设计复习题

Java程序设计复习题 一、选择题 1.下面哪些是java语言中的关键字? A.sizeof B.abstract C.NULL D.Native 2.switch语句中表达式的值必须是 A.布尔型或字符型 B.整型或字符型 C.整型或布尔型 D.浮点型或整型3.以下程序测试String 类的各种构造方法,试选出其运行效果。 class STR{ public static void main(String args[]){ String s1=new String(); String s2=new String("String 2"); char chars[]={'a',' ','s','t','r','i','n','g'}; String s3=new String(chars); String s4=new String(chars,2,6); byte bytes[]={0,1,2,3,4,5,6,7,8,9}; StringBuffer sb=new StringBuffer(s3); String s5=new String(sb); System.out.println("The String No.1 is "+s1); System.out.println("The String No.2 is "+s2); System.out.println("The String No.3 is "+s3); System.out.println("The String No.4 is "+s4); System.out.println("The String No.5 is "+s5); } } A.The String No.1 is The String No.2 is String 2 The String No.3 is a string The String No.4 is string The String No.5 is a string B.The String No.1 is The String No.2 is String 2 The String No.3 is a string The String No.4 is tring The String No.5 is a string C.The String No.1 is The String No.2 is String 2 The String No.3 is a string The String No.4 is strin The String No.5 is a string D.以上都不对 4.按访问权限从高到低的排列顺序是 A.友好的,public,protected, private. B.public,protected,private,友好的. C.public,友好的,protected,private. D.public,protected,友好的,private

Java语言程序设计二级考试模拟试卷

Java语言程序设计二级考试模拟试卷一 (考试时间90分钟,满分100分) 一、选择题(1~20题每题2分,20~30题每题3分,计70分) 在下列各题的A、B、C、D、四个选项中,只有一个选项是确定的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。 1、下列叙述中正确的是()。 A、线性表是线性结构 B、栈和队列是非线性结构 C、线性链表是非线性结构 D、二叉树是线性结构 2、下列关于队列的叙述中正确的是()。 A、在队列中只能插入数据 B、在队列中只能删除数据 C、队列是先进先出的线性表 D、队列是先进后出的线性表 3、设有下列二叉树: 对此二叉树前遍历的结果是()。 A、ABCDEF B、DBEAFC C、ABDECF D、DEBFCA 4、设树T的度为4,其中度为1、2、3、4的结点个数分别是4,2,1,1。则T中的叶子结点数是()。 A、8 B、7 C、6 D、5 5、结构化程序设计主要强调的是()。 A、程序的规模 B、程序的易读性 C、程序的执行效率 D、程序的可移植性 6、下面对对象概念描述错误的是()。 A、任何对象都必须有继承性 B、对象是属性和方法的封装体 C、对象间的通讯靠消息传递 D、操作是对象的动态属性 7、在软件测试中,以发现各模块内部可能存在的各种错误为目的的测试是()。 A、集成测试 B、单元测试 C、黑盒测试 D、白盒测试 8、软件需求分析阶段的工作,可以分为四个方面,需求获取、需求分析、编写需求规格说明书以及()。 A、阶段性报告 B、需求评审 C、总结 D、信息隐藏 9、在关系数据库中,用来表示实体之间联系的是()。 A、树结构 B、网结构 C、线性表 D、二维表 10、在关系数据库中,当数据的存储结构改变时,其逻辑结构可以不变,因次,基于逻辑结构的应用程

《JAVA语言程序设计》期末考试试题及答案(应考必备题库)

《JA V A语言程序设计》期末考试试题及答案2(应考必备题库) 一.判断题 1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√)2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(×)1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√)2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(×3.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。(×)4.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。(×)5.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch 中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。(√)6.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。(√)7.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。(×)8.静态初始化器是在其所属的类加载内存时由系统自动调用执行。(√)9.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。(×) 二.单项选择题 1.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?() A、String args B、String ar[] C、Char arg D、StringBuffer args[] 2.以下关于继承的叙述正确的是()。 A、在Java中类只允许单一继承 B、在Java中一个类只能实现一个接口 C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口只允许单一继承 3.paint()方法使用哪种类型的参数? () A、Graphics B、Graphics2D C、String D、Color 4.以下哪个不是Java的原始数据类型() A、int B、Boolean C、float D、char

java程序设计试题库

《Java语言程序设计基础教程》 练习思考题参考答案 第1章Java程序设计概述 1、1单项选择题 1.编译Java Application源文件将产生相应得字节码文件,扩展名就是什么 A、、java ???? B、、class ?C、、html??? D、、exe 解答:B 2.Java语言具有许多优点与特点,下列选项中,哪个反映了Java中“一次编 译,随处运行”得特点. ?A、简单性????B、平台无关性 C、面向对象性???? D、安全性 解答:B 3.Java语言具有许多优点与特点,下列选项中,哪个反映了Java中并行机制得 特点。 ?A、多线程???B、平台无关性 C、面向对象性??? D、安全性 解答:A 4。在Java语言中,下列哪些语句关于内存回收得说明就是正确得? ?A.程序员必须创建一个线程来释放内存; B.内存回收程序负责释放无用内存; C.内存回收程序允许程序员直接释放内存; D.内存回收程序可以在指定得时间释放内存对象 解答:B 5.一个Java源文件中最多只能有多少个public类。 ?A、1个?B、2个

C、3个? D、任意多个 解答:A 6。下面哪一个不就是Java语言所具有得特点。 A、没有全局变量,在类得定义外部没有任何得变量定义; ?B、不直接支持指针操作,而使用更安全得引用类型; C、支持子类对父类得多继承; D、具有自动垃圾收集功能; 解答:C 7。下面哪一个不就是Java开发工具包JDK得组成部分. ?A、Java得编译器; B、Java得解释器;? ?C、Java得API继承类库; ?D、Eclipse开发工具; 解答:C 8。JDK提供得编译器就是()。 ?A、java、exe???B、javac、exe C、javap、exe??? D、javaw、exe 解答:B 9。作为Java应用程序入口得main方法,其声明格式可以就是() A、public voidmain(String[]args) B、public static void main(String []args) C、public static void Main(String* args) D、public int main(String []args) 解答:B 10.下列说法正确得就是( A ) A、JAVA程序得main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、JAVA程序得main方法中如果只有一条语句,可以不用{}(大括号)括起来 11。下列哪些语句关于Java内存回收得说明就是正确得? ( B) A、程序员必须创建一个线程来释放内存

Java程序设计复习题 (1)

一、单选题:在下列各题的备选答案中选择一个正确的。(每题2分,共20分) 1、下列方法中不是键盘事件KeyEvent实现方法的是() A .keyPressed(KeyEvent e) B .keyReleased(KeyEvent e) C .mouseClicked(MouseEevent e) D .keyTyped(KeyEvent e) 2、下列关于接口的描述,正确的是( C ) A 抽象类可以使用extends关键字来继承接口 B 接口可以被实例化 C 接口可以继承多个父接口 D 接口具有继承性,但不能继承父接口的所有属性和方法 3、下面的方法,当输入为2的时候返回值是多少?( C ) public int getValue(int i) { int result = 0; switch (i) { case 1: result = result + i; case 2: result = result + i * 2; case 3: result = result + i * 3; } return result; } A)0 B)2 C)4 D)10 4、下列叙述中,正确的是( A ) A)声明变量时必须制定一个类型 B)Java认为变量number与Number相同 C)Java中唯一的注释方式是“//” D)源文件中public类可以有0个或者多个 5、如下Java代码段,体现了( B )概念。 public void aMethod(String s){....} Java程序设计2 第1页共6页

public void aMethod(int i){.........} public void aMethod(int I,float f){.....} ..... A)多继承 B)重载 C)重写 D)多态 6、下列标识符(名字)命名原则中,正确的是( D ) A)类名的首字母小写 B)变量和方法名的首写字母大写 C)接口名的首写字母小写 D)常量完全大写 7、Java的核心包中,提供编程应用的基本类的包是( A ) A)https://www.wendangku.net/doc/1112843365.html,ng B) Java.util C) Java.applet D) Java.rmi 8、Panel默认的布局管理器是( A ) A) FlowLayout B) GridLayout C) BorderLayout D) FlowLouLayout 9、File类是IO包中唯一表示磁盘文件信息的对象,它定义了一些与平台无关的方法来操纵文件。通过调用File类提供的各种方法,我们能够创建、删除文件、重命名文件、判断文件的读写权限及是否存在,设置和查询文件的最近修改时间等。下面的代码片段实现的是什么功能?( B ) File file = new File("C:\\test.dat"); if (file.exists()) { file.delete(); } A)创建C:\test.dat B) 删除C:\test.dat C) 打开C:\test.dat文件输出流 D) 移动C:\test.dat 10.下列常见的系统定义的异常中,哪个是输入、输出异常? ( B ) A)ClassNotFoundException B)IOException C)FileNotFoundException D)UnknownHostException 11、下列属于合法的Java标志符是( D ) A “ABC” B &5678 C +newer D saler 12、下列数组的初始化正确的是()b Java程序设计2 第2页共6页

Java程序设计习题附答案(一)

Java程序设计题库 第一部分绪论 1、下列关于Java语言的特点,描述错误的是(C) A.Java是跨平台的编程语言B.Java支持分布式计算 C.Java是面向过程的编程语言D.Java支持多线程 2、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?(B) A、安全性 B、多线性 C、跨平台 D、可移植 3、Java JDK中调试器的命令是(C)。 A、javac B、java C、jdb D、avah 4、运行jar文件中class文件需要在java命令后面加的参数为(A)。 A、-cp B-g C-d D-verbose 5、下面哪项在java中是不合法的标识符?(C) A、$user B、point C、You&me D、_endline 6、下面关于Java语言说法正确的是(ABCD)。 A、Java语言是面向对象的、解释执行的网络编程语言。 B、Java语言具有可移植性,是与平台无关的编程语言。 C、Java语言可对内存垃圾自动收集。 D、Java语言编写的程序虽然是“一次编译,到处运行”,但必须要有Java的运行环境。 7、在Java程序设计中,程序员创建()文件,然后编译器把它们转化为()文件。( B) A、源, HTML B、源, 字节代码 C、字节代码, 源 D、HTML, 字节代码 8、Java的JVM是指(B)。 A、由Java操作的家用设备(通常是一个漂亮的小烤箱) B、Java字节代码的解释程序 C、Java源代码的编译器 D、运行Java 所需的硬件设备 9、在Java中,关于CLASSPA TH环境变量的说法不正确的是(A)。 A、CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。 B、编译器用它来搜索各自的类文件。 C、CLASSPATH是一个目录列表。 D、解释器用它来搜索各自的类文件。 10、一个可以独立运行的Java应用程序(D)。

JAVA语言程序设计期末考试试题及答案

1234124JAVA语言程序设计考试试题及部分答案 一、单选题:(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。 1.下列语句序列执行后,k 的值是( B ) 。 int m=3, n=6, k=0; while( (m++) < ( -- n) ) ++k; A)0 B) 1 C) 2 D) 3 2.设i 、j 为int 型变量名, a 为int 型数组名,以下选项中,正确的赋值语句是( B ) 。 A)i = i + 2 B) a[0] = 7; C) i++ - --j; D) a(0) = 66; 3.Java语言的类间的继承关系是(B )。 A)多重的B) 单重的C) 线程的D) 不能继承 4.设有定义int i = 6 ; ,则执行以下语句后,i 的值为( C ) 。 i += i - 1; A) 10 B) 121 C) 11 D) 100 5.下列选项中,用于在定义子类时声明父类名的关键字是( C ) 。 A) interface B) package C) extends D) class 6.若已定义byte[ ] x= {11,22,33,-66} ; 其中O W k<3,则对x数组元素错误的引用是(C )。 A) x[5-3] B) x[k] C) x[k+5] D) x[0] 7.下列语句序列执行后, ch1 的值是( B ) 。 char ch1='A',ch2='W'; if(ch1 + 2 < ch2 ) ++ch1; A) 'A' B) 'B' C) 'C' D) B

Java程序设计复习题4

Java程序设计复习题4 1、Java源程序经编译生成的字节码文件的扩展名为(A ),字节码文件由解释器执行。 A)class B)java C)exe D)html 2、下列的变量定义中,错误的是( D)。 A)int i; B)int i=Integer.MAX_V ALUE; C)static int i=100; D)int 123_$; 3、下列不属于WindowListener接口的是( C ) A)windowOpened() B)windowClosed() C)windowActivated() D)mouseDragged() 4、以下字符常量中不合法的是(B )。 A)'|' B)'\'' C)"\n" D)'我' 5、若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是( )。 A)b = a!=7 ; B)a = 7 + b + c=9; C)i=12.3* % 4; D)a = a + 7 = c + b; 6、下列类头定义中,错误的是( B)。 A)class x {.. } B)public x extends y{ .... } C)public class x extends y{ .... } D)class x extends y implements y1{ .... } 7、下列选项中,用于在定义类头时声明父类名的关键字是(C )。 A)return B)interface C)extends D)class 8、设i,j 为类x 中定义的double 型变量名,下列x 类的构造函数中不正确的是( )。 A)double x(double k ){ i=k; return i; }

java程序设计模拟试题四

《Java 程序设计》模拟试题四 一、选择题(每小题2分,共20分) 1. 以下哪个是合法的标识符? ( C ) A. 7star B. else C. my$ D. super 2. 设有对象obj 具有属性a 则访问该属性的方法为( A )。 A. obj.a B. a.obj() C. a.obj D. obj.a() 3. 下列关于关键字this 和super 的说法正确的是( C )。 A. this 是调用父类的方法和变量 B. super 是调用本类中的方法 C. super 是调用父类的方法和变量 D. 没有区别 4. 以下关于重载(overload )的定义哪个正确?( B ) A.在一个类中,定义了多个具有相同名字的方法,但这些方法有不同的输出参数。 B.在一个类中,定义了多个具有相同名字的方法,但这些方法有不同的输入参数。 C.在一个类中,定义了多个具有相同名字的方法,并且这些方法有相同的输入参数。 D.在一个方法体中定义了多行代码。 5. 有如下代码段: int i=2; int j=3; if((i==2)||(j++==3)) i++; if((j==4)||(i++==3)) j++; System.out.printf("i="+i+"j="+j); 该程序运行的结果为: ( C )。 A .i=4,j=4 B.i=3,j=5 C .i=4,j=5 D.以上都不是 6. Java 程序用以下哪个命令可编译源文件? ( D ) A. Java B. appletviewer C. Javadoc D. Javac 7. 以下说法正确的个数为 ( B )。 ①构造方法中this 语句必须放在第一句; ②构造方法中super 语句不一定放在第一句; ③final 修饰的变量只能赋值一次; ④static 修饰的变量在该对象的一个实例中被修改,在另一个实例中也可以取得该变量的新值。 A. 1 B. 2 C. 3 D. 4 8. 下列修饰词,可以用来定义接口中方法的为 ( C )。 A. private B. protected C. public D.以上都不是 9. 关于继承的说法正确的是( B )。 A.子类将继承父类所有的属性和方法。 B.子类将继承父类的非私有属性和方法。 C.子类只继承父类public 方法和属性 D.子类只继承父类的方法,而不继承属性 10. 下列关于Java 程序中数组的使用说法正确的是( A )。 A.数组必须在使用前定义 B.同一个数组中的元素类型必须不同 C.数组是一种特殊的变量不需在使用前声明 D.数组的元素不可以是数组 评分标准:本题为单项选择题,每小题2分,共10道小题,共20分;每小题选对给2分,选错、多选、不选不给分也不扣分。 二、填空题(每空1分,共10分) 1. Java 的特点有: 简单性、可靠性和安全性、面向对象、平台无关和解释执行、分布式、多线 程等 (不少于4条)。 评分标准:只要写出四条即可给1分,不写或少于四条不给分,也不扣分。 2. Java 的注释有以下三种: 单行注释(//)、多行注释(/* */)、文档注释(/** */) 。 评分标准:本题答案不唯一,只要写出3条即可给1分,不写或少于3不给分,也不扣分。备注:不写汉字,只写括号中的符号也算正确,或者汉字和符号的组合也对。 3. 建立文件”file.txt ”的字节输入流的语句是 FileInputStream in=new FileInputStream (”file.txt ”) 。 评分标准:本题正确给1分,不正确或不写、错误不给分也不扣分。备注:本题答案不唯一,只要是表达出使用字节流类进行文件的字节输入即可,变量名可以不同,只要符合标识符的定义即可。 4. Java 中所有类都是类 Object 的子类。 评分标准:本题正确给1分,不正确或不写、错误不给分也不扣分。备注:首字母必须大写,否则算错不给分,写对象也算正确。 5. Throwable 的两个直接子类是 Error 、 Exception ,在方法头部声明方法可能会 抛出异常使用 throws 关键字。 评分标准:本题正确给3分,不正确或不写、错误不给分也不扣分。备注:Error 、Exception 的首字母必须大写,否则算错不给分;写出对应的汉语也算正确。 6. abastract 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在 抽象类中定义。 final 方法是不能被当前类的子类重新定义的方法。 评分标准:本题正确给2分,不正确或不写、错误不给分也不扣分。备注:写出对应的汉语也算正确,例如,抽象和最终。 7. 按照功能组织类和接口的名称空间称为 package 。 评分标准:本题正确给1分,不正确或不写、错误不给分也不扣分。备注:写出对应的汉语也算正确,例如,包。 三、简答题(每小题5分,共20分) 1. 有如下程序: Moveable.java 文件中有如下代码 interface Moveable{ void move(int x,int y); void jump(int x, int y); } Monkey.java 中如下代码: class Monkey implements Moveable{ public void jump(int x,int y){ System.out.printf(“I am jumping from %d to %d ”,x,y); } 专业班级: 姓名: 学号: …………………………密………………………………封………………………………线…………………………

非常经典的JAVA编程题全集(50题及答案)

【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少 //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素数个数是: " + count); } } 【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 public class lianxi03 { public static void main(String[] args) { int b1, b2, b3; for(int m=101; m<1000; m++) {

Java程序设计复习题(1)

JAVA程序设计复习题 一、单项选择题(在每小题列出的各选项中只有一个是符合题目要求的,请将其代码填在括号内) 1、欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?( B ) A、ArrayList myList=new Object(); B、ArrayList myList=new ArrayList(); C、ArrayList myList=new List(); D、List myList=new List(); 2、paint()方法使用哪种类型的参数?( A ) A、Graphics B、Graphics2D C、String D、Color 3、指出正确的表达式( C ) A、byte=128; B、Boolean=null; C、long l=0xfffL; D、double=0.9239d; 4、指出下列程序运行的结果( B ) public class Example{ String str=new String("good"); char[]ch={'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.ch); } public void change(String str,char ch[]){ str="test ok"; ch[0]='g'; } } A、good and abc B、good and gbc C、test ok and abc D、test ok and gbc 5、运行下列程序, 会产生什么结果( A ) public class X extends Thread implements Runable{ public void run(){ System.out.println("this is run()"); } public static void main(String args[]){ Thread t=new Thread(new X()); t.start(); } } A、第一行会产生编译错误 B、第六行会产生编译错误 C、第六行会产生运行错误 D、程序会运行和启动 6、容器被重新设臵大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?( C )

java程序设计习题集

Java程序设计习题集 第一章Java基础知识 §1.1Java概述 1.完成在Windows 2000操作系统下环境变量的配置 2.创建一个Java程序,输出自己的基本信息:名字和年龄。 3.概述Java语言的版本发展过程。 4.简述Java语言的运行机制。 5.在自己的机器上用JDK开发运行环境完成第一个Java程序的编辑、编译、运行过程。 6.简述Java语言的特点,Java虚拟机的概念及作用。 §1.2 Java基本语法 1.什么是变量?什么是常量? 2.什么叫表达式,Java语言中共有几种表达式? 3.下面哪些表达式不合法?为什么? HelloWorld 2Thankyou _First -Month 893Hello non-problem HotJava implements $_MyFirst 4. 以下的选项中能正确表示Java语言中的一个整型常量的是( )。 A) 12. B) -20 C) 1,000 D) 4 5 6 5. 以下选项中,合法的赋值语句是( )。 A) a = = 1; B) ++ i; C) a=a + 1= 5; D) y = int ( i ); 6. 若所用变量都已正确定义,以下选项中,非法的表达式是( )。 A) a != 4||b==1 B) 'a' % 3 C) 'a' = 1/2 D) 'A' + 32 7. 若有定义int a = 2;则执行完语句a += a -= a * a; 后,a的值是( )。 A) 0 B) 4 C) 8 D) -4 8. 在Java语言中,逻辑常量只有true 和 ___________ 两个值。 9. Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float 和 __________两种具体类型。 10. Java语言是( )。 A.面向问题的解释型高级编程语言 B.面向机器的低级编程语言 C.面向过程的编译型高级编程语言 D.面向对象的解释型高级编程语言 11. 下列的变量定义中,错误的是( )。 A) int i; B) int i=Integer.MAX_VALUE; C) static int i=100; D) int 123_$; 12. 以下的变量定义语句中,合法的是( )。 A) float $_*5= 3.4F; B) byte b1= 15678; C) double a =Double. MAX_VALUE; D) int _abc_ = 3721L; 13. 以下字符常量中不合法的是( )。 A) '|' B) '\'' C) "\n" D) '我' 14. 若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是( )。 A) b = a!=7 ; B) a = 7 + b + c=9; C) i=12.3* % 4; D) a = a + 7 = c + b;

Java程序设计试卷及答案

Java程序语言试卷(A) 答题卡: 一题: 1.___________________________________________________________ 2.___________________________________________________________ 3.___________________________________________________________ 4.___________________________________________________________ 5.___________________________________________________________ 6.___________________________________________________________ 四题: 1.___________________________________________________________ 2.___________________________________________________________ 3.___________________________________________________________ 4.___________________________________________________________ 5.___________________________________________________________五题:

《JAVA程序设计》习题

《J A V A程序设计》练习题 写出下面程序的运行结果 1、 import java.io.*; public class abc { public static void main(String args [ ]) { AB s = new AB("Hello!","I love JAVA."); System.out.println(s.toString( )); } } class AB { String s1; String s2; public AB(String str1, String str2) { s1 = str1; s2 = str2; } public String toString( ) { return s1+s2; } } 运行结果: Hello!I love JAVA 2、 import java.io.* ; public class abc { public static void main(String args[ ]) { int i, s = 0 ; int a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 }; for ( i = 0 ; i < a.length ; i ++ )

if ( a[i]%3 = = 0 ) s += a[i] ; System.out.println("s="+s); } } 运行结果: S=180 //****3、import java.io.* ; public class abc { public static void main(String args[ ]) { System.out.println("a="+a+"\nb="+b); } } class SubClass extends SuperClass { int c; SubClass(int aa, int bb, int cc) { super(aa, bb); c=cc; } } class SubSubClass extends SubClass { int a; SubSubClass(int aa, int bb, int cc) { super(aa, bb, cc); A = aa+bb+cc; } void show() { System.out.println("a="+a+"\nb="+b+"\nc="+c); } } 运行结果:a=60 b=20 c=30

Java程序设计预赛模拟题-2

一、单选题 1.Java JDK中调试器的命令是( )。 A. javac B. java C. jdb D. javah 2.运行jar文件中class文件需要在java命令后面加的参数为()。 A. -cp B. -g C. -d D. -verbose 3.下面哪项在java中是不合法的标识符?() A. $user B. point C. You&me D. _endline 4.下列哪一项不是Java保留字?() A. sizeof B. super C. abstract D. break 5.下列哪个布局管理器中的按钮位置有可能会根据Frame的大小改变而改变? () A. BorderLayout B. CardLayout C. GridLayout D. FlowLayout 6.下面哪些java语句会导致无限循环?( ) I. while (true) i = 0; II. while (false) i = 1; III. while (!false) i = 0; A. III only B. I and III only C. I only D. I, II and III 7.下面是Example.java文件的完整代码,请找出会产生编译错误的行()。 1) class BaseClass { 2) public String str; 3) public BaseClass(){ 4) System.out.println(“ok”);} 5) public BaseClass(String s){ 6) str=s;}} 7) class SubClass extends BaseClass{ 8) } 9) public class Example{ 10) public void method(){ 11) SubClass s=new SubClass(“hello”); 12) BaseClass b=new BaseClass(“world”); 13) } 14) } A. 7 B. 10 C. 11 D.12 8.可以在下面代码段point x处写入的是()。 //point x public class Interesting{ //do something } A. String str; B. static int PI=3.14; C. public class MyClass{//do other thing…} D. import java.awt.*; 9.下面关于事件监听的说明,哪一个语句是正确的?() A. 所有组件,都不允许附加多个监听器 B. 如果多个监听器加在一个组件上,那么事件只会触发一个监听器 C. 组件不允许附加多个监听器

相关文档
相关文档 最新文档