Java基础----数据类型转换与ASCII编码表

1.自动转换

public static void main(String[] args){
	int a = 1;
	byte b = 2;
	
	//报错
//	byte x = a + b;

	//byte + int -> int + int = int
	int y = a + b;//正确
	System.out,println(y);
}
public static void main(String[] args){
	byte a = 1;
	short b = 2;
	
	//byte + short -> int + int = int
//	short x = a + b;//报错

	//byte + int -> int + int = int
	int y = a + b;//正确
	System.out,println(y);
}

总结:
1.byte,short,char类型运算时,先提升为int类型,在进行运算
2.小类型 + 大类型 = 大类型(例: short + double = double)
3.byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double(由小到大)

2.强制转换

	int a = 1.5//报错

总结:不能把"较大数据类型"的数赋值给"较小数据类型的变量"

解决方法:

	int a = (int)1.5;//把右边浮点型数1.5强制转换为(int)类型,然后再赋值给a 

练习

public static void main(String[] args){
	byte a = 1;
	
	// byte + int(1) -> int + int = int
//	a = a + 1;//报错
	
	// byte + int(1) -> int + int = int
	a = (byet)(a + 1);//强制类型转换
	System.out,println(a);
}

注意:
强制类型转换可能会造成精度损失,如:把1.5强制转换为int类型,结果为1

3.ASCII编码表

在这里插入图片描述
练习

public static void main(String[] args){
	char c = 'a';
	int i = 1;
	// char + int -> int + int = int
	System.out,println(c + i);//98
}

猜你喜欢

转载自blog.csdn.net/Mrxuanshen/article/details/107934439
今日推荐