Java基本类型的一些总结

来源:互联网 发布:阿里云服务器租用合同 编辑:程序博客网 时间:2024/06/06 01:38

Java基本类型的长度以及和C++的对比

Java(字节数)                               C++(字节数)

Byte         1                                             C++没有字节类型,可以用unsigned char代替

Short       2                                                     2

Int             4                                                      4

long        8                                                      8

float          4                                                      4

double      8                                                      8

char          2                                                      1

booenaln 1                                                      bool1

 

--可以看出java和C++的基本类型的长度区别主要在char,在java中这两个类型占两个字节,而在C++中这两个类型占一个字节,这是为什么呢,关于char很容易解释,这是因为java使用了utf-16编码,目的是使java的char能容纳更多类型的字符(比如中文),而C++使用的是ascii编码,所以只占用一个字节,这也是为什么java出现字节流和字符流的区别的原因。其实C++中也有类似的类型:wchar_t,为的也是容纳更多类型的字符。所以记住这个原因就能记住java的char和C++的char的长度而不会混淆。

 

Java基本类型和对应的包装类型

基本类型                            包装类型

boolean                             Boolean

byte                             Byte

char                                     Character

short                                   Short

int                                        Integer

long                                       Long

float                                      Float           

double                                  Double

void                                       Void

 

--总结 : 除了char和 int的包装类型比较特别外,其他基本类型都只是把基本类型名的头字母变成大写字母而已。Int对应的包装类型也比较容易记,因为毕竟常用,char的包装Character是英文中“字母”的意思。

 

基础类型和包装类型之间的转化机制(自动装箱、拆箱机制)

Integer i = 1;//自动装箱 ---实质上是 Integeri = Integer .valueOf(1);

int a = i;//自动拆箱          ---实质上是  int a = i.intValue();

Character c = 'a';//自动装箱

char b = c;//自动拆箱

 

--说白了这种装箱、拆箱机制就是一种隐式的类型装换,而这个装换的幕后工作由编译器完成。目的是为了简化了基本数据类型和相对应对象的转化步骤。

0 0
原创粉丝点击