数据类型:
1.基本数据类型;
2.引用数据类型;
我们这里主要是基本数据类型,引用数据类型后续会涉及。
String属于引用数据类型;
一、基本数据类型:
八种数据类型:
byte
short
int
long
float
double
boolean
char
二、八种基本数据类型各自占用空间大小:
基本数据类型 占用空间大小(单位:字节)
byte 1
short 2
int 4
long 8
float 4
double 8
boolean 1
char 2
三、一个字节大小 === 8bit 一个比特位标识一个二进制位:1或0
1Byte === 8bit
1K === 1024Byte
1KB === 1024K
1MB === 1024KB
1GB === 1024KM
1TB=== 1024GB
1TB === 1024 * 1024* 1024 * 1024 * 8 bit
四、整型中的byte类型,占用1个字节,所有byte类型数据占用8个比特位,
一个比特位就是一个二进制位;
所有byte类型的最大值是 01111111 ----》127;【-128,127】
第一位是符号位;
0是正号;
1是负号;
五、计算机只认识二进制,那么计算机是怎么表示现实世界当中的文字的呢?
八种基本数据类型当中,byte , short,int,long,float , double ,boolean这7种数据类型计算机在表示的时候比较容易,因为底层都是数字,十进制的数字和二进制之间存在一种固定的转换规则。
但是八种基本数据类型当中char类型表示的是现实世界中的文字,文字和计算机二进制之间"默认"情况下是不存在任何转换关系的。
为了让计算机可以表示现实世界当中的文字,我们需要进行人为的干涉,需要人
负责提前制定好"文字""和"二进制"之间的对照关系。这种对照转换关系被称为:字符编码。
六、计算机最初只支持英文,最先出现的字符编码是:ASCII码(采用一个字节编码)
一个字节可以从大到小可以包括256种情况;
‘a’ -->97 011000011 ‘b’ -->98
‘A’–>65
‘0’ -->48 0这个字符是48
‘a’ --(按照ASCII解码)–>01100001
01100001 —按照ASCII编码–> ‘a’
编码和解码的时候采用同一套字典/对照表,不会出现乱码。
当解码和编码的时候采用的不是同一套对照表,会出现乱码问题。
七、Java采用unicode编码支持中文、日文等文字;
unicode编码方式统一了全球所有的文字,容量较大;
包括 UTF-8、UTF-16、UTF-32;
实际开发中一版都使用UTF-8;