3 数据类型转换

103 阅读1分钟

1Java 必须要保证数据类型的一致性,如果数据类型不一致将发生类型的转换。

自动类型转换【从小到大自动】

转换规则: byte、short、char-->int-->long-->float-->double 整个表达式中的所有类型,都会自动转换成表达式中最大的类型,结果也是最大的类型 把int类型转换成long类型,从小到大,叫做自动类型转换(自动完成) 把long类型转换成int类型,从大到小,叫做强制类型转换(不会自动完成,必须手动处理)
类型一样才可以互相转

强制类型转换【从大到小强制】可能损失精度

如果砍掉都是0,对数据大小没有影响, 只要砍掉的有1,就会影响数据大小 强制类型long类型转换为byte类型:

 long num = 888L;
 byte b = (byte)num;//把num强制类型转换成byte类型,砍掉左侧的7个字节的内容	

转后类型 变量名称 = (转后类型)转前数字/变量;	
     但是把int类型的结果数据强制类型转换为short类型(砍掉左侧的2个字节的内容)
     	小数数字1.5double类型(占8个字节),不能直接赋值给左侧的int变量(占4个字节)
		但是我们把数字1.5强制类型转换成int类型(直接砍掉小数部分)
	 */
	int i = (int)1.5;
	System.out.println(i);
             小写字母的ASCII码值比对应的大写字母多32    97 --> 'a'65 --> 'A'int类型的结果强制类型转换为char类型 98 --> 'b'
              System.out.println((char)(ch + 1));//b