java数据类型——整型

java属于强类型语言,数据类型包括两大类:

  • 基本数据类型

     整型 : byte(字节整型)  short(短整型)  int(整型)  long(长整型)
     浮点型 : float(单精度浮点型)  double(双精度浮点型)
     字符型 :char
     布尔型 :boolean
    
  • 引用类型

     类
     接口
     数组
     ...  ...
    

它们所表示的范围是:

  • byte -128 ~ 127
  • short -2^15 ~ 2^15 - 1
  • int -2^31 ~ 2^31 - 1
//在定义long类型后面加 l ,因为计算机整型默认int,如果不加 l 会报错
 long l = 4569874521l;

/*
也有的long类型并没有在后面加 l ,这是因为当前数的范围在int类型以内,
如果超过了int类型的表示范围,必须要加上 l 。
*/

long l2 = 6987452;

类型转换
自动类型转换——小类型——>大类型(比如int——>long)
强制类型转换——大类型——>小类型 语法:(转换类型)变量

//将long转换为int
 long l = 4569874521l;
 System.out.println(l);
 int i = (int)l;
 System.out.println(i);

下面来看这样一段代码

byte b = 127;
byte c = (byte) (b + 1);
System.out.println(c);

输出的结果是-128,这是因为计算机内部是用补码进行加减运算,补码的出现解决了反码计算差1的问题,还解决正负0的问题。
因为byte类型只占8bit,127+1结果为128,二进制表示是10000000,在补码的表示中0用00000000表示,符号位占一位,理论上来说,0的表示可以有两种:+ 0 和 - 0 ,但实际上用 + 0 表示 0 ,而 - 0 也就是10000000表示 -128。如果是无符号数的运算结果为128,但是这是byte类型,10000000表示-128,所以输出的结果也就是-128而不是128。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值