java中的数据类型

        在java中,数据类型分为基本数据类型和引用数据类型。今天我们主要介绍一下基本数据类型。java中有8中基本数据类型,分别用于存储整数、浮点数、字符数据和布尔类型的数据。下面的图列出了java中的基本数据类型,方便大家理解。

        从上图我们可以看出,基本数据类型分为4类(整型、浮点型、字符型和布尔型),整型又包含字节型、短整型、整型和长整型。浮点型包括单精度和双精度浮点型。这些数据类型之间有什么区别呢,个人认为是在内存中所占的存储空间不通,下面列出了8种数据类型的存储空间及使用场景:

        到这里不知道大家有没有疑问,比如说给了一个整数类型的数 10,那么这个10是short、int还是long?还有2.3是float类型的还是double类型的?这就有了直接量的概念:直接量就是直接写出的数。整数的直接量的类型默认为int类型,浮点数的直接量是double类型。

        不同的基本类型可以相互转化,主要有自动类型转换和强制转换两种方式。

自动类型转化:也称为隐式类型转换,就是从小类型到大类型可以自动完成。类型的大小关系如下图所示:


强制类型转化:从大类型到小类型需要强制转换符,转换的方法为在需要转换的变量前加上需要转换成的数据类型。

下面我们通过实例来加深对数据类型转换的理解

short a = 10;

short b = 20;

int c = a + b; 

在这个例子中,定义a和b是short类型的,最后他们两个的和赋值给int类型的c,a+b的值首先是short类型的,在赋值给c的过程中做了隐式转换。

int a = 10;

short b = a;  这样写编译不能通过,当大类型的值赋给小类型的变量时,需要进项强制类型转换,即 short b = (short) a;

还有这样一个例子:

short a = 1;

a = a + 2;

第一条语句首先定义了一个short类型的变量a,并给它赋值为1,第二条语句:在执行a + 2 的时候,2是默认的整数类型即 int 型的,而a 是short类型的,它们两个做加法首先 a 进行了隐式转化,short 类型的就变成了int类型,他们两个的和也是int类型的,而int类型的值时不能直接赋值给short类型的a的,所以在第二条语句这里需要就行强制转化,

a = (short) a + 2;这样才能编译通过。

         这块写的有点绕,不知道大家看懂了没。关于数据类型转换,我们明白两点然后去运用就好了,这两点就是:小类型的数据转到大类型的时候会进行隐式转换,把小类型提升为大类型的。大类型的数据向小类型的数据转化时要进行强制转化,这个时候要注意溢出的问题。





  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 17
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值