Java基本数据类型

一、整数型

Java中整型数据属于有符号数,即第一个bit位为0表示正整数,第一个bit位为1表示负整数。在计算机中负数由补码表示,那么补码如何计算呢?
补码=源码取反 + 1;
如:
22,在计算机中的表示为00010110,
-22,取反:11101001,加1:11101010

二、浮点型

Java中浮点型数据无法由二进制直接表示,而是一种对于实数的近似数据表示法,它遵循[IEEE 754](https://baike.baidu.com/item/IEEE 754/3869922)标准,因此无法表示金额,表示金额建议使用BigDecimal

三、字符型

取值范围0~65536,因为char类型在ASCII字符编码中,有对应的数值,可直接做运算,输出字符表中对应的字符

char 类型支持数学运算,背后的原理就是char 可以转化成对应的数字,然后数字计算之后,又可以对应到字符表中的字符,所以运算结果就是新的字符。

运算的结果是int 类型,只不过这个int 类型要想赋值给char ,还有一个范围的要求0~65536

字符串拼接的时候使用+ 所以当你想拼接两个字符的时候,不能直接使用+ 拼接,因为那是加法运算对于char 类型,所以你基本上可以把char 类型看成数值类型

四、布尔型

boolean 到底占几个字节

在Java中定义的八种基本数据类型中,除了其它七种类型都有明确的内存占用字节数外,就boolean类型没有给出具体的占用字节数,因为对虚拟机来说根本就不存在 boolean 这个类型,boolean类型在编译后会使用其他数据类型来表示。

  1. boolean类型被编译为int类型,等于是说JVM里占用字节和int完全一样,int是4个字节,于是boolean也是4字节
  2. boolean数组在Oracle的JVM中,编码为byte数组,每个boolean元素占用8位=1字节

*原文链接:https://blog.csdn.net/king14bhhb/article/details/110631164

posted @   liyb333  阅读(46)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示