2024年4月14日发(作者:)

java试题知识讲解

j a v a试题

一、填空题 1、Java的三大体系分别是_JavaSE_____、

_JavaEE_____、_JavaME_____。

2、Java程序的运行环境简称之为JRE_____。

3、编译Java程序需要使用_javac_____命令。

4、和两个可执行程序存放在JDK安装目录的

bin______目录下。

5、path______环境变量用来存储Java的编译和运行工具所在的路

径,而_classpath_____环境变量则用来保存保存Java虚拟机要运行的

“.class”文件路径。

二、选择题

1、以下选项中,哪些属于JDK工具?(多选)ABCD

A、Java编译器

B、Java运行工具

C、Java文档生成工具

D、Java打包工具

2、Java属于以下哪种语言?C A、机器语言 B、汇编语言 C、高

级语言

3、下面哪种类型的文件可以在Java虚拟机中运行?D D、.class

4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中

命令的作用是以

下哪一种? B A、Java文档制作工具 B、Java解释器 C、Java编

译器

5、 5、如果jdk的安装路径为:d:jdk,若想在命令窗口中任何

当前路径下,都可以直接

使用javac和java命令,需要将环境变量path设置为以下哪个选

项?B A.d:jdk; B.d :jdkbin; C.d:jrebin; D.d:jre;

三、问答题

1、简述Java的特点。面向对象、跨平台性、健壮性、安全性、

可移植性、多线程性、动态性等。

2、 2、简述JRE与JDK的区别JRE(Java Runtime Environment,

Java运行时环境),它相当于操作系统部分,提供了Java程序运行时

所需要的基本条件和许多Java基础类,例如,IO类、GUI控件类、网

络类等。JRE是提供给普通用户使用的,如果你只想运行别人开发好的

Java程序,那么,你的计算机上必须且只需安装JRE。 JDK(Java

Development Kit,Java开发工具包),它包含编译工具、解释工具、

文档制作工具、打包工具多种与开发相关的工具,是提供给Java开发

人员使用的。初学者学习和使用Java语言时,首先必须下载和安装

JDK。JDK中已经包含了JRE部分,初学者安装JDK后不必再去下载

和安装JRE了。

第二章

、Java语言的八种基本数据类型有:byte字节型,占一个字节。

short短整型,占两个字节。int整型,占4个字节。long长整型,占

8个字节。float单精度浮点型,占4个字节。double双精度浮点型,

占8个字节。char字符型,占两个字节。boolean型,表示逻辑值,

有true和false两个值,分别占一个字节。

2、如果使用“&”在表达式之间进行连接,那么无论任何情况,

“&”两边的表达式都会参与

计算。如果使用“&&”进行连接,当“&&”左边的表达式为

false,则不会执行其右边的表达式。例如定义int x = 2,y = 0;

boolean b = x < y & x / 2 > 0表达是会发生被0除异常,因为x / y

的表达式执行了。而boolean b = x < y & x / 2 > 0是不会出现这种

异常的,因为x < y为false,表达式x / y不会执行。

3、方法重载指的是在一个类中可以声明多个同名的方法,而方法

中参数的个数或者数据

类型不一致。调用这些同名的方法时,JVM会根据实际参数的不

同绑定到不同的方法

冒泡排序:

public class Test03 { public static void main(String[] args) { int[]

arr = { 25, 24, 12, 76, 101, 96, 28 }; for (int i = 0; i < - 1;

i++) { // 定义内层循环 for (int j = 0; j < - i - 1; j++) { if

(arr[j] > arr[j + 1]) { // 比较相邻元素 // 下面的三行代码用于交换两

个元素int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } }

for (int i = 0; i <

; i++) { (arr[i] + " "); // 打印元素和空

格 } }

第三章

1、构造方法是类的一个特殊成员,它会在类实例化对象时被自动

调用。而普通方法只有在使用的时候才会被调用。在定义构造方法时

要求方法名与类名相同、在方法名的前面没有返回值类型的声明、在

方法中不能使用return语句返回一个值

2、单例模式可以保证在整个程序运行期间针对该类只存在一个实

例对象。

Java中的变量可分为两种数据类型,分别是_基本数据类型_____

和_引用数据类型

_____。 5、在Java中,byte类型数据占____1__个字节,short类

型数据占__2____个字节,int类型数据占___4___个字节,long类型数

据占____8__个字节。

面向对象的三大特征是封装性_、_继承性_____和__多态性____。 2、

在Java中,可以使用关键字__new____来创建类的实例对象。 3、定

义在类中的变量被称为__成员变量____,定义在方法中的变量被称为局

部变量______ 4、面向对象程序设计的重点是_类___的设计,__类____

是用来创建对象的模板。 5、在非静态成员方法中,可以使用关键字

_this__访问类的其它非静态成员。 6、当一个对象被当成垃圾从内存

中释放时,它的__finalize()____方法会被自动调用。 7、被static关键

字修饰的成员变量被称为_静态变量_,它可以被该类所有的实例对象

共享。 8、在一个类中,除了可以定义属性、方法,还可以定义类,

这样的类被称为_内部类_____。 9、在Java中,提供了一个

_javadoc_____命令,用于将程序中的文档注释提取出来,生成HTML

格式的帮助文档。 10、所谓类的封装是指在定义一个类时,将类中的

属性私有化,即使用

_private_____关键字来修饰。

第四章:

在Java语言中,允许使用已存在的类作为基础创建新的类,这种

技术我们称为继承

______。 2、一个类如果实现一个接口,那么它就需要实现接口中

定义的全部_方法

_____,否则该类就必须定义成_抽象类_____。 3、在程序开发中,

要想将一个包中的类导入到当前程序中,可以使用_import_____关键

字。 4、一个类可以从其它的类派生出来,派生出来的类称为_子类

_____,用于派生的类称为_基类_____或者__父类

____。

5、JDK中定义了大量的异常类,这些类都是_Exception_____类

的子类或者间接子类。

6、定义一个Java类时,如果前面加使用_final_____关键字修饰,

那么该类不可以被继承。

7、如果子类想使用父类中的成员,可以通过关键字__super____

引用父类的成员。

8、在Java语言中,所有的类都直接或间接继承自_Object_____类。

9、异常的捕获通常由try、catch两部分组成,_try_____代码块用

来存放可能发生异常,

_catch_____ 代码块用来处理产生的异常。 10、在Java语言中,

要想是将一个已编译的类打包成jar文件,可以使用的命令是_jar-

cvf_____,要想在命令行窗口运行jar文件,可以使用的命令是__java-

jar___。

1、什么是方法重写?在继承关系中,子类的方法与父类的某一方

法具有相同的方法名、返回类型和参数列表,则称子类的该方法重写

(覆盖)父类的方法。

2、什么是多态?多态意味着一个对象有着多种形态,可以在特定

的情况下,表现不同的状态,从而对应着不同的属性和方法。简单的

说,多态就是使用父类类型的变量引用子类对象,根据被引用子类对

象的特性,程序会得到不同的运行效果。

3、抽象类和接口的区别?

在Java中,使用abstract关键字修饰的类称之为抽象类。抽象类

是不能被实例化的,通常需要写一个子类来继承抽象类,同时实例化

子类来获得该类的对象。抽象类通常用于表示一种抽象的概念。接口

可以说是一种特殊的抽象类,接口中只能定义常量和抽象方法。由于

接口的特殊性,在定义时需要使用interface关键字。

第六章:

1、在Java中定义了两个类来封装对字符串的操作,它们分别是

String_和_StringBuffer____。

2、Java中的操作日期的类有_Date___、_Calendar___、

DateFormat____等。

3、在程序中若想取得一个Runtime实例,则可以调用Runtime

类的静态方法getRnutime()_____。

4、Math类中用于计算所传递参数平方根的方法是_sqrt()____。

5、Java中专门用于将日期格式化为字符串的类是

_DateFormat____。

6、Math类中有两个静态常量PI和E,分别代表数学常量_π___和

_e___。

7、Java中的用于产生随机数的类是_Random___,它位于

____包中。

8、String 类中用于返回字符串字符个数的方法是_length()____。

9、System类中所提供的属性和方法都是_静态___的,想要引用

这些属性和方法,直接使用System类调用即可。10、已知 sb 为

StringBuffer 的一个实例,且 ng() 的值为 "abcde ",则执行

sb. reverse()后,ng()的值为_”edcba_”___。

1、String和StringBuffer有什么区别? String类是不可变类,

即字符串值一旦初始化后就不可能改变。StringBuffer是可变字符串

类,类似String的缓冲区,可以修改字符串的值。

2、Date 和Calender类有什么区别和联系? Date类用来表示某

个特定的瞬间,能够精确到毫秒。而在实际应用中,往往需要把一个

日期中的年、月、日等信息单独返回进行显示或处理,这个类中的大

部分方法都已被标记过时。Calender类基本取代了Date类,该类中

定义了一系列用于完成日期和时间字段操作的方法。 Calendar的

getTime()方法,getTime()返回一个表示Calendar时间值的Date对

象,同时Calendar有一个setTime(Date date)方法,setTime()方法

接收一个Date 对象,将Date对象表示的时间值设置给Calendar对

象,通过这两个方法就可以完成Date和Calendar对象之间的转换。

I/O

1、Java中的IO流,按照传输数据不同,可分为____和____。

2、在Java中,____类用于操作磁盘中文件和目录,位于____包中。

3、在Java中,___类用来把两个或更多的InputStream输入流对

象合并为单个InputStream输入流对象使用。

4、Java中提供了一个类____,它不但具有读写文件的功能,并且

可以随机地从文件的任何位置开始执行读写数据的操作。

5、在Java 中,能实现线程间通信的流是____。

6、Java中提供了一个可以在读文件的同时记录行号的类,这个类

是____,它是____的直接子类,它通过____和 ____方法设置和获取当前

行号。

7、InputStreamReader类是用于将____转换为____。

8、是____类的对象,称为标准输出流,调用System

类的____方法可以实现标准输出流的重定向。

9、Java中一个字符占用两个字节,所有字符采用的都是____码表。

10、BufferedWriter的____方法可以写入一个换行符。第8章IO(输

入输出)一、填空题 1、字节流、字符流 2、 File、 3、

SequenceInputStream 4、 RandomAccessFile 5、管道流 6、

LineNumberReader、