一.八种基本数据类型
byte 1字节 -2 ^7到2^7 -128到127
short 2字节 -2^15到2^15-1 -32768到32767
int 4字节 -2^31到2^31-1 -21亿到21亿左右
long 8字节 -2^63到2^63
float 4字节
double 8字节
char 2字节 0-2^16-1 0-65535 -----------------------------------重点
boolean 1字节 true 00000 0001 false 0000 0000
基本类型的字面值(默认值)5规则
1.整数的字面值是int类型
int a=65535;
//错 右侧是int类型,但超出
long a=9999999999;
2.byte,short,三种范围比int小的整数,可以被范围内的值直接赋值
//右侧是byte类型
byte a=127
//右侧是int类型
byte a==127;
3.浮点数字面值是double;
4字面值后缀:L,D,F
5进制前缀:0x 16进制
0 8进制
\u char类型的16进制
基本类型 的运算规则5条
1.计算结果的类型与运算项中的最大类型一样
2.byte,short,char三种比int小的整数.在运算的时候.会自动转成int -------------重点
byte a=2;
byte b=3;
//错误,a+b自动转为int类型
byte c=a+b;
3.整数运算的溢出
4.浮点运算的不精确
5.浮点数的两个特殊值
Infinity ---无穷大
3.14/0;
Double.MAX_VALUE*2;
NaN ---not a number
math.sqrt(-4);
基本数据类型的转换
负数在计算机中存储=负数的源码 再取反 +1
int a=~(-5);
10000..00101 -5的原码
11111..11010 -5的原码求反
11111..11011 -5的反码加一,-5的补码
00000..00100 补码求反 得出~(-5)=4;
位运算
int a=5^9 位异或
000...0101 5
000...1001 9
.........
000...1100 异或 得出12
(***重点)比较运算符 ==
当进行比较运算的两个都是数值类型时,即使它们的数据类型不同.只要它们的值相等.都返回true;
如果比较双方为引用类型, 只有当两个引用变量引用相同的类的实例时才能比较,而且这两个引用必须指向同一个对象才会返回true;
另外 true == false 也可以运行 判断为 false;
!=:不等于
逻辑判断符