Java基本数据类型,强制数据类型转换

Java基本数据类型:

             

              byte(字节型)  占用1个字节      一个字节等于八位      等于范围负128到127

             

              short(短整型) 占用2个字节     

             

              int(整型) 占用4个字节

             

              long(长整型) 占用8个字节

             

              float(单精度浮点型)     占用4个字节

             

              double(双精度浮点型) 占用8个字节

             

              char(字符型)  占用2个字节      单引号包裹的字符,只能是一个字符      数值参考ASCII码表

 

              boolean  占用一个字节或者四个字节      单独使用boolean类型,占用四个字节,当表示数组boolean[],占用一个字节            值只用两种,要么是true,要么是false

 

 

 

数据类型转换

 

              =左右两边数据类型不一致

 

              自动数据类型转换

                     小的数据类型转为大的数据类型,是隐式的,可以自动转换

                     例:double d=1.0F;

 

              强制数据类型转换

                     小的数据类型      变量名=(小的数据类型)大的数据类型数据

                     大的数据类型转换成小的数据类型,可能会造成数据溢出,就像两个水桶不一样的容量,容量高的水桶把水倒入容量低的水桶,会造成水浪费一样,同理大的数据类型的数据强制类型转换为小的数据类型可能会造成数据溢出,数据的不准确

                     例:int a=(int)6L;

                     byte b=(byte)-129;

                     System.out.println(b);   //127,计算机存储方式

 

为什么byte b=(byte)-129 ; b=127和计算机的存储方式有关

 

       负数 -129

              原码 10000000 00000000 00000000 10000001

              反码 01111111 11111111 11111111 01111110

              补码 01111111 11111111 11111111 01111111

因为强制转换为byte类型,byte占用一个字节等于八位,所以我们取补码后八位也就是01111111 也就是127

 

那么计算机存储方式是怎么计算反码和补码的呢?

       只要记住

              反码=原码取反

              补码=反码+1

注意:最高位是符号位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值