java位运算符包括
&(与) AND
|(或) OR
^(异或) XOR
~(非) NOT
位移运算符包括
>>(右移)
<<(左移)
>>>(右移,左边空出的位以0填充)
顾名思义,位运算符用于位运算,那就只能对整型或者字符型进行运算。而除了~(非)是一元运算符之外其他的都为二元运算符。
所有位运算都会把值转为二进制进行运算
&(与)
运算规则:0&0=0 0&1=0 1&0=0 1&1=1
即:两位同时为1时,结果为1,否则为0
int a=(3&5);
System.out.println(a);
System.out.println(Integer.toBinaryString(3));
System.out.println(Integer.toBinaryString(5));
结果打印为
1
011
101
解析:3的二进制为011,5的二进制为101,与操作结果为001。转为十进制是1。
|(或)
运算规则: 0|0=0 0|1=1 1|0=1 1|1=1
即:参加运算的两个对象只要有一个为1,其结果就为1
int a=(3|5);
System.out.println(a);
System.out.println(Integer.toBinaryString(3));
System.out.println(Integer.toBinaryString(5));
结果打印为
7
011
101
解析:3的二进制位011,5的二进制位101。或操作结果为111。转为10进制为7
^(异或)
运算规则:1^0=0 0^1=1 1^0=1 1^1=0
即:参加运算的两个对象,如果两个个相应位为“异”(值不同),则该位结果为1,否则为0
int a=(3^5);
System.out.println(a);
System.out.println(Integer.toBinaryString(3));
System.out.println(Integer.toBinaryString(5));
结果打印为
6
011
101
解析:3的二进制位011,5的二进制位101。或操作结果为110。转为10进制为6
~(非)
运算规则:~1=0 ~0=1
即:对一个二进制数按位取反,即0变为1,1变为0
~运算符的优先级比算数运算符、关系运算符、逻辑运算符和其他运算符都高
<<(左移)
将一个运算符对象的各二进制位全部左移诺干位(左边的二进制位丢弃,右边补0)
操作数每左移一位,相当于该数乘以2
int a=(3<<2);
System.out.println(a);
System.out.println(Integer.toBinaryString(3));
System.out.println(Integer.toBinaryString(12));
结果打印为
12
11
1100
解析:此运算符的意思就是把3的二进制位全部左移两位,右边补2个0。3的二进制位11,左移两位后,右边补2个0就是1100。1100转为10进制为12。
说到底左移操作就相当于2的2次方×3。 每左移1位次方就增1
>>(右移)
将一个数的各二进制位全部右移诺干位,正数左补0,负数左补1,右边丢弃。
操作数每右移一位,相当于该数除以2
int a=(9>>1);
System.out.println(a);
System.out.println(Integer.toBinaryString(9));
System.out.println(Integer.toBinaryString(4));
结果打印为
4
1001
100
解析:9的二进制为1001,右移1位后,左正数补0,右边丢弃。结果为 0100。转为10进制后为4。
分享到:
相关推荐
位运算符分为两大类:位逻辑运算符和位移运算符。位逻辑运算符包括按位与(AND)、按位或(OR)、按位异或(XOR)和按位非(NOT)。位移运算符则有右移(>>>和>>)和左移()。 1. **位逻辑运算符**: - **按位非...
在Java编程语言中,移位运算符是一种高效的方式来进行位操作,它们对于处理二进制数据和进行快速的乘法、除法等计算非常有用。本文将深入探讨Java中的三种移位运算符:左移运算符(),右移运算符(>>)以及无符号右...
Java运算符是编程中至关重要的组成部分,它们用于执行各种计算和逻辑操作。了解运算符的优先级和目数对于编写高效、准确的代码至关重要。在Java中,运算符按照其功能分为不同的类别,并且有不同的结合性和目数。 1....
Java运算符优先级 Java语言中的运算符优先级是指在Java语言中各种运算符的执行顺序和结合性。了解Java运算符优先级是...了解Java运算符优先级是非常重要的,掌握这些知识可以帮助我们编写更加正确和高效的Java程序。
Java移位运算符是Java语言中的一种基本运算符,用于对二进制数进行位移操作。移位运算符主要包括左移位运算符()、右移位运算符(>>>)和带符号的右移位运算符(>>)。这些运算符可以单独用来处理int型整数。 1. ...
11. **位移运算符**:左移()和右移(>>)用于将二进制位向左或向右移动指定的位数。例如,`5 将返回20(二进制表示为101左移两位变为10100)。 12. **取反运算符**:`~`用于对整数进行按位取反,将0变为1,将1...
位移运算符会改变数字的二进制位。左移 (`) 是向左移动指定的位数,右移 (`>>`) 则向右移动,高位可能丢失(取决于右移是否是有符号的)。无符号右移 (`>>>`) 会在高位填充零,保持数值的正负性。 逻辑运算符包括 ...
Java运算符是编程中不可或缺的部分,它们用于执行各种计算、比较和逻辑操作。在Java中,运算符可以分为多个类别,包括算术运算符、关系运算符、逻辑运算符、赋值运算符以及位运算符。 1. **算术运算符**:包括`+`、...
在Java编程语言中,位运算符和移位运算符是处理二进制数据的重要工具,它们在底层操作中发挥着关键作用。本文将深入探讨这两个主题,并通过实例解析其工作原理。 位运算符直接作用于整数类型的二进制表示,包括与(&...
### Java运算符优先级别详解 ...综上所述,掌握Java运算符的优先级和结合性有助于编写更高效、更易读的代码。在实践中灵活运用这些原则,并通过适当的括号来明确优先级,可以有效提升代码的质量。
位移运算符`和`>>`分别用于左移和右移位,`>>>`是无符号右移,移位过程中高位不会填充符号位。 最后,赋值运算符允许我们简洁地进行赋值操作,比如`x+=y`相当于`x = x + y`。同时,Java支持将其他运算符与赋值...
以上代码演示了各种位运算符的功能,包括按位与、按位或、按位异或、按位非以及位移运算。这些操作在实际编程中可用于高效的数据处理和算法实现,尤其在底层系统编程或性能敏感的场景中尤为重要。掌握这些位运算技巧...
接着是方括号`[``]`,然后是算术、关系、逻辑、位和移位运算符等,最后是赋值运算符。 2. **目数**: - 目数是指运算符需要的操作数的数量。单目运算符如`++`、`--`、`-`和`+`只需要一个操作数,而双目运算符如`*`...
其次,Java中的位移运算符也非常重要,包括左移()、右移(>>)和无符号右移(>>>)。左移运算符()将运算对象的二进制位全部左移若干位,右边空出的位用0补充。右移运算符(>>)则是将二进制位全部右移若干位,左端空出的位...
在Java编程语言中,关系与条件运算符是构建复杂逻辑...这些运算符在编程中用于创建复杂的条件判断、数据处理和位级操作,尤其是在处理二进制数据和优化性能时。理解并熟练运用这些运算符是成为高效Java程序员的关键。
在Java程序设计中,理解和掌握运算符与表达式的使用是非常重要的基础技能。本文将深入探讨Java中的各种运算符及其用法,并通过实例讲解如何正确地使用这些运算符来构建有效的表达式。 #### 二、表达式的基本概念 - ...
在Java编程语言中,操作符的优先级和结合性是理解和编写正确代码的关键部分。它们决定了表达式的计算顺序,帮助开发者避免潜在的错误。本文将详细介绍Java中的操作符优先级和结合性规则。 首先,操作符的优先级是指...
Java语言的运算符包括赋值运算符、关系运算符、算数运算符、逻辑运算符、条件运算符、位运算符和位移运算符七种。Java语言的运算符可以操作常量与变量,Java语言的运算符对编程表达形式有各自特别的要求。在运算时...