Java数据类型的转换

2025-10-26 23:57:40

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

2、byte,short,char之间不互相转换直接转换成int类型不参与运算

3、long(8个字节)为什么可以自动向float(4个字节)转换?

Java数据类型的转换

4、  long整型数,在内存中占用8个字节共64位,它表示的数值有2的64次方,平分正负,数值范围是负2的63次方到正2的63次方-1。  而float在内存中占4个字节,共32位,但是浮点数在内存中是这样的:  V=(-1)^s * M * 2^E   667x190  浮点数的32位不是简单的直接表示大小,而是按照一定的标准分配的。  其中第1位,符号位,即S。  接下来的8位,指数域,即E。  剩下的23位,小数域,即M,M的取值范围为[1,2)或[0,1)。  也就是说,浮点数在内存中的二进制值不是直接转换为十进制数值的,而是按照上述公式计算而来,通过这个公式,虽然只用到了4个字节,但是浮点数却比长整型的最大值要大。

  这也就是为什么在数据转换的时候,long类型转换为float类型的根本原因所在!

1、     格式:目标数据类型 变量名 = (目标数据类型) (被转换的数据)  

   

2、   注意: 可能有精度的损失

Java数据类型的转换

3、思考和面试题1:

      byte b1 = 127;

      byte b2 = (byte)128; //-128

      byte b3 = (byte)129; //-127

      byte b = (byte)130;  // -126

Java数据类型的转换

4、思考和面试题2:

       

下面的程序有问题吗,如果有,在哪里呢?

           byte b1 = 3;

           byte b2 = 4;

           byte b3 = b1 + b2;//报错

           byte b4 = 3 + 4;//7

Java数据类型的转换

Java数据类型的转换

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢