java中的“~”这个符号是表示什么意思啊?

比如selectionKey.interestOps()&(~SelectionKey.OP_WRITE),表示什么意思啊?它的返回值是什么啊?... 比如selectionKey.interestOps() & (~SelectionKey.OP_WRITE),表示什么意思啊?它的返回值是什么啊? 展开
 我来答
达被亚5
2011-01-08 · TA获得超过124个赞
知道答主
回答量:36
采纳率:0%
帮助的人:48.2万
展开全部
~是按位取反(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,就是除写之外的所有权限(即可读,可执行)
x40401
2011-01-08 · TA获得超过3842个赞
知道小有建树答主
回答量:870
采纳率:0%
帮助的人:1278万
展开全部
Java 位运算符 按位非(NOT) .
按位非(NOT)
按位非也叫做补,一元运算符NOT“~”是对其运算数的每一位取反。例如,数字42,它的二进制代码为:
00101010
经过按位非运算成为
11010101
=================================
你还是看这个帖子吧。总结的比较全。而且例子详细。
http://blog.csdn.net/vvggsky/archive/2007/04/16/1565946.aspx
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风霜雪岳_fs
2011-01-08
知道答主
回答量:8
采纳率:0%
帮助的人:0
展开全部
~即NOT按位非运算,在C/C++中也是这个意思
如~01010=10101
补充:
&AND按位与
|OR按位或
^XOR按位异或
!取反即!true=false
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
billgates87
2011-01-08
知道答主
回答量:43
采纳率:0%
帮助的人:27.4万
展开全部
按位非(NOT)(一元运算)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式