资讯专栏INFORMATION COLUMN

Java 小类型与大类型

callmewhy / 1508人阅读

摘要:因为经过强制类型转换,超出长度的位数会被丢弃,剩下的数据位成为了符号位结果,即结论小类型向大类型的转换会自动完成隐式类型转换,不需要编写额外的代码。大类型向小类型的转换需要编写额外代码进行强制类型转换。

小类型向大类型(隐式类型转换)

小类型向大类型的转换JVM会自动完成,不需要编写额外的代码。如下代码:

byte b1 = 3;
b1 = b1 +3

这样会在b1 = b1 +b2处报错,原因在于Java默认的证书类型的是 int 类型,b1+b2返回的结果会通过隐式类型转换将结果变成int类型,又由于b1是 byte类型的变量,因此赋值会报错。

如果这样写代码:

int b1 = 3;
byte b2 = 3;
b1 = b1 +b2;

因为JVM会自动完成隐式类型转换,所以 b1+b2 的结果会变成 int 类型,什么事都没有、

大类型向小类型

还是上面的例子:

byte b1 = 3;
b1 = b1 +3

如果想要将结果类型保存为 byte类型,则需要强制类型转换。将代码改成如下形式:

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

报错便消失了。

需要注意的是大类型转换小类型时,源数据的数据位会变成符号位。

int i=257
byte b = (byte)i

因为257 = 100000001
经过强制类型转换,超出长度的位数会被丢弃,剩下的数据位成为了符号位
结果 = 00000001 ,即1

结论:
小类型向大类型的转换JVM会自动完成隐式类型转换,不需要编写额外的代码。
大类型向小类型的转换需要编写额外代码进行强制类型转换。

欢迎加入学习交流群569772982,大家一起学习交流。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/70617.html

相关文章

  • 权威解读BI与大数据

    摘要:一名词解释,英文是中文被解释为商业智能,是一种帮助企业更好地利用数据来提高决策质量的技术集合,是一个从大量数据中挖掘信息和知识的过程。大数据,英文是,通过算法直接分析来自不同渠道和格式的海量数据,发现数据之间的相关性。 BI与大数据已经是现代社会的热词,但很多人并不能区别两者之间的关系。本文就请来权威解读关于它们的定义,两者间的区别与联系,以及相关的工作职责。 111 一、名词解释BI...

    icyfire 评论0 收藏0
  • JS语句为什么不能以“function”与大括号开头

    摘要:语句之间使用作为结尾,其中主要包括表达式语句块语句空语句和声明语句,这里不细讲。对于这句话,只能说对错一半吧先来说一下为什么语句不能以开始,这里涉及到函数声明的概念。 前言 前段时间调试代码,查看对象的toString的返回数据,由于比较简单,直接在浏览器的控制台输出代码 {}.toString(); // Uncaught SyntaxError: Unexpected tok...

    ermaoL 评论0 收藏0
  • NewSQL数据库大对象块存储原理与应用

    摘要:图元数据与数据文件结构映射在建立集合的过程当中,大对象存储必须依附于普通集合存在,一个集合中的大对象仅归属于该集合,不能被另外一个集合管理。 前言 企业内容管理(Enterprise Content Management,ECM)系统是一种管理非结构化内容的系统,传统代表为EMC Documentum或IBM Filenet等ECM解决方案。随着大数据技术的越发普及,越来越多的客户开始...

    Jenny_Tong 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<