类型转换--Java基础007

本文深入探讨Java中的数据类型转换机制,包括自动类型转换与强制类型转换的过程与注意事项。通过实例展示了不同类型间的转换规则及可能产生的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*
数据类型转换: 
	
	小数据类型-------->大数据类型     自动类型转换

	
	大数据类型--------->小数据类型    强制类型转换

	强制类型转换的格式:
			
			小数据类型  变量名 = (小数据类型)大数据类型
	
数据类型转换要注意的细节:
	1. 凡是byte、short 、 char数据类型数据在运算的时候都会自动转换成int类型的数据再运算。
	2. 两个不同数据类型的数据在运算的时候,结果取决于大的数据类型。
*/
class Demo2 
{
	public static void main(String[] args) 
	{
		/*
		byte  b=  11;   // 一个字节    
		short s = b; // 把b变量存储的值赋予给s变量。 2字节 
		int i = s;   // i是4字节
		long l = i;  // l 是8个字节。 
		System.out.println(l);
		

		int i = 128;  //4个字节
		byte b =(byte) i;  // 1个字节
		System.out.println(b);  // -128

		
		//如果是负数,那么最高位肯定是1, 正数的二进制位的最高位是0。
		System.out.println(Integer.toBinaryString(-7));  //sun给我们提供一个功能 Integer.tobinaryString()  查看一个数据的二进制数据形式的。
		//   11111001(补码)
		//在计算机中负数的存储是以二进制的形式存储的。

		凡是byte、short 、 char数据类型数据在运算的时候都会自动转换成int类型的数据再运算。
		
		byte b1 =1;
		byte b2 = 2;
		byte b3 = (byte)(b1+b2); //不加强制类型转化为报错    reason:凡是byte、short 、 char数据类型数据在运算的时候都会自动转换成int类型的数据再运算
		System.out.println(b3); //3  
				
		两个不同数据类型的数据在运算的时候,结果取决于大的数据类型
		int i =10;
		long l = 20;
		i = (int)(i+l); 
		System.out.println(i);
		*/
	
		int i = 10;  //
		byte b = i;  //必须强制类型转化,否则报错。      reason:一个整数没有加上任何标识的时候,默认是int类型的数据。
		//10 是一个常量, 编译器在编译的时候就能够确认常量的值了,byte b = 10,在编译到的时候
		//java编译器就会检查到10并没有超出byte的表示范围,所以允许赋值。
		//java编译器在编译 的时候并不能确认变量所存储的值,变量存储的值是在运行的时候才在内存中分配空间 的。
		System.out.println(b);

	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值