Java数据类型及分析

 

一、java数据类型

1.基本数据类型(8种);2.引用数据类型(3种)

基本的变量类型只有一块存储空间(分配在stack中),而引用类型有两块存储空间(一块在stack中,一块在heap中)。

  注意:java规范中没有明确指出boolean类型占几个字节,但有以下几种说法:

(1)1bit

  理由:Boolean类型的值只分为false和true,编译后会使用0和1来表示,这两个值在内存只需一位(bit)来存储,即1bit。

(2)1字节

  理由:计算机处理数据的最小单位是1字节, 因此Boolean类型用1个字节的最低位存储1或0,其他7位用0填补,

  即true为:0000 0001;false为0000 0000.

(3)4字节

  理由:在《Java虚拟机规范》一书中的描述:“虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在       Java  虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达式所操作的boolean值,在编译之后都使用Java虚拟机中 的int数据类型来代替,而boolean数组将会被编码成Java虚拟机的byte数组,每个元素boolean元素占8位”。也就是说JVM规范指出boolean当做int处理,也就是4字节,boolean数组当做byte数组处理,这样我们可以得出boolean类型占了单独使用是4个字节,在数组中是确定的1个字节。         

总结:java规范中,没有明确指出boolean的大小。在《Java虚拟机规范》给出了4个字节,和boolean数组1个字节的定义,具体还要看虚拟机实现是否按照规范来,所以1个字节、4个字节都是有可能的。

二、数据类型的包装类

数据类型封装类
boolean(布尔型)Boolean
byte(字节型)Byte
char(字符型)Character
short(短整型)Short
int(整型)Integer
long(长整型)Long
float(浮点型)Float
double(双精度浮点型)Double

封装类为各个数据类型提供一些数据的操作方法,可以直接使用;

例如String跟int的互相转化:

 int i = Integer.parseInt("13");
 
nt ii = Integer.valueOf("12");

String s1
= String.valueOf(123);
 String s2
= Integer.toString(i);
 String s3
= "" + i;

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值