从现在开我我将开始我心里一轮的java学习,当然我已经工作一个月了,基础知识的严重不足是我进步最大的障碍!
第一天我将从逻辑运算和位运算开始
一、
&& 逻辑与:就是在左右两边的条件全部满足的情况下才会为真,有一个不满足为假!
|| 逻辑或:左右两边的条件有一个满足则为真。两边都不满足则为假。
! 逻辑非:就是所有的全部去反,真的为假,假的为真。
二、
& 按位与:有两个运算值:A:01101101
B:00110111
按位与&运算结果:00100101
*说白了就是上下对比,位置相同的两个数的值相同则为1,不同就为零
| 按位或:和上面的差不多,但是现在是将两个全为零则为零,有一个为1就是1
^ 按位异或:两个值全为零或者全是1的时候就是0,只要不相同就是1
~ 按位取反:这是针对一个数来操作的,比如A:00110111
~:11001000
三、赋值运算和复合赋值运算
表达式 等价java代码
a+=3 a=a+3
a-=3 a=a-3
a*=3 a=a*3
a/=3 a=a/3
a%=3 a=a%3
四、数据类型转换
1.自动转换(由低向高转换时自动转换)
规定的顺序就是这样 (低)byte -->char-->short-->int (float)-->long (double)-->(高)
就是说明高兼容低
2。强制类型转换(又高相低运算就会用到强制类型转换)
就是在低位的前面加上(低位的类型)会出现数据丢失的情况,特别注意的是float和double之间的强制类型转换的时候会出现小数点后面的数据丢失的情况。