专栏首页学习笔记持续记录中...Java基础:二、数据类型(3)

Java基础:二、数据类型(3)

数据类型

数据类型包含两种:基本数据类型和引用数据类型

基本类型

Java中一般通过new创建对象并将对象存储在“堆”里,并通过变量引用保存对象的地址,而对于基本类型,需要特殊对待,基本类型不用new来创建变量,而是创建一个并非是引用的“自动”变量。这个变量直接存储的是“值”,并置于堆栈中,因此更加高效

Java回确定每种基本类型所占存储空间的大小,并且这个大小并不会随着机器硬件架构的变化而变化。这也成为了Java比其他大多数语言编写的程序更具移植性的原因之一

1个字节占8bits,所以

表示形式

整数类型四种表示形式:十进制 、八进制 以0开头、二进制 0b或0B开头、十六进制 0x或0X开头

浮点类型两种表示形式:十进制数形式、科学记数法形式

其他

浮点数并非准确的,千万不能用于比较

float单精度类型,尾数精确到7为,double双精度类型,尾数精确到14位

float和double不适合在不容许舍入误差的金融计算领域,如果需要进行不产生舍入误差的精确数字计算,需要使用BigDecimal

folat类型的数值后面要有一个后缀F或f,没有的默认为double类型,也可以在数值后添加后缀D或者d,明确double类型

高精度数字

Java提供了两个用于高精度计算的类:BigInteger和BigDecimal。这两个类大体上属于“包装器类”的范畴,但两者都没有对应的基本类型

BigInteger可以准确的表示任何大小的整数值,而且不会丢失任何消息 BigDecimal支持任何精度的定点数,例如,可以用它进行精确的货币计算

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java基础:五、this关键字、static含义(4)

    如果只有一个peel()方法,如何知道是被a还是b所调用的呢?因为编译器会把“所操作对象的引用”作为第一次参数传递给peel()。所以上述两个方法的调用就变成了...

    桑鱼
  • 线性结构和非线性结构

    1)特点是数据元素之间存在一对一的线性关系 2)线性结构有两种不同的存储结构,即顺序存储结构和链式存储结构。顺序存储的线性表称为顺序表,顺序表中的存储元素是连...

    桑鱼
  • Spring - bean自动装配、抽象、作用域、依赖、继承、使用外部属性文件(3)

    Spring IOC容器可以自动装配Bean,通过<bean>的autowire属性里指定自动装配的模式

    桑鱼
  • java中double类型操作精度丢失

    在用到double类型数据加减运算时,遇到了一个奇怪的问题,比如1+20.2+300.03,理论上结果应该是321.23,其实结果并不是这样。

    似水的流年
  • Java编程初学者应该了解的编程框架

    动力节点Java培训最新上线Java实验班,等你来测试自己适不适合学习Java编程哦!

    动力节点Java学院
  • [C-C++]DLL之旅1 : 将程序打包成DLL

    原文链接:http://blog.csdn.net/humanking7/article/details/78585004

    祥知道
  • 百度Apollo加入DeepDrive联盟,并发布了技术品牌Apollo Scape | 热点

    镁客网
  • 数据库层如何扩展?

    这样看来,似乎只要加几个数据库,共同分担来自应用层的流量就完成了从单库到多库的扩展:

    ayqy贾杰
  • 谷歌和特斯拉,谁才是自动驾驶技术的引领者?

    谷歌以及特斯拉一直认为自动驾驶汽车将会使交通更加安全,两者都在朝着无人驾驶的方向前进。但是,当谷歌在几年前开始测试其自动驾驶汽车原型时,特斯拉在 自动驾驶汽车技...

    机器人网
  • 开源日志系统 log4cplus 安装与使用(一)

    log4cplus是一个易于使用的C ++ 日志记录API,log4cplus具有灵活、强大、使用简单、多线程安全的特点。通过将信息划分优先级使其可以面向程序调...

    用户5908113

扫码关注云+社区

领取腾讯云代金券