Java 数据类型
目录
8种基本类型
byit
short
int
long
/* l1如果不加L会报编译时错误,超出int类型的范围,(最好定义时每个都加L)
加L以区分该数的数据类型 long和int
"L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。
*/
float
double
boolean
char
自动数据类型装换
当一个较"小"数据与一个较"大"的数据一起运算时,系统将自动将"小"数据转换成"大"数据,再进行运算。这里我们所说的"大"与"小",并不是指占用字节的多少,而是指表示值的范围的大小。
低 ------------------------------------> 高
byte,short,char —> int —> long
float —> double
-
不能对boolean类型进行类型转换。
-
不能把对象类型转换成不相关类的对象。
-
在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
-
转换过程中可能导致溢出或损失精度,例如:
int i = 128; byte b = (byte)i; System.out.println(b); //自己测一下 -
浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入,例如:
(int)23.7 == 23; (int)-45.89f == -45
强制类型转换
- 条件是转换的数据类型必须是兼容的。
- 格式:(type) value type是要强制类型转换后的数据类型 实例:
public class Test{ public static void main(String[] args){ int i1 = 123; byte b = (byte)i1;//强制类型转换为byte System.out.println("int强制类型转换为byte后的值等于"+b); } } /* 运行结果: int强制类型转换为byte后的值等于123 */
隐含强制类型转换
- 整数的默认类型是 int。
- 浮点型不存在这种情况,因为在定义 float 类型时必须在数字后面跟上 F 或者 f。
对应包装类
Byte
Short
Integer
Long
Float
Double
Character
引用类型
其他类(除开基本类型,其他都是)

浙公网安备 33010602011771号