JAVA面试题合集一(基础知识)

本文汇总了JAVA面试中的基础题目,涵盖JVM、语言特性、数据类型、多态、内存管理、类与对象、异常处理等多个方面,旨在帮助读者理解和掌握JAVA编程的核心概念。通过对JDK版本、跨平台原理、数据类型、字节码、主类定义、程序安全、数据结构、访问修饰符、多态机制、异常处理关键字等知识点的深入解析,为JAVA开发者提供全面的面试准备指导。
摘要由CSDN通过智能技术生成

1.什么是java?
2.JDK1.5之后的3个版本?
3.JVM,JRE,JDK的关系?
4.什么是跨平台?原理是什么?
5.JAVA语言有哪些特点?
6.什么是字节码?采用字节码的好处是什么?
Java源代码---->编译器---->jvm可执行的Java字节码(即虚拟指令)---->jvm---->jvm中解释器----->机器可执行的二进制机器码---->程序运行。
7.什么是JAVA程序的主类?应用程序和小程序的主类有何不用?
8.JAVA应用程序和小程序之间有哪些差别?
9.JAVA和C++的区别?
都是面向对象的语言,封装,继承,多态,///
JAVA不提供指针采访问内存,程序安全.///
JAVA类单继承,接口多继承.C++支持多继承///
JAVA有自动内存管理机制,不需要手动释放无用内存.
10.Oracle JDK与Open JDK的对比
11.JAVA有哪些数据类型?
基本数据类型(数值型(整型.浮点型),字符型,布尔型), 引用类型(类class,接口interface.数组[])
在这里插入图片描述
12.switch是否可以作用在byte上,是否可以作用在long上.是否能作用在String上?
JAVA5之前byte,short,int.char ///5之后,enum引入枚举类型, 7引入String,但是长整型long目前不可以
枚举enum是用来定义一组数量确定的常量的类, 和普通类一样可以有构造方法,也可以有属性和普通方法,可以实现接口。
13.用最有效率的方法计算 2 乘以8?
14.Math.round(11.5) 等于多少?Math.round(-11.5)等于多少 ?
四舍五入原理.在参数上加0.5,向下取整
15.float f=3.4 是否正确?
向下转型,双精度—>浮点型,精度丢失,强转
16.short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗 ?
17.Java语言采用何种编码方案?有何特点?
Unicode(标准码),它为每个字符制订了一个唯一的数值,因此在任何的语言,平台,程序都可以放心的使用。
18.访问修饰符 public,private,protected,以及不写(默认)时的区别?
使用修饰符可以保护类,变量,方法,构造方法的访问,支持4种不同的访问权限
private 私有的,仅在本类能够访问
default 本类,同包类中访问
protected 受保护的,可以在本类,派生类,同包类中访问
public 公共的,任何类都可以访问
在这里插入图片描述
19.&和&&有什么区别?
&按位与,逻辑与 && 短路与
20.JAVA中有没有goto? ---->没有.是java中的保留字
21.final有什么用?
类,方法,变量(不可变的是变量的引用,而不是变量的内容),是个常量,不能被重新赋值
22.final,finalize,finally区别?
finalize是一个Object的方法,垃圾回收器调用
当我们调用System.gc() 方法的时候,由垃圾回收器调用finalize(),回收垃圾,
23.this关键字的用法?
3个作用,普通的直接引用(当前对象本身),//形参与成员变量重名.///引用本类的构造方法
24.super关键字的用法?
也是3种,普通引用,子类的成员变量或方法与父类的重名,区分.///引用父类的构造方法
25.this和super的区别?
this()和super()都指的是对象,均不可以在static环境中使用。包括:static变量,static方法,static语句块。

整理了网上的一些java面试题目,很全很强大 面向对象的特征有哪些方面 1. 抽象:抽象就是忽略一个主题中与当前目标2. 无关的那些方面,3. 以便更充分地注意与当前目标4. 有关的方面。抽象并不5. 打算了解全部问题,而6. 只是选择其中的一部分,7. 暂时不 8. 用部分细节。抽象包括两个方面,9. 一是过程抽象,10. 二是数据抽象。 11. 继承:继承是一种联结类的层次模型,12. 并且允许和鼓励类的重用,13. 它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,14. 这个过程称为类继承。新类继承了原始类的特性,15. 新类称为原始类的派生类(子类),而16. 原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,17. 并且类可以修改或增加新的方法使之更适合特殊的需要。 18. 封装:封装是把过程和数据包围起来,19. 对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,20. 即现实世界可以被描绘成一系列完全自治、封装的对象,21. 这些对象通过一个受保护的接口访问其他对象。 22. 多态性:多态性是指23. 允许不同24. 类的对象对同25. 一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,26. 很好的解决了应用程序函数同27. 名28. 问题。 2、String是最基本的数据类型吗? 基本数据类型包括byte、int、char、long、float、double、boolean和short。 java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 3、int 和 Integer 有什么区别 Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。 原始类型封装类booleanBoolean charCharacter byteByte shortShort intInteger longLong floatFloat doubleDouble 引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。 4、String 和StringBuffer的区别 JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用 StringBuffers来动态构造字符数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值