类型转换
类型转换,指的是同种数据类型不同位数之间的赋值操作。
类型转换有两种方式:自动类型转换和强制类型转换。
提示
boolean 不能进行类型转换。
自动类型转换
自动类型转换必须满足:
- 低位数数据类型转换为高位数数据类型。
如,16位二进制数的 short 类型,就可以自动转换为32位二进制数的 int 类型。浮点型同理。
整型转换为浮点型时,也能够满足自动类型转换的条件,因为浮点型精度比整型高。
java
public class Demo{
public static void main(String[] args){
char c = "a"; // 定义一个char类型
int i = c; // char自动类型转换为int
System.out.println("char自动类型转换为int后的值等于" + i); // 97
}
}强制类型转换
强制类型转换必须满足:
- 都是基本数据类型或都是引用数据类型
- 转换格式为
type identifier2 = (type)identifier
浮点型转换为整型时,需要进行强制类型转换,并且会丢失精度(丢失小数点)
java
public class Demo{
public static void main(String[] args){
int i = 200; // 定义一个int类型
byte b = (byte)i; // int强制类型转换为byte
System.out.println("int强制类型转换为byte后的值等于" + b); // -56
}
}