java中的基本数据类型简谈

在java里面有八大基本的数据类型,分别是

  byte,short,char,int,long,float,double,boolean

 

然后需要说的就是几个特殊的基本数据类型的取值范围

 

先来说说byte它的取值范围-----

 

byte的取值范围是-128~127,但是你们有没有想过为什么是这个范围呢?大家肯定都值晓得它是一个字节的长度,那我就来分析下吧

一个字节是8位二进制,因为最高位是符号位,在java里面的使用补码来表示(负数补码是原码取反得到反码之后加1得到的,正数的补码,反码,原码都是一样的)

本来最小和最大值应该是:0000 0000~1111 1111

而最高位是符号位,所以我们去掉最高位:000 0000~111 1111---->十进制也就是0~127

而负数呢?刚刚说了,负数要计算,好!

(反码)原码取反:111 1111~000 0000

(补码)反码加1:1000 0000~000 0001

然后最后加上一直没有加上的符号位表示的十进制也就是:-128~-1,

所以!!整个的范围就是-128~127

 

接下来说说char跟short这两个类型,他们的字节长度都是2个字节

但其实具体来看的话,有不同,

short是有符号类型的,也就是说它的最高位是符号位,

而char是没有符号的,只是表示指定编码的字符,

所以,,,总的来说的话char类型是会比short类型要大上一倍的

posted @ 2018-10-15 09:24  松油灯  阅读(131)  评论(0编辑  收藏  举报