- 基本数据类型:
字符型:char,
数字类型:整数型:Byte,short,int,long(long
类型的数据一定要在数值后面加上 L,否则将作为整型解析)
浮点型:float,double
布尔型:boolean
引用类型:String - 定义变量,变量作用域
- 包装类型:八种基本类型都有对应的包装类分别为:
Byte
、Short
、Integer
、Long
、Float
、Double
、Character
、Boolean
什么是包装类型?产生原因:包装类型可以使程序员操作基本类型数据和操作对象一样方便,把基本类型数值传递给Object对象,包装类的方法使基本类型具有更丰富的功能
装箱,拆箱 -
包装类的缓存机制
Java 基本数据类型的包装类型的大部分都用到了缓存机制来提升性能。
Byte
,Short
,Integer
,Long
这 4 种包装类默认创建了数值 [-128,127] 的相应类型的缓存数据,Character
创建了数值在 [0,127] 范围的缓存数据,Boolean
直接返回True
orFalse
所有整型包装类对象之间值的比较,全部使用 equals 方法比较
- 如何解决浮点数精度丢失问题?
使用BigDecimal可以实现对浮点数的运算,不会造成精度丢失。 - 超过long整型数据如何处理?
BigInteger内部使用int[]数组存储任意大小的整型数据,效率低。 - 成员变量/局部变量(
所属关系:成员变量属于类,局部变量属于代码块、方法
语法形式:成员变量可以被public,private,static修饰,局部变量不可以被修饰
存储方式:成员变量存储在堆中;局部变量在栈中
生存时间:成员变量随着对象的创建而存在;局部变量随着方法调用而创建,随着方法调用结束变量消亡
默认值:成员变量自动以类型的默认值而赋值,局部变量不会自动赋初值)静态变量
成员变量/静态变量,静态变量是属于类的,成员变量属于实例的 - 静态变量也就是被
static
关键字修饰的变量。它可以被类的所有实例共享,无论一个类创建了多少个对象,它们都共享同一份静态变量。