在java中基本数据类型有8种、分别是: byte(1个字节)、short(2个字节)、int(4个字节)、long(8个字节)、float(4个字节)、double(8个字节)、char(2个字节)、boolean(1个字节)
1个字节=8个bit(byte是基本单位、bit是最小单位)
byte a=3 //二进制表示为0000 0011
short a=3 //二进制表示0000 0000 0000 0011
long a=3L //在使用long数据类型时需要加上L
int a=3L //在编译时会报错 3L代表的是long类型占8个字节 而int只占4个字节
将8个字节大小的装入4个字节中会报错的!!!
float a=3.0f //在使用float这个数据类型时要加f/F
float a=3 //编译会失败 在浮点数中默认时double类型 3默认是double类型占8个字节
float占4个字节 8个字节不能装入到四个字节中
double a=3 //在浮点型中默认时double类型
double b=2.7;
double c=8.1/3;
System.out.println(a==b);//这个不一定 在java中浮点数的运算可能会产生误差
//char的本质是整数、所以char类型的变量可以赋值为整数。在使用char时要使用的是单引号而不是双引号,使用双引号会报错
char a='a'
char b=97
System.out.println(a); // 结果为a
System.out.println(b); //结果为97
System.out.println((int)a); //结果为97
System.out.println(a+b); //结果为194 字符的运算会化成整数
System.out.println(a+a); //结果为194
char的存储与读取过程
存储: 'a'---> 97---->0110 0001
读取: 0110 0001--->97------'a'
boolean a=true;
boolean b=1;//这个是错的 在Java中boolean中有true和false
ASCLL只有128个、每个字母占一个字节
UTF-8 字母占一个字节、汉字占3个字节(我们常用的是UTF-8,因为UTF-8中汉字比GBK多)
GBK 字母占一个字节 汉字占2个字节