Java中的数据类型详解——int类型04

IntTest04

/*
	java中有一个语法规则:
		当这个整数型字面量没有超出byte的取值范围时,那么这个
		整数型字面量可以直接赋值给byte类型的变量。

	这种语法机制是为了方便写代码,而存在的。
*/
public class IntTest04{
	public static void main(String[] args){
		// 分析:以下代码可以编译通过吗?
		// 300 被默认当做int类型
		// b变量是byte类型
		// 大容量转换成小容量,想编译通过,必须使用强制类型转换符
		// 但是会有精度损失
		// byte b = 300; 
		// 300这个int类型对应的二进制:00000000 00000000 00000001 00101100
		// byte 占用1个字节,砍掉前3个字节,结果是:00101100 (44)
		byte b = (byte)300;			 
		System.out.println(b); // 44
		
		// 这个编译能通过吗?
		// 1是int类型,默认被当做int类型来看
		// x是byte类型,占1个字节,大容量无法直接转换成小容量
		// 按说是编译报错的,但是编译没有报错。
		byte x = 1;
		byte y = 127;
		// 编译报错:不兼容的类型: 从int转换到byte可能会有损失
		byte z = 128;

		// 当整数型字面量没有超出short类型取值范围的时候,该字面量可以直接赋值给short类型的变量。
		short s = 1;
		System.out.println(s);
	}
}`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值