Java基础与包装类型复习:装箱拆箱与自动手动转换

0 下载量 185 浏览量 更新于2024-08-29 收藏 84KB PDF 举报
Java知识复习(前篇)主要涵盖了Java语言的基础概念和一些核心主题,包括: 1. **基本类型和包装类型**: - Java的基本类型包括:byte(8位有符号)、char(16位Unicode字符)、short(16位有符号)、int(32位有符号)、float(32位单精度浮点)、long(64位有符号)、double(64位双精度浮点)以及boolean(布尔型,只有true和false两个值,实际存储为1和0)。 - 包装类型是对基本类型的扩展,提供更多的功能,如:Byte、Character、Short、Integer、Float、Long、Double和Boolean。这些包装类型提供了封装和方法,便于处理和操作。 2. **装箱与拆箱**: - 装箱是指将基本类型转换为对应的包装类型。如`Character.valueOf('c')`,如果字符'c'在缓存池中存在,会直接返回已存在的对象引用,否则创建新对象。 - 拆箱则是将包装类型转换回基本类型,如`char c = Character.getCharValue('c')`。 3. **自动装箱与手动装箱**: - 手动装箱是显式使用new关键字创建新的包装类型实例,如`Character c = new Character('c')`。 - 自动装箱(也称为隐式装箱)是JDK 1.5引入的特性,它会自动检查并利用缓存池,例如`Character c = 'c';`,如果缓存中有对应的实例,就不需要创建新的。 4. **String类型**: - String是不可变对象,与StringBuffer和StringBuilder不同,后者是可变的。 - 字符串池(String Pool)用于存储字符串字面量,重复的字符串字面量在内存中只有一份,提高性能。 5. **类型转换**: - 类型转换涉及基本类型和包装类型之间的转换,需要注意的是,浮点数转换可能引发精度丢失,而布尔类型在JVM内部总是被转换为int(1表示true,0表示false)。 6. **关键字**: - `final`和`static`是Java的关键字,`final`修饰的变量或方法不能被修改,`static`则表示类成员可以在不创建类实例的情况下访问。 7. **类内变量和方法初始化顺序**: - 类内变量的初始化遵循特定顺序,首先是static变量,然后是实例变量,最后是构造函数。 8. **switch语句**: - 在Java中,switch语句主要用于多分支选择,特别适用于枚举类型的匹配。 以上是Java知识复习(前篇)的核心知识点概述,后续的内容可能会深入探讨更多细节和高级特性。学习Java时,理解这些基础概念至关重要,它们是构建复杂程序的基础。