Skip to content

类型转换

类型转换,指的是同种数据类型不同位数之间的赋值操作。

类型转换有两种方式:自动类型转换和强制类型转换。

提示

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
	}
}