基本数据类型(primitive data type)
Java 是一种强类型语言,每个变量都必须声明其数据类型。 Java 的数据类型可分为两 大类:基本数据类型(primitive data type)和引用数据类型(reference data type)。
Java 中定义了 3 类 8 种基本数据类型:
- 数值型- byte、 short、int、 long、float、 double
- 字符型- char
- 布尔型-boolean
注意事项 :
引用数据类型的大小统一为 4 个字节,记录的是其引用对象的地址!
整形(byte,short,int,long)
整型用于表示没有小数部分的数值,它允许是负数。Java 语言的整型常数默认为 int 型,声明 long 型常量可以后加‘ l ’或‘ L ’ 。
浮点型(float,double)
带小数的数据在 Java 中称为浮点型。浮点型可分为 float 类型和 double 类型。
float 类型又被称作单精度类型,尾数可以精确到 7 位有效数字,在很多情况下,float 类型的精度很难满足需求。而 double 表示这种类型的数值精度约是 float 类型的两倍,又被 称作双精度类型,绝大部分应用程序都采用 double 类型。
警告:
在金融计算领域不能使用float或者是double类型,因为这两种类型都存在误差。如果需要进行进行计算,则使用 BigDecimal 类。
字符型(char)
字符型在内存中占 2 个字节,在 Java 中使用单引号来表示字符常量。
Java 中还允许使用转义字符 ‘\’ 来将其后的字符转变为其它的含义.
注意:
- char使用单引号,不是双引号, 不是双引号,不是双引号。(重要的事情说三遍)
- String 类是由char字符组成的数组。
boolean 型
boolean 类型有两个常量值,true 和 false,在内存中占一位(不是一个字节),不可以 使用 0 或非 0 的整数替代 true 和 false ,这点和 C 语言不同。 boolean 类型用来判断逻 辑条件,一般用于程序流程控制 。
数据类型转换
数据类型转换分为两种:自动类型转换和强制类型转换。
自动类型转换
自动类型转换指的是容量小的数据类型可以自动转换为容量大的数据类型。如图所示,实线表示无数据丢失的自动类型转换,而虚线表示在转换时可能会有精度的损失。
可以将整型常量直接赋值给 byte、 short、 char 等类型变量,而不需要进行强制类型转 换,只要不超出其表数范围即可。
强制类型转换
强制类型转换,又被称为造型,用于显式的转换一个数值的类型。在有可能丢失信息的 情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出。
语法格式: (想要转成的类型)+值
注意:
- 当将一种类型强制转换成另一种类型,而又超出了目标类型的表数范围,就会被截断成为一个完全不同的值。
- 不能在布尔类型和任何数值类型之间做强制类型转换。