3.数据类型

数据类型 - 图1

3.1 基本数据类型

3.1.1 基本数据类型分类

4类8种

整型:byte,short,int,long
浮点型:float,double
字符型:char
布尔型:boolean

数据类型 关键字 大小 取值范围
字节型 byte 1个字节(8位) -27~27-1 (-128~127)
短整型 short 2个字节(16位) -215~215-1(-32768~32767)
整型 int 4个字节(32位) -231~231-1
长整型 long 8个字节(64位) -263~263-1
单精度型 float 4个字节(32位) ±1.40239846E-45~±3.40282347E+8
双精度型 double 8个字节(64位) ±4.94065645841246544E-324~±79769313486231570E+308
字符型 char 2个字节(16位) ~￿
布尔型 boolean 不确定,由JVM决定 true、false

3.1.2 基本数据类型转换

基本数据类型存在转型:自动向上转型,强制向下转型

向上可以直接转,向下需要强转
具体的转型规则如下:

Ø 所有的byte型、short型和char型将被提升到int型;
Ø 如果其中有一个操作数是long型,那么计算结果就是long型;
Ø 如果其中有一个操作数是float型,那么计算结果就是float型;
Ø 如果其中有一个操作数是double型,那么计算结果就是double型。

强制转型:

  1. public static void basicDataType() {
  2. //强制向下转型
  3. int a = 100;
  4. short b = (short) (a + 120);
  5. }

3.2 引用数据类型

除了基本数据类型之外的所有类型,都是引用类型 例如:类,接口,数组,枚举……

为什么被称为引用?
变量 和 值不再同一空间,他们是通过引用地址的方式,完成连接
数据类型 - 图2

3.3 小结

1、基本数据类型只能描述简单数据,引用数据类型可以描述复杂数据
2、基本数据类型通常由Java提供,引用数据类型可能由程序员自己定义
3、基本数据类型值和变量存放在一起,而引用数据类型变量和值分开存放,通过内存地址发生引用