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

java-知识点汇总--试题

一、填空

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中一个字符占用两个