java的整数类型_java整数类型

public class Test2_9 {

public static void main(String args[]){

//java有4种整数类型:byte,short,int,long

//java的默认整数计算的结果是int类型

//整数的字面量(即整形变量=号后面的那个值)是int类型

//如果自面量超过Int型最大值,则字面量是long类型,后面要加l(不区分大小写)

//输出int型的最大值->2147483647

System.out.println(Integer.MAX_VALUE);

//给longValue一个值,使它超过Int型的最大值

//int longValue=2147483648;//出现编辑错误,超出int型最大值

//long longValue=2147483648;//超出int型的范围,要用long类型,但是这样写是不对的

//这样写就对了

long longValue=2147483648l;//l不区分大小写,也可以写成long longValue=2147483648L

System.out.println(longValue);

}

}

输出结果:

2147483647

2147483648

//第二个例子--------------------------------------------

//由于整型默认计算结果是int型,下面的b=a+3其实是这样的

// byte b=byte(a)+int(3);

//由于byte占1字节,int占4字节,但变量b要求是byte型,会丢失信息,结果存在不确定性,会报错

byte a=5;

//byte b=a+3;//所以这么写是有问题的

//可以这样写,将结果强制转换成byte型

byte b1=(byte)(a+3);

System.out.println(b1);//结果为byte型8

//或者将b的类型改为int型

int b2=a+3;

System.out.println(b2);//结果为Int型8

//超出byte范围-128-127,下面这行报错

//byte b3=126+2;

//可强制转换

byte b3=(byte)(126+2);

System.out.println(b3);//-128

System.out.println(Integer.toBinaryString(126));

System.out.println(Integer.toBinaryString(2));

//是这么计算得到-128的

//126->    01111110

//2  ->   +00000010

//------------------

//        =10000000->2的7次方128

//转byte型:最高位为1,表示负数,由于正数与负数的关系是取反再加1,10000000取反再加1的结果还是10000000

//也就是2的7次方=128,由于最高位为1表示负数,所以结果为-128

//或者定义变量为int型

int b4=126+2;

System.out.println(b4);//128

System.out.println(Integer.toBinaryString(b4));

输出结果:

8

8

-128

1111110

10

128

10000000

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值