在 Java 程序中,不同基本数据类型的值经常需要进行相互转换。
Java 语言包括 8 种基本数据类型,支持其中 7 种进行类型转换(不包括 boolean)。转换方式有两种:“自动类型转换”和“强制类型转换”。
基本数据类型名称 | 关键字 | 大小 | 取值范围 |
字节型 | byte | 8位 | -27 ~ 27-1 |
短整型 | short | 16位 | -215 ~ 215-1 |
整型 | int | 32位 | -231 ~ 231-1 |
长整型 | long | 64位 | -263 ~ 263-1 |
浮点型 | float | 32位 | 3.4e-38 ~ 3.4e+38 |
双精度 | double | 64位 | 1.7e-38 ~ 1.7e+38 |
字符型 | char | 16位 | 'u000' ~ 'uFFFF' |
布尔型 | boolean | 1位 | true/false |
1.自动类型转换
当把一个取值范围小的变量直接赋值给一个取值范围大的变量时,系统将进行自动类型转换。
Java 中 7 个基本数据类型间的自动类型转换图为(虚线表示可能丢失精度):
2.强制类型转换
当把一个取值范围大的变量直接赋值给一个取值范围小的变量,即沿上图箭头反方向赋值时,必须进行强制类型转换。语法为:
数据类型1 变量1 = (数据类型1) 变量2;