java基本数据类型以及相关内容总结

时间:2021-06-19 20:50:45

java 有八大基本数据类型:

1、

布尔型 :  boolean

字符型  :  char

整数型 :  byte short int long 

浮点型  :  float double 


2 描述计算机数据的最小单位是bit即比特


3 对照表:


数据类型的                    大小                                                     范围                                                                                                默认值 


byte(字节)               8                                      -128 - 127                                                                      0
shot(短整型)           16                                   -32768 - 32768                                                                0
int(整型)                  32                   -2147483648-2147483648                                                              0
long(长整型)           64              -9233372036854477808-9233372036854477808                                0 
float(浮点型)           32                 -3.40292347E+38-3.40292347E+38                                                 0.0f
double(双精度)       64              -1.79769313486231570E+308-1.79769313486231570E+308           0.0d
char(字符型)           16                                ‘ \u0000 - u\ffff ’                                                                  ‘\u0000 ’
boolean(布尔型)       1                                    true/false                                                                          false

所以 double有8个字节 float有4个字节,long有8个字节 int 有4个字节 short有2个字节 char 2个字节 byte自己表示1个字节 boolean有1个bit 比特

ps:1个汉字占据2个字节的存储空间,1个英文字母占据1个字节的存储空间。String不是基本数据类型

1KB = 1024B 1B=8bit
早期的汉字BIG5里 是16位也就是16bit对应一个汉字,也就是2B对应一个汉字
所以1KB表示512个汉字
但是 新的字符体系可能会扩充成(因为16bit可能不够表示各种字符了)32bit (也就是4个字节)对应一个汉字,这时候 1KB表示256个汉字

注意char是两个字节


由于CPU新的已经是64位了,所以不久的将来也可能会有更大的字符编码会用64位也就是8B表示一个汉字字符。到时候就是 1KB128个汉字。具体要看你的汉字是采用哪个标准的。
现在常见的是上述的第二种
 


字节是计算机信息技术用于计量存储容量的基本计量单位,也是内存编址的单位。一个字节包含8个二进制位(1Byte=8bit)。

字符与字节
ASCII码:一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。
UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于二~四个字节
Unicode编码:一个英文等于两个字节,一个中文(含繁体)等于两个字节。
符号:英文标点占一个字节,中文标点占两个字节。举例:英文句号“.”占1个字节的大小,中文句号“。”占2个字节的大小。



2、

存储的知识:


  bit=位 是电子计算机中最小的数据单位。每一位的状态只能是0或1。
  1B=8bit
  1B (byte 字节);
  1KB(Kilobyte 千字节) = 2^10 B = 1024 B;
  1MB(Megabyte 兆字节) = 2^10 KB = 1024 KB = 2^20 B;
  1GB(Gigabyte 吉字节) = 2^10 MB = 1024 MB= 2^30 B;
  1TB(Trillionbyte 太字节) = 2^10 GB = 1024 GB = 2^40 B;
  1PB(Petabyte 拍字节) = 2^10 TB = 1024 TB = 2^50 B;
  1EB(Exabyte 艾字节) = 2^10 PB = 1024 PB = 2^60 B;
  1ZB(Zettabyte 泽字节) = 2^10 EB = 1024 EB = 2^70 B;
  1YB(YottaByte 尧字节) = 2^10 ZB = 1024 ZB = 2^80 B;
  1BB(Brontobyte ) = 2^10 YB = 1024 YB = 2^90 B;
  1NB(NonaByte ) = 2^10 BB = 1024 BB = 2^100 B;

  1DB(DoggaByte) = 2^10 NB = 1024 NB = 2^110 B;


3、

 == 和 Equals 的区别 :


  1. == 是一个运算符。
  2.Equals则是string对象的方法,可以.(点)出来。
  
  我们比较无非就是这两种 1、基本数据类型比较 2、引用对象比较
  1、基本数据类型比较
  ==和Equals都比较两个值是否相等。相等为true 否则为false;
  
  2、引用对象比较
  ==和Equals都是比较栈内存中的地址是否相等 。相等为true 否则为false;
  
  需注意几点:
  1、string是一个特殊的引用类型。对于两个字符串的比较,不管是 == 和 Equals 这两者比较的都是字符串是否相同;??
  2、当你创建两个string对象时,内存中的地址是不相同的,你可以赋相同的值。
  所以字符串的内容相同。引用地址不一定相同,(相同内容的对象地址不一定相同),但反过来却是肯定的;
  3、基本数据类型比较(string 除外) == 和 Equals 两者都是比较值;

4、十进制十六进制的关系

java基本数据类型以及相关内容总结

参考链接 

 http://blog.csdn.net/ithomer/article/details/6665024

https://www.zhihu.com/question/23374078