Java面试必备:CoreJava核心知识点详解

需积分: 3 1 下载量 78 浏览量 更新于2024-07-29 收藏 633KB PDF 举报
"这是一个Java面试题集,包含了CoreJava、OOAD&UML、XML、SQL、JDBC&Hibernate、Web、EJB&Spring、数据结构&算法&计算机基础、C++以及Weblogic及其他相关内容的面试题目。" 在Java面试中,CoreJava部分是考察开发者基础知识的关键环节。以下是一些CoreJava部分的基础及语法相关的知识点: 1. 面向对象的特征:封装、继承、多态。封装是指隐藏对象的属性和实现细节,只对外提供公共访问方式;继承允许创建一个类(子类)作为另一个类(父类)的副本,子类继承了父类的属性和方法;多态则是指一个接口可以有多种不同的实现或表现形式。 2. 访问修饰符的区别:`public`是全局访问,可以在任何地方访问;`private`限制在本类内部;`protected`允许在同一个包内以及子类中访问;无修饰符的成员变量默认为包访问,即在同一包内的类可以访问。 3. `String`不是基本数据类型,而是对象。Java中有8种基本数据类型,如`int`, `char`, `float`等。 4. `float f = 3.4`是错误的,因为3.4是双精度浮点数`double`,需要转换为`float`,如`float f = (float)3.4`。 5. `float f = 1.3`可以编译通过,因为1.3会自动转换为`float`类型。 6. `short s1 = 1; s1 = s1 + 1;`存在错误,因为s1 + 1的结果是int类型,需要强制转换回short类型,如`s1 = (short)(s1 + 1);` 7. Java中没有`goto`关键字,它通常在其他语言中用于跳转到程序的某个特定位置。 8. `int`是基本数据类型,而`Integer`是其对应的包装类,两者在存储和使用上有很大区别,如`int`是值类型,`Integer`是引用类型,且`Integer`支持null值。 9. `&`是按位与运算符,`&&`是逻辑与运算符。前者对两个操作数的每个位进行比较,后者在第一个操作数为`false`时不会评估第二个操作数。 10. 逻辑操作(`&`, `|`, `^`)和条件操作(`&&`, `||`)的主要区别在于短路行为。条件操作符在确定结果之前仅计算必要操作数,而逻辑操作符总是计算所有操作数。 11. 堆栈(Stack)是后进先出(LIFO)的数据结构,主要用于方法调用和局部变量存储;堆(Heap)是存放对象实例的地方,内存分配和释放由垃圾收集器管理。 12. `Math.round(11.5)`等于12,`Math.round(-11.5)`等于-11。`Math.round()`方法会四舍五入到最接近的整数。 13. `switch`语句可以作用在`byte`, `char`, `short`, `int`以及枚举类型上,但在Java 7及以上版本可以通过`switch`处理`String`对象。它不能直接作用于`long`类型,但可以通过类型转换使用。 以上只是CoreJava部分的一部分,面试中还会涉及到异常处理、集合框架、线程、I/O、网络编程、设计模式等多个方面的内容。熟悉并理解这些知识点对于Java开发者的面试至关重要。