运算符&(逻辑与)和&&(短路与)的区别

算术运算符的注意问题
1)如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。 但被模数是负数则不可忽略。此外,取模运算的结果不一定总是整数。
2)对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。 例如:int x=3510;x=x/1000*1000; x的结果是?
3)“+”除字符串相加功能外,还能把非字符串转换成字符串.例如:
System.out.println(“5+5=”+5+5); //打印结果是? 5+5=55 ?

++(自增)/–(自减)
++/–在前,先+/-1再运算(备注:运算包含算术运算、赋值运算、比较运算、位运算)
++/–在后,先运算再+/-1

逻辑运算符
==两边的算子都为boolean型,且结果也为boolean; ==
&(逻辑与)和&&(短路与)的区别:
&两边的算子都必须执行;&&若左边为false,则右边短路不予执行,若左边为true,右边还要执行。
|(逻辑或)和 ||(短路或)的区别:
| 两边的算子都必须执行;|| 若左边为true,则右边短路不予执行,若左边为false,右边还要执行。

补码和原码的转化过程
在计算机系统中,数值一律用补码来表示(存储)。
主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。
补码与原码的转换过程几乎是相同的。
已知 一个数的原码码,求补码的操作分两种情况:
(1)正数的补码:与原码相同。
例如,+9的补码是00001001。
(2)负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。
例如,-7的补码:因为是负数,则符号位为“1”,整个为10000111;其余7位为-7的绝对值+7的原码
0000111按位取反为1111000;再加1,所以-7的补码是11111001。
已知 一个数的补码,求原码的操作分两种情况:
(1)如果补码的符号位为“0”,表示是一个正数,所以补码就是该数的原码。
(2)如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符号位为1,其余各位取反,然后再整个数加1。

位运算符
最高效的方式计算2*8?
2<<3或者8<1

发布了25 篇原创文章 · 获赞 0 · 访问量 638

猜你喜欢

转载自blog.csdn.net/CGB1804Great/article/details/103555814