Java重点简答题复习整理合集

【思考简答题】

1、简述path环境变量的作用。

path环境变量是系统环境变量中的一种,它用于保存一系列可执行文件的路径,每个路径之间以分号分隔。当在命令行窗口运行一个可执行文件时,操作系统首先会在当前目录下查找是否存在该文件,如果不存在会继续在path环境变量中定义的路径下去寻找这个文件,如果仍未找到,系统会报错。

2、请说说你对JVM的理解。

【答案】:

JVM是Java Virtual Machine的缩写,全称是Java虚拟机。Java语言的一个非常重要的特性就是跨平台性,而Java虚拟机是实现这一特性的关键。不同的操作系统需要使用不同版本的虚拟机,这种方式使得Java语言能够“一次编写,到处运行”。Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。

3、请简述&与&&的区别。

【答案】:

&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。

当运算符“&”和“&&”的右边为表达式时,使用“&”进行运算,不论左边为true或者false,右边的表达式都会进行运算。如果使用“&&”进行运算,当左边为false时,右边的表达式则不会进行运算,因此“&&”被称作短路与。

4、简述break、continue和return语句的区别。

【答案】:

break语句:在switch条件语句和循环语句中都可以使用break语句。当它出现在switch条件语句中时,作用是终止某个case并跳出switch结构。当它出现在循环语句中,作用是跳出循环语句,执行后面的代码。

   continue语句:continue语句用在循环语句中,它的作用是终止本次循环,执行下一次循环。

return语句:return语句可以用于从当前的方法中退出,返回到调用该方法的语句处,继续执行。return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致。

5、什么是对象?什么是类?类和对象有什么关系?

【答案】:

对象(Object)是一个应用系统中用来描述客观事物的实体,是具有特定属性和行为(方法)的基本运行单位,是类的一个特定状态下的实例。对象可以是一个实体、一个名词、一个可以想象为有自己标识的任何东西,可以概况来说:万物皆对象。

类(Class)是Java代码的基本组织模块,是用以描述一组具有共同属性和行为对象的基本原型,是对这组对象的概况、归纳和抽象的表达。类是对象的模板,它定义了本类对象所拥有的属性集和行为集,是对一组具有相同属性和相同方法的对象的定义。

类和对象之间是抽象和具体的关系:类是一个模板,是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体。类是在对象之上的抽象,对象则是类的具体化,是类的实例。类必须通过对象才能使用,而对象中的属性和行为必须在类中定义。

6、请简述this关键字的应用。

【答案】this关键字的应用如下:

1)通过this关键字可以明确地去访问一个类的成员变量,解决与局部变量名称冲突问题。

2)通过this关键字可以调用本类中的成员方法。

3)可以在一个构造方法中使用“this([参数1,参数2…])”的形式调用本类中的其他构造方法。

7、请简述方法重写和方法重载的区别?

答案:方法重写(Overriding)和方法重载(Overloading)是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类多态性的一种表现。

如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子类的对象使用这个方法时,将调用子类中定义的方法,对它而言,父类中定义的方法如同被“屏蔽”了。

如果在同一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。

8、请列举抽象类和接口的区别(至少5点)?、

抽象类和接口有如下区别:

1)抽象类可以有构造方法,接口中不能有构造方法。

2)抽象类中可以有普通成员变量,接口中没有普通成员变量。

3)抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。

4)抽象类中的抽象方法的访问类型可以是public,protected和(默认类型),但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。

5)抽象类中可以包含静态方法,接口中不能包含静态方法。

6)抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认为public static final类型。

7)一个类可以实现多个接口,但只能继承一个抽象类。

9、请简述String类和StringBuffer类的区别。

【答案】:

String类表示的字符串是常量,一旦创建后,内容和长度都是无法改变的。而StringBuffer表示字符容器,其内容和长度可以随时修改。在操作字符串时,如果该字符串仅用于表示数据类型,则使用String类即可,但是如果需要对字符串中的字符进行增删操作,则使用StringBuffer类。String类覆盖了Object类的equals()方法,而StringBuffer类没有覆盖Object类的equals()方法。String类对象可以用操作符“+”进行连接,而StringBuffer类对象之间不能。

10、请简述装箱和拆箱的概念。

【答案】:

包装类和基本数据类型在进行转换时,引入了装箱和拆箱的概念,其中装箱是指将基本数据类型的值转为引用数据类型,反之,拆箱是指将引用数据类型的对象转为基本数据类型。

11、简述IO流的分类有哪些?

【答案】

11、IO流有很多种,按照操作数据的不同,可以分为字节流和字符流,按照数据传输方向的不同又可分为输入流和输出流,程序从输入流中读取数据,向输出流中写入数据。在IO包中,字节流的输入输出流分别用java.io.InputStream和java.io.OutputStream表示,字符流的输入输出流分别用java.io.Reader和java.io.Writer表示。

12、请简述File类的作用并列出5个常用方法及其功能。

【答案】

12、File类用于封装一个路径,这个路径可以是从系统盘符开始的绝对路径,如:“D:\file\a.txt”,也可以是相对于当前目录而言的相对路径,如:“src\Hello.java”。File类内部封装的路径可以指向一个文件,也可以指向一个目录,在File类中提供了针对这些文件或目录的一些常规操作。

File类的常用方法及其功能如下:

1)createNewFile():当File对象对应的文件不存在时,该方法将新建一个此File对象所指定的新文件,若创建成功则返回true,否则返回false。

2)isFile():判断File对象对应的是否是文件(不是目录),若是文件则返回true,反之返回false。

3)isDirectory():判断File对象对应的是否是目录(不是文件),若是目录则返回true,反之返回false。

4)exists():判断File对象对应的文件或目录是否存在,若存在则返回ture,否则返回false。

5) delete():删除File对象对应的文件或目录,若成功删除则返回true,否则返回false。

13、简述java.awt包中提供了哪些布局管理器。

【答案】

13、在java.awt包中提供了五种布局管理器,分别是FlowLayout(流式布局管理器)、BorderLayout(边界布局管理器)、GridLayout(网格布局管理器)、GridBagLayout(网格包布局管理器)和CardLayout(卡片布局管理器)。

14、简述在事件处理机制中所涉及到的概念。

【答案】

14、事件处理机制专门用于响应用户的操作,比如,想要响应用户的点击鼠标、按下键盘等操作,就需要使用AWT的事件处理机制。AWT事件处理机制中几个比较重要的概念如下所示:

事件对象(Event):封装了GUI组件上发生的特定事件(通常就是用户的一次操作)。

事件源(组件):事件发生的场所,通常就是产生事件的组件。

监听器(Listener):负责监听事件源上发生的事件,并对各种事件做出响应处理的对象(对象中包含事件处理器)。

事件处理器:监听器对象对接收的事件对象进行相应处理的方法。

15、JDBC API中常用的接口和类有哪些?

【答案】

JDBC API中常用的接口和类有:Driver接口、Connection接口、Statement接口、PreparedStatement接口、ResultSet接口和DriverManager类。

16、Statement接口和PreparedStatement接口有什么区别

【答案】

PreparedStatement接口继承自Statement接口,它具有Statement接口的所有方法,同时也添加了一些新方法。其区别主要有一下两点:

1)PreparedStatement接口包含已编译的SQL语句,而Statement接口没有。

2)PreparedStatement接口中的SQL语句可包含若干个参数,也可用“?”占位符,而Statement没有。

17、进程和线程之间有什么不同?

在一个操作系统中,每个独立执行的程序都可以称为一个进程,也就是“正在运行的程序”。而在进程中还可以有多个执行单元同时执行,这些执行单元可以看作程序执行的一条条线索,被称为线程。Java运行环境是一个包含了不同的类和程序的单一进程。线程可以被称为轻量级进程。线程需要较少的资源来创建和驻留在进程中,并且可以共享进程中的资源。

18、创建线程有哪两种方法?这两种方法有什么区别?

线程的创建有两种方法:一种是通过继承Thread类,一种是通过实现Runnable接口。

实现Runnable接口相对于继承Thread类来说,有如下显著的好处:

1)适合多个相同程序代码的线程去处理同一个资源的情况,把线程同程序代码、数据有效的分离,很好的体现了面向对象的设计思想。

2)可以避免由于Java的单继承带来的局限性。在开发中经常碰到这样一种情况,就是使用一个已经继承了某一个类的子类创建线程,由于一个类不能同时有两个父类,所以不能用继承Thread类的方式,那么就只能采用实现Runnable接口的方式。

19、关于TCP/IP

TCP/IP协议的层次结构比较简单,共分为四层,分别是链路层、网络层、传输层和应用层。其中链路层也称为网络接口层,该层负责监视数据在主机和网络之间的交换。网络层也称网络互联层,是整个TCP/IP协议的核心,它主要用于将传输的数据进行分组,将分组数据发送到目标计算机或者网络。传输层主要使网络程序进行通信,在进行网络通信时,可以采用TCP协议,也可以采用UDP协议。应用层主要负责应用程序的协议,例如HTTP协议、FTP协议等。

2、要想使网络中的计算机能够进行通信,必须为每台计算机指定一个标识号,通过这个标识号来指定接收数据的计算机或者发送数据的计算机。在TCP/IP协议中,这个标识号就是IP地址,它可以唯一标识一台计算机,目前,IP地址广泛使用的版本是IPv4,它是由4个字节大小的二进制数来表示,由于二进制形式表示的IP地址非常不便记忆和处理,因此通常会将IP地址写成十进制的形式,每个字节用一个十进制数字(0-255)表示,数字间用符号“.”分开,如 “10.0.0.1”。此方法名为“点分十进制记法”。

最后希望大家可以给个再走吧!

1、简述java语言的特点? Java语言是目前使用最为广泛的网络编程语言之一 〔1分〕 具有面向对象 〔1分〕 与平台无关性 〔1分〕 多线程性 〔1分〕 动态性等特点 〔1分〕 2、 简述Java程序的开发过程 1 使用一个文字编辑器,编写源文件。 〔1分〕 2 使用java编译器,编译源文件得到字节码文件。 〔2分〕 3 运行java程序,分两种java应用程序必须通过java解释器来解释执行,java小应用程序 必须使用解释器和浏览器运行程序。 〔2分〕 3、 java源文件的命名规则是什么? 如果源文件中有多个类,那么只能有一个类是public类 〔1分〕 如果有一个类是public类,源文件的名字必须与这个类的名字完全相同,扩展名是java 〔2分〕 如果源文件没有public类,源文件的名字只要和某个类的名字相同,并且扩展名是java 〔2分〕 4、 怎样区分应用程序和小应用程序? 一个java应用程序必须且只有一个类含有main方法,这个类称为应用程序的主类,其ma in方法必须被说明为public static void 〔1分〕 一个Java Applet小应用程序不再需要main方法,但必须有一个类扩展了Applet类,即它是Applet 类的主类。 〔2.5分〕 5、 Java中共有哪些基本数据类型? 基本类型共有8种,分四类分别是 〔1分〕 逻辑型 〔1分〕 字符型 〔1分〕 整型 〔1分〕 浮点型 〔1分〕 6、 Java中数据类型分别用什么符号来表示? 逻辑型用boolean 表示 〔1分〕 字符型用char表示 〔1分〕 整型共有4种分别是 byte、short、long、int 〔2分〕 浮点型共两种float和double 〔1分〕 7、 简答标示符的概念及定义原则 标示符是用来标识类名、变量名、方法名、类型名等有效字符序列。 〔2.5分〕 Java语言规定标示符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数 字,及java中的关键字不能用作标示符。 〔2.5分〕 8、 简答什么是强制类型转换及转换格式 当把一种数据类型变量的值赋给另一种数据类型时会用到数据转换。当把在内存中占字 节数较少的变量的值赋给占字节较多的变量时,系统自动完成数据类型的转换 〔2.5分〕 格式 数据类型名 变量名或表达式 〔2.5分〕 9、 简答表达式++x和x++的区别 ++x表示在使用x之前,先使x的值加1 〔2.5分〕 x++表示在使用x之后,使x的值加1 〔2.5分〕 10、 Java中常用的运算符按功能分有哪些 Java运算符按功能分6种,具体如下 〔1分〕 算术运算符、关系运算符、逻辑运算符 〔2分〕 位运算符、赋值运算符、条件运算符 〔2分〕 11、 Java中结构化程序设计有哪三种基本流程及分别对应java中那些语句 结构化程序设计有顺序、分支、循环三种基本流程 〔2分〕 java中的分支语句包括if语句、switch语句 〔1分〕 循环语句包括while语句、do-while语句、for语句 〔1分〕 其他如对象、变量定义语句、赋值语句、方法调用语句等都是顺序语句。 〔1分〕 12、 在一个循环中使用break和continue语句有什么不同的效果? 在循环中使用break语句将使循环终止,流程跳转到break语句所在的循环外面的第一个 语句继续执行 〔2.5分〕 在循环中使用continue语句将提前结束本次循环,流程跳转到continue语句所在循环的 第一个语句继续执行 〔2.5分〕 13、 package语句与import语句分别作用是什么? package语句作为java源程序的第一条语句,指明该源文件定义的类所在的包。 〔2.5分 〕 import语句作用是为了能使用java提供的类,可以使用import语句来引入所需要的类。 〔2.5分〕 14、 简述编程语言的几个发展阶段 1 面向机器语言 〔1分〕 2 面向过程语言 〔1分〕 3 结构化程序设计阶段 〔1分〕 4 面向对象编程 〔1分〕 15、 什么是类及类的实现包括什么 类是组成java程序的基本要素 〔1分〕 类封装了一类对象的状态和方法 〔1分〕 类是用来定义对象的模板 〔1分〕 类的实现包括两部分 类声明和类体 〔1分〕 16、 什么是方法重载 方法重载是指,一个类中可以有多个方法具有相同的名字和类型 〔2分〕 但这些方法的参数必须不同〔1分〕 或者是参数个数不同,或者是参数类型不同〔1分〕 17、 什么是构造方法 构造方法是一种特殊方法 〔1分〕 它的名字必须与它所在的类的名字完全相同 〔1分〕 并且不返回任何数据类型,即它是void型 〔1分〕 18、 什么是实例变量和类变量及他们的区别 用修饰符static
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ヾ草木萤火(≧▽≦*)o

希望大家多多支持,我会继续分享

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值