欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java中的基本数据之间的转化问题

程序员文章站 2024-03-15 12:48:59
...

/*研究java中的基本数据之间的转化问题*/
public class QiangZhiZhuanHuan {
	public static void main(String[] args){
	byte a = 10;           //10默认是int型,这里系统将10强制转换成byte型,并进行赋值
//	byte b =128;            这条语句会出错,原因是byte型的存储范围是-128~127,128超出了范围,系统会报错
	byte b =(byte)128;    //如果将128强制转换成byte型
	System.out.println(b);//则输出结果是-128。因为128默认是整型(占4个字节),强制转换成byte型(占1个字节)会舍弃高位
	                      //导致其丢失精度。就好比要装的东西大,而箱子小,所以要切掉物体的一部分才能装进箱子里。
	
	
	char c = 65;          //65默认是整型,这里系统将65强制转换成char型
	System.out.println(c);//输出字符A
//	char d = 65536;       //这条语句会出错,原因是65536超出了char的储存范围
	
	
	int e = 'a'+0;       //当两个不同的数据类型之间经行加减运算时,范围低的会提升自己的等级,这里字符型a与整型0进行相加运算时
	System.out.println(e); //字符型a被强制转换成整型,输出结果为97
	
	 
	}

}

默认转换顺序:

byte,short,char-int-long-float-double

byte,short,char之间不能相互转换