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、
存储的知识:
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、十进制十六进制的关系
参考链接
http://blog.csdn.net/ithomer/article/details/6665024
https://www.zhihu.com/question/23374078