Java 提供的基础数据类型(也称内置数据类型)包含:整数类型、浮点类型、字符类型、布尔类型。
整数类型
整数类型变量用来表示整数的数据类型。整数类型又分为字节型(byte)、短整型(short)、整型(int)、长整型(long)这四种。
byte字节型
8 位,用于表示最小数据单位,如文件中数据,-128~127。
short短整型
16位,-32768~32767
int整型
32位,-2的31次-1~2的31次方
long长整型
64位
浮点类型
浮点类型用来表示小数的数据类型。浮点分为单精度型(float)和双精度型(double)。
主要就是精度区别,双精度型精度高于单精度型,但是浮点数是不精确的,不能对浮点数进行精确比较。
字符类型
主要用于字符集
布尔类型
一个表示逻辑值的基本数据类型,值为true和false
包装类型
为什么存在包装类型呢?
Java 中通过new 一个对象存储在堆中,然后通过栈中的引用来使用这些对象。但是对于一些基本类型,比如int,如果通过new的方式存储在堆里就很浪费资源,因为Java中直接将这些基本类型的变量值存储在栈中。
但是Java是一个面向对象的编程语言,基本类型并不具有对象的性质,因此我们使用包装类型,就是为了让基本类型也具有对象的性质。比如往ArrayList中放东西时,int等的基本类型是放不进去的,因为容器装的都是object,因此就需要基本类型的包装器类了。
包装类型跟基本类型有什么区别呢?
区别 | 基本类型 | 包装类型 |
声明方式 | 不需要new关键字 | 需要使用new来申请在堆中分配存储空间 |
存储方式和位置 | 变量值直接存储在栈中 | 将对象放在堆中,然后通过栈中来引用 |
初始值 | int初始值0,boolean为false | 初始值为null |
使用方式 | 直接使用即可 | 常在集合等中使用,如List,Map |
包装类和基本数据类型的对象关系
基本类型 | 包装器类型 |
boolean | Boolean |
char | character |
int | Integer |
byte | Byte |
short | Short |
long | Long |
float | Float |
double | Double |