我们可以定义SelectionKey.OP_EXECUTE为001,表示可执行权限 则111就表示拥有所有的读、写、可执行权限 而~SelectionKey.OP_WRITE就是~010 == 101,就是除写之外的所有权限(即可读,可执行)Java 位运算符 按位非(NOT) .按位非(NOT)按位非也叫做补,一元运算符NOT“~”是对其运算数的每一位...
java中的“”这个符号是表示什么意思啊?
~是按位取反(0变1,1变0)的意思,
按位取反是针对二进制的,比如2的二进制表示为010,那么~2就是101
每位可以代表一个含义,针对你的问题。
我们可以定义SelectionKey.OP_READ为100,表示读权限
我们可以定义SelectionKey.OP_WRITE为010,表示写权限
我们可以定义SelectionKey.OP_EXECUTE为001,表示可执行权限
则111就表示拥有所有的读、写、可执行权限
而~SelectionKey.OP_WRITE就是~010 == 101,就是除写之外的所有权限(即可读,可执行)2011-01-08
~即NOT按位非运算,在C/C++中也是这个意思
如~01010=10101
补充:
&AND按位与
|OR按位或
^XOR按位异或
!取反即!true=false2011-01-08
按位非(NOT)(一元运算)2011-01-08