Java 把数据类型分为两种:引用类型和基本类型。
基本类型:
1、数值类型:
(1) 浮点类型:float、double
float 和 double 类型都遵循 IEEE754 标准。
Java 类库中的 java.math.BigDecimal 类,它能够表示任意精度类型。
(2) 整数类型:byte、short、int、long
在 Java 语言中,如果数学表达式中都是整数,那么返回值只能是int 类型或long 类型,如果把返回值赋给 byte 类型。需要强制类型转换。
(3) 字符类型:char
Java 采用的是Unicode 字符编码。
转义字符:
/n 换行符,将光标定位在下一行的开头
/t 垂直制表符,将光标移到下一个制表符的位置
/r 回车,将光标定位在当前行的开头;不会跳到下一行
// 代表反斜杠字符
/' 代表单引号字符
/" 代表双引号字符
2、boolean 类型
Java 语言中不允许把 null 赋值给 boolean 类型
引用类型:
1、引用
(1) 类引用类型
类引用类型的变量引用这个类或者其子类的实例。
(2) 接口引用类型
接口引用类型的变量引用实现了这个接口的类的实例。
(3) 数组引用类型
数组引用类型的变量引用这个数组类型的实例。
在 Java 语言中,数组也被看成对象。
不管何种引用,它们引用的都是对象。
基本类型与引用类型的区别
1、基本类型代表的是简单的数据类型。引用类型所引用的实例能表示任意一种复杂的数据结构。
2、基本类型仅表示数据类型,而引用类型所引用的实例除了能表示复杂的数据类型,还能包括操纵这种类型的行为。
3、Java 虚拟机处理引用类型变量和基本类型变量的方式不一样:
基本类型的变量,Java 虚拟机会为其分配数据类型实际占用的内存地址;
引用类型的变量,它仅仅是一个指向堆区中某个实例的指针。
引用变量位于 Java 虚拟机的运行时数据区的哪个区,这取决于所引用的变量的作用域。
如果是局部变量,则位于 Java 栈区;
如果是某个静态成员变量,则位于方法区;
如果是某个类的实例成员变量,则位于堆区。
当一个引用类型的变量被声明后,如果没有初始化,那么他不指向任何对象。