- 作者:xiaoxiao
- 发表时间:2020-12-23 10:55
- 来源:未知
逻辑运算符 逻辑运算符 AND(&&)?? OR(||)? NOT(!)? 都会得到一个boolean值,且他们只能用于boolean身上。逻辑表达式中的boolean无法使用类似于c/c++中的数值代替。注意,boolean被用于一个预期会出现string的地方,其值会自动转换为适当的文本形式,并且假如2个比较的基本数据类型不相同,也是可以比较的~例如10和10.0d,结果也是会返回true的 短路式的核定 这个的意思就是逻辑表达式中的部分语句可能因为逻辑运算符的使用不当,导致有些语句并没有经过判断,只要大家细心点,掌握知识牢靠就没什么问题~ 位运算符 位运算符可以让你操作整数基本数据类型中的个别bit位,切记是整数基本数据类型!位运算符直接造作的是数据中的0和1,直接面向硬件,所以有的人说java无法控制底层硬件,这个说法是不正确的,你完全可以直接控制硬件~好象asm一样~ 位运算符 AND(&)会在2个输入位全为1时,产生一个输出位1,否则为0; OR(|)会在2个输入位有任意一个为1时,产生一个输出位1,当2个输入位全部为0时,输出0; XOR(^)会在2个输入位上有且只有一个输入位为1时,产生输出位1; NOT(~)也叫做"一的补数运算符",是一个一元运算符(其他的是2元预算符),他仅仅接受一个引数,并且产生相反位 注意,位运算符和逻辑运算符很想。但是他们是有区别的,我曾经见过一个招聘题目,其中就有让你阐述他们的区别,除了’~‘之外,任何一个位运算符都可以和赋值运算符=号合用,类似于+= boolean,你可以在他身上执行除了not之外的任何一个位运算符;对于boolean而言,位运算符和逻辑运算符的唯一区别就是位运算符不做短路式,最后boolean是无法做位移运算的 位移运算符 位移运算符也是用来操作位的,也是只能作用在整数基本数据类型上在java中采用补码表示二进制数,在补码表示中,最高为为符号位,正数符号位是0,负数符号位是1,补码的规定如下: 对于正数来说,最高位是0,其余各位代表数值本身的二进制数; 对于负数来说,把该数的绝对值的补码按位取反,然后对整个数+1,取得该数的补码。如-1的补码为11111111,-1的绝对值补码是00000001,按位取反11111110,再加1,11111111