一、强制类型转换
1.大的数据类型——>小的数据类型,要进行强制类型转换。
2.强制类型转换 不光是看字节大小决定的,我们还需要看表示的数据。
3.小的数据类型——>大的数据类型,会发生隐式类型转换。
byte a=1;
byte b=2;
byte c=a+b;
System.out.println(c);
会报错,因为a和b都是1字节,计算机在处理小于4字节的运算的时候,会将小于4个字节的全部提升为4个字节再参与运算。
二、关系运算符
关系运算符的返回值 只有两个 要么是TRUE 要么是FALSE
1.&& 并且 【布尔表达式1 && 布尔表达式2】 只有这两个表达式都为真的时候 整体才为真
特点:短路。如果表达式1为假,就不会再继续执行表达式2了。
2.|| 或者 逻辑或。【布尔表达式1 || 布尔表达式2】 只要有一个表达式为真的时候,那么整体为真。
特点:短路。如果表达式1为真了,那么就不执行表达式2了。
3. & | ^ ~
0000 1011 0000 1011
0010 0110 & 0010 0110 |
------------------- --------------
0000 0010 0010 1111
结论:如果对应位有0 这一位的结果就是0 结论:这一位如果有1 就是1,其余是0
0000 1011
0010 0110 ^
---------------
0010 1101
结论:一样的是0 不一样的是1
0000 0000 0101 1101
0101 1011 ^ 0101 1101 ^
------------------ 0^n=n ------------------- n^n=0
0101 1011 0000 0000