JAVA数据类型详解

目录

一、整型

1、byte

2、short

3、int 

4、long 

二、浮点型

1、float

2、double 

三、字符型 

char 

四、布尔型

boolean

五、强制类型转换 


一、整型

1、byte

byte:字节型

  • byte占用一个字节。 

由于Java中不区分有符号数和无符号数,故一个字节有八位,一位用来描述符号,剩余位代表数值大小。

所以byte能表示的范围为-128~127。

2、short

short:短整型

  • short占用两个字节。
  • short能表示的范围为-32768 ~ 32767。 

3、int 

int:整型

  •  int占用四个字节。
  • int所能表示的范围为

 注意:Java是在Java虚拟机JVM中运行的,不管在32位还是64位操作系统,int都是四字节。

4、long 

long:长整型 

  • long占用八个字节。
  • long所能表示的范围为 

二、浮点型

1、float

float:单精度浮点型

  • float占用四个字节。
  • float由于是浮点型数据,其范围一般不关注。 
  • 在给float类型变量赋值时,需要在其后加上f。

  

2、double 

double:双精度浮点型 

  • double占用八个字节。
  • double由于是浮点型数据,其范围一般不关注。  

三、字符型 

char 

char:字符型

注意:Java与C++不同,Java中char占用两个字节。 

一个字符的ascii码占用一个字节,unicode码占用两个字节。

四、布尔型

boolean

boolean:布尔型

  • boolean可以取值为true和false,不存在0是假,非0是真的说法。 
  • boolean没有明确规定占用字节数。

 

注意:在给这八类数据类型赋值时,不能超过其最大表示范围。 

五、强制类型转换 

强制类型转换使用场景:大范围强制转换成小范围。

  • 从小到大排序:byte->short->char->int->long->float->double 
  • 小范围转成大范围,会自动类型提升,也称为隐式转换。
  • 在参与运算时,小于四字节的类型会自动提升为四字节。
  • boolean类型的变量和其他类型的变量不能进行转换。

例题: 

 

在此问题中a+2的结果是int,但是a还是short类型,所以应该进行强制类型转换。

  

注意:强制类型转换存在风险。

例题:

public static void main(String[] args) {
     int a=128;
     byte b=(byte)a;
        System.out.println("a="+a);
        System.out.println("b="+b);
    }

运行结果:

分析:

 

但是byte占一个字节(8个二进制位),能表示的范围为-128~127,128的时候对于byte来说符号为(最高位)1,表示负数,此时-128的补码恰好为为10000000。

 

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

过✪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值