java中double类型占几个字节_Java基本数据类型占用字节数

在Java中有八大基本数据类型

(1)整型

int :整数类型

short :短整型

long :长整型

byte :字节类型

(2)浮点型

float :浮点类型(单精度)

double :浮点类型(双精度)

(3)逻辑型

boolean :布尔型

(4)字符型

char :字符型

基本数据类型自动转换

byte -> short

char -> int -> long

float -> double

int -> float

long -> double

低数据类型可以直接赋值给高数据类型,反之,高数据类型转换为低数据类型必须强转,即提前制定数据类型,例 int a = (int) 5.0F

Java 8大基本类型所占字节数(或 bit 数)

类型 存储需求 bit 数 取值范围 备注

int 4字节 48 -2147483648~2147483647 即 (-2)的31次方 ~ (2的31次方) - 1

short 2字节 28 -32768~32767 即 (-2)的15次方 ~ (2的15次方) - 1

long 8字节 88 即 (-2)的63次方 ~ (2的63次方) - 1

byte 1字节 18 -128~127 即 (-2)的7次方 ~ (2的7次方) - 1

float 4字节 48 float 类型的数值有一个后缀 F(例如:3.14F)

double 8字节 88 没有后缀 F 的浮点数值(例如:3.14)默认为 double

boolean 1字节 18 true、false

char 2字节 28 Java中,只要是字符,不管是数字还是英文还是汉字,都占两个字节。

至于为什么 Java 中 char 无论中英文数字都占用2字节,是因为 Java 中使用 Unicode 字符,所有字符均以2个字节存储。

而如果需要识别字符是否为中文,可以使用正则匹配式:

String _regex = "[\\u4e00-\\u9fa5]";

补充

Java有一个能够表示任意精度的算书包,通常称为“大数值”(big number)。虽然被称为大数值,但它并不是一种Java类型,而是一个Java对象。

如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用的类:BigInteger、BigDecimal(Android SDK中也包含了java.math包以及这两个类)这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。具体的用法可以参见Java API。

现在金融类产品大热,建议金融类 App 的工程师在开发初期就直接使用 BigDecimal 数据对象来记录金融数据。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值