java复习题库
- 格式:doc
- 大小:67.00 KB
- 文档页数:6
Java考试复习题JAVA程序设计练习一、填空题1、目前Java运行平台主要分为下列3个版本是Java se ,Java ee ,Java me 。
2、SDK平台提供的Java编译器是javac.exe 和Java解释器java.exe 位于Java安装目录的bin 文件夹中。
3、Java运行环境JRE由Java虚拟机、Java的核心类以及一些支持文件组成。
4、一个Java应用程序必须有一个称为主类的类,该类含有public static void main (String args[ ])方法。
5、在源文件的命名中如果源文件中有多个类,那么只能有一个类是public类;如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,扩展名是java;6、一个Java Applet源文件不再需要main方法,但必须有且只有一个类扩展了Applet类,我们把这个类称作Java Applet源文件的主类。
7、类是组成Java程序的基本要素。
类封装了一类对象的状态和方法。
8、创建一个对象包括对象的声明和为对象分配成员变量两个步骤,对象的声明的一般格式为:类的名字对象名字;使用new运算符和类的构造方法为声明的对象分配成员变量9、用关键字static修饰的成员变量称作静态变量或类变量,类变量不仅可以通过某个对象访问也可以直接通过类名访问。
10、一个类中的方法可以互相调用:实例方法可以调用该类中实例方法或类方法;类方法只能调用该类的类方法,不能调用实例方法。
11、实例方法可以操作实例变量或类变量;而类方法只能操作类变量不能操作实例变量。
12、this关键字出现在类的构造方法中,代表使用该构造方法所创建的对象;this 关键字出现在类的实例方法中,代表使用该方法的当前对象。
13、成员变量在整个类内有效,局部变量仅在方法内有效,如果在方法内部局部变量的名字与成员变量的名字相同,则成员变量被隐藏,此时若要使用成员变量,格式为:this.成员变量。
一、选择题: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.ng B.java.util C.java.applet D.java.rmi解析:Java的核心包一共有12个,其中: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期末考试复习题及答案《Java程序设计》课程试卷1.使用Java语言编写的源程序保存时的文件扩展名是(B)。
(A).class(B).java(C).cpp(D).txt2.设int a=-2,则表达式a>>>3的值为(C)。
(A)(B)3(C)8(D)-13.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是(C)。
(A)a[0];(B)a[a.length-1];(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)finally7.类与对象的干系是(A)。
(A)类是对象的抽象(B)对象是类的抽象(C)对象是类的子类(D)类是对象的详细实例8.下面哪一个是Java中不合法的标识符(D)。
(A)$persons(B)twoNum(C)_myVar(D)*point9.为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( )11.Java源文件和编译后的文件扩展名分别为(B)(A) .class和.java(B).java和.class(C).class和.class(D) .java和.java12.在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画图操作。
java期末复习题库及答案一、选择题1. Java是一种()。
A. 编译型语言B. 解释型语言C. 标记语言D. 汇编语言答案:B2. Java程序的执行流程是()。
A. 编译 -> 链接 -> 执行B. 编译 -> 执行C. 编译 -> 解释 -> 执行D. 解释 -> 执行答案:C3. 下列哪个是Java的关键字?()A. classB. functionC. includeD. namespace答案:A4. Java中的类是()。
A. 抽象的B. 具体的C. 既是抽象的也是具体的D. 以上都不是答案:A5. Java中,哪个关键字用于定义一个类?()A. publicB. classC. voidD. int答案:B二、填空题1. Java语言的跨平台特性主要得益于______机制。
答案:JVM(Java虚拟机)2. 在Java中,所有的类都是继承自______类。
答案:Object3. Java中的______关键字用于定义一个方法。
答案:void 或者其他返回类型4. 在Java中,______关键字用于定义一个类是公共的。
答案:public5. Java中的______关键字用于定义一个变量是静态的。
答案:static三、简答题1. 简述Java语言的特点。
答案:Java语言具有面向对象、跨平台、健壮性、多线程、安全性、简单性等特点。
2. 什么是Java的垃圾回收机制?答案:Java的垃圾回收机制是指JVM自动检测内存中不再被使用的对象,并释放它们占用的内存资源,以防止内存泄漏。
3. 什么是Java的异常处理机制?答案:Java的异常处理机制是指程序在执行过程中,当出现错误或异常情况时,Java运行时环境提供的一种处理机制,包括try、catch、finally和throw等关键字的使用。
四、编程题1. 编写一个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、abstractB、private (本类)C、protected(本包及其他包的子类)D、不使用保留字7、编译一个定义了3 个类的Java 源文件后,会产生多少个字符码文件,扩展名是什么?(D )A、13 个字节码文件,扩展名是.classB、1 个字节码文件,扩展名是.classC、3 个字节码文件,扩展名是.javaD、3 个字节码文件,扩展名是.class8、下列关于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 )。
一、判断题。
共15题,每题2分,共30分。
正确的请选择A,错误的请选择B。
1、Java语言中,if是一个合法的变量名。
A、正确B、错误解答:正确答案:B,结果:正确2、Java是一种不区分大小写的语言。
A、正确B、错误解答:正确答案:B,结果:正确3、if语句可以没有else子句。
A、正确B、错误解答:正确答案:A,结果:正确4、new运算符用于对象抽象化。
A、正确B、错误解答:正确答案:B,结果:正确5、类是对象实例。
A、正确B、错误解答:正确答案:B,结果:正确6、Java语言规定构造方法不能直接调用。
A、正确B、错误解答:正确答案:A,结果:正确7、程序员可以在指定时间调用垃圾回收器释放内存.A、正确B、错误解答:正确答案:B,结果:正确8、类A和类B位于同一个包中,则除了私有成员,类A可以访问类B的所有其他成A、正确B、错误解答:正确答案:A,结果:正确9、JAVA的标识符不区分大小写。
A、正确B、错误解答:正确答案:B,结果:正确10、表达式!(x==1) 等价于x!=1。
A、正确B、错误解答:正确答案:A,结果:正确11、'\n'不是一个字符常量。
A、正确B、错误解答:正确答案:B,结果:正确12、二维数组的元素可以有不同的类型。
A、正确B、错误解答:正确答案:B,结果:正确13、语句System.out.println("Hello!".length());输出字符串"Hello!"的长度。
A、正确B、错误解答:正确答案:A,结果:正确14、Java应用程序主类的main方法用public声明。
A、正确B、错误解答:正确答案:A,结果:正确二、单选题。
请从给定的选项中选择一个唯一正确的选项。
每小题3分,共10题,31、编译Java Applet 源程序文件产生的字节码文件的扩展名为:A. javaB. classC. htmlD. exe解答:正确答案:B,结果:正确2、已知:int[] a = new int[100];在下列给出的数组元素中,非法的是A. a[0]B. a[1]C. a[99]D. a[100]解答:正确答案:D,结果:正确3、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或同,传回的值也可以不相同。
选择题1.编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。
A) .java B) .classC) .html D) .exe2.类与对象的关系是()。
A)类是对象的抽象 B)类是对象的具体实例C)对象是类的抽象 D)对象是类的子类3.下列关于构造方法描述错误的是()。
A)Java语言规定构造方法名与类名必须相同B)Java语言规定构造方法没有返回值,但不用void声明C)Java语言规定构造方法不可以重载D)Java语言规定构造方法只能通过new自动调用4.设 x = 1,y = 2,z = 3,则表达式 y+=z--/++x 的值是( )。
A) 3 B) 3. 5C) 4 D) 55.一个可以独立运行的Java应用程序()A)可以有一个或多个main方法B)最多只能有两个main方法C)可以有一个或零个main方法D)只能有一个main方法6.下列语句序列执行后,k 的值是( )。
int m=3, n=6, k=0;while( (m++) < ( -- n) ) ++k;A) 0 B) 1 C) 2 D) 37.FlowLayout布局管理器按照组件加入容器的次序从()到()排列组件。
A)上、下 B)右、左C)左、右 D)前、后8.若已定义 byte[ ] x= {11,22,33,-66} ;其中0≤k≤3,则对x数组元素错误的引用是( )。
A)x[5-3] B)x[k]C)x[k+5] D)x[0]9.下列选项中,用于在定义子类时声明父类名的关键字是( )。
A) interface B) packageC) extends D) class10.在创建对象时必须()A) 先声明对象,然后才能使用对象B) 先声明对象,为对象分配内存空间,然后才能使用对象C) 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象D) 上述说法都对11.类可以保护它的成员变量和成员函数不会被其他对象随意访问到,这一特性属于类的()。
java试题库及答案1. 以下哪个选项不是Java的基本数据类型?A. intB. doubleC. StringD. float答案:C2. Java中的`==`和`equals()`方法有什么区别?A. `==`用于比较对象的引用,`equals()`用于比较对象的值B. `==`用于比较对象的值,`equals()`用于比较对象的引用C. 两者都用于比较对象的值D. 两者都用于比较对象的引用答案:A3. 在Java中,下列哪个关键字用于定义一个接口?A. classB. interfaceC. abstractD. final答案:B4. 下列哪个选项是Java中的多态?A. 一个方法可以有多个实现B. 一个方法可以有多个重载C. 一个类可以继承多个类D. 一个类可以有多个接口答案:A5. Java中,下列哪个选项不是访问修饰符?A. publicB. privateC. protectedD. static答案:D6. 在Java中,下列哪个关键字用于抛出异常?A. tryB. catchC. throwD. finally答案:C7. 下列哪个选项是Java中的集合框架?A. CollectionsB. ArraysC. StreamsD. All of the above答案:D8. 在Java中,下列哪个选项用于创建线程?A. implements RunnableB. extends ThreadC. implements CallableD. Both A and B答案:D9. Java中的垃圾回收机制是做什么的?A. 编译代码B. 运行代码C. 自动回收不再使用的对象D. 管理内存分配答案:C10. 下列哪个选项不是Java中的异常类型?A. RuntimeExceptionB. IOExceptionC. SQLExceptionD. Exception答案:D。
java期末考试题试题库及答案一、选择题1. Java语言是一种:A. 编译型语言B. 解释型语言C. 编译解释型语言D. 汇编语言答案:C2. 下列哪个关键字用于定义Java接口?A. classB. interfaceC. abstractD. package答案:B3. 在Java中,哪个类是所有Java类的根类?A. ObjectB. StringC. SystemD. Main答案:A4. Java中的线程同步机制是通过哪个关键字实现的?A. synchronizedB. volatileC. finalD. static答案:A5. 下列哪个不是Java集合框架中的一部分?A. ListB. SetC. MapD. Queue答案:D二、填空题6. Java语言的跨平台特性主要得益于______机制。
答案:JVM(Java虚拟机)7. 在Java中,______关键字用于定义一个方法不能被重写。
答案:final8. Java的异常处理机制中,______类是所有异常的超类。
答案:Throwable9. Java中的______关键字用于声明一个变量,其值在初始化后不能被改变。
答案:final10. 一个Java程序的入口点是______方法。
答案:main三、简答题11. 简述Java中接口和抽象类的区别。
答案:接口定义了一组方法规范,不包含实现,可以被任何类实现,而抽象类可以包含方法实现,并且可以被其他类继承。
接口不能有构造方法,而抽象类可以有。
接口中的方法默认是public和abstract的,而抽象类中可以有public、private等访问修饰符。
12. 描述Java中异常处理的机制。
答案:Java的异常处理机制包括try、catch、finally和throw 关键字。
try块用于包含可能抛出异常的代码,catch块用于捕获并处理异常,finally块用于执行无论是否发生异常都需要执行的代码。
《计算机语言Java模拟题》1一、单项选择题 (每题2分,共20分)1. 定义类中可以用来修饰类名的修饰符是( B )A. privateB.abstractC.nativeD. protected2. 下列不属于Swing的顶层容器的一项的是( C )。
A. JAppletB. JDialogC. JTreeD. JFrame3. MouseListener接口不能处理的鼠标事件是( D )A.按下鼠标左键B.点击鼠标右键C.鼠标进入D.鼠标移动4. 在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。
这种面向对象程序的特性称为( C )。
A、隐藏B、覆盖C、重载D、Java不支持此特性5. 下面不属于Java语言实现机制的是(A )。
A.并行机制B.Java虚拟机C.垃圾回收机制D.代码安全检测6. 在编写Java Applet程序时,一定要引入(import)( B )包。
A.java.awt.* B.java.applet.*C.java.io.* D.java.awt.event.*7. 一般的绘图程序要定义一个JPanel子类。
在JPanel子类中还要重定义一个方法,在这个方法中调用绘图方法,绘制各种图形。
要重定义的方法是( B )A.paint()B.paintComponent()C.repaint()D.update()8. 下面对于Java和C++的区别,描述不正确的是(C)。
A.Java没有指针而C++有B.Java具有跨平台性而C++没有C.Java支持多继承而C++只支持单继承D.Java提供内存自动管理而C++不能9. 线程是Java程序的( D )机制。
A. 检查B. 解释执行C. 并行D. 并发10. 下列不属于JComponent( D ) 。
A. 边框设置B. 键盘导航C. 提示信息D. 调用本地图形系统二、填空题 (每空2分,共20分)1. Java源程序文件和字节码文件的扩展名分别为.java 和.class。
2. Java中,异常分为___未检查异常____和__已检查异常_____两类。
3. 在java程序里,在一个类内部嵌套定义的类称为内部类.4. Java程序的字节码文件的扩展名是__ .class____。
5. 某程序想为一个long型整数文件构造随机读写对象,支持这个要求的类是_ RandomAccessFile。
6. Java的编译程序先将Java源程序翻译成与机器无关的__________。
7. Applet实例运行的起始点是____ Init()t_____。
8. 设有数组a和b的定义如下:int[]a={1,2,3};int[]b={4,5,6}……执行以下代码“a=b;”,除了完成赋值操作之外,引起系统额外要做的工作是垃圾回收__。
三、判断题 (每题2分,共20分)1. Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。
(对)2. 在异常处理中总是将可能产生异常的语句放在try块中,用catch子句去处理异常,而且一个try块之后只能对应一个catch语句。
(错)3. 在Swing用户界面的程序设计中,容器可以被添加到其它容器中去。
( 对)4. 一个Applet编译后的类名是Test.class,运行此小程序的命令是Java Test。
(错)5. Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。
(对)6. 类A和类B位于同一个包中,则除了私有成员,类A可以访问类B的所有其他成员(对)7. 实现一个接口,则在类中一定要实现接口中的所有方法. ( 错)8. 一个方法最多能有一个return语句 ( 对 )9. Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。
(错)10. 接口中的所有方法都没有实现., ( 对)四、程序阅读题 (每空5分,共20分)1. 阅读下列程序,请写出该程序的输出结果。
class A {int x, y;A(int a, int b) {x= a; y= b;}}public class sample {public static void main(String args[]) {A pl, p2;p2 = new A(12, 15);p1 = p2; p2.x++;System.out.println("p1.x=" + p1 .x);}}p1.x=132. 以下程序段的输出结果为 5 6 7 8 9 。
public class TestArray{public static void main(String args[ ]){int i , j ;int a[ ] = { 5,9,6,8,7};for ( i = 0 ; i < a.length-1; i ++ ) {int k = i;for ( j = i ; j < a.length ; j++ )if ( a[j]<a[k] ) k = j;int temp =a[i];a[i] = a[k];a[k] = temp;}for ( i =0 ; i<a.length; i++ )System.out.print(a[i]+" ");System.out.println( );}}3. 以下定义的类ShareData用于管理多个线程共享数据data。
一个线程生成data,另一个线程使用data。
约定,新生成的data只有被另一个线程使用后,才能生成下一个data。
反之,一个data被使用后,也不能再继续使用。
所以,生成和使用data的线程之间需要互斥和同步。
以下是管理上述使用方式的类,类内有要管理的共享数据,以及对共享数据的存操作putData()和取操作getData()。
class ShareData{int data;∥共享数据boolean newData=false;∥有最近新生成data的标志synchronized int getData(){while(!newData){try{ ___ wait()______;} catch(InterruptedExceptipn e){System.out.println(″因错误,而中断!″);}}newData=false;notify();return data;}synchronized void putData(int n){while(newData){try{wait();}catch(InterruptedException e){System.out.println(″因错误,而中断! ″);}}data=n;__ newData=true ________;notify();return;}}4. 以下程序创建了一个窗口,然后在窗口内显示″Hello,World!″。
import javax.swing.*;import java.awt*;public class HelloWorld {public static void main(String[ ]ares) {TextFrame frame=new TextFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame. ____ setVisable(true)____;}}class TextFrame extends JFrame {public TextFrame() { .setTitle(″HelloWorld″);setSize(WIDTH,HEIGHT);TextPanel panel=new TextPanel();Container contentPane=getContentPane();contentPane.add(panel);}public static final int WIDTH=300;public static final int HEIGHT= 200;}class TextPanel extends JPanel {public void paintComponent(Graphics g) {super. __ paintComponent(g)______;g.drawString(″Hello,World! ″,x,y);}public int x=100;public int y=100;}五、编程题1. 编写一个完整的Java Application 程序。
该程序包含类Person、Student、TestStudent,具体要求如下:⑴类Person①属性name : String对象,表示一个人姓名sex:char类型,用来表示性别id:String对象,表示身份证号phone:String对象,表示联系电话email :String对象,表示E-mail地址②方法Person(Name name, char sex, String id):构造函数String getId() :获得身份证号void setEmail(String email) :设置E-mail地址void setPhone(String phone) :设置联系电话public String toString() :返回个人的各项信息,包括姓名、性别等上述属性⑵类Student从Person类派生,增加了以下属性和方法:①属性sNo: long类型,表示学生的学号sClass: String对象,表示学生的班级②方法Student(long sNo, String name, char sex, String id):构造函数setClass(String sClass): 设置学生的班级信息public String toString() :返回学生的各项信息,包括学号、班级、姓名等上述属性(3) 类TestStudent作为主类要完成测试功能2. 一个Java小应用程序,界面有三个文本框和两个按钮,前两个文本框用于输入整数,第三个文本框用于输出结果。
两个按钮分别表示加和减运算。
当前两个文本框输入整数后,点击相应按钮,程序就将计算结果输出在第三个文本框中。
以下是程序的大部分,其中监视按钮事件的方法未给出,试编写处理按钮事件的方法。
注:这里是给定部分的程序,你要编写的是actionPerformed(ActionEvent e)方法。
import java.applet.*;import javax.swing.*;import java.awt.*; import java.awt.event.*;class Panel1 extends JPanel{JTextField text1, text2, text3;JButton addButton,subButton;Panel1(){text1=new JTextField(10);text2=new JTextField(10);text3=new JTextField(10);setLayout(new GridLayout(5,1)); addButton=new JButton("加");subButton=new JButton("减");add(text1); add(text2);add(text3); add(addButton); add(subButton);}}public class Classl extends Applet implements ActionListener{Pane1 panel;public void init(){setSize(100,200); panel=new Panel1();add(panel);(panel.addButton).addActionListener(this);(panel.subButton). addActionListener(this);}public void actionPerformed(ActionEvent e){//这里是你要编写的代码。