java中的“~”这个符号是表示啥意思啊?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中的“~”这个符号是表示啥意思啊?相关的知识,希望对你有一定的参考价值。
比如selectionKey.interestOps() & (~SelectionKey.OP_WRITE),表示什么意思啊?它的返回值是什么啊?
~是按位取反(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,就是除写之外的所有权限(即可读,可执行) 参考技术A Java 位运算符 按位非(NOT) .
按位非(NOT)
按位非也叫做补,一元运算符NOT“~”是对其运算数的每一位取反。例如,数字42,它的二进制代码为:
00101010
经过按位非运算成为
11010101
=================================
你还是看这个帖子吧。总结的比较全。而且例子详细。
http://blog.csdn.net/vvggsky/archive/2007/04/16/1565946.aspx 参考技术B ~即NOT按位非运算,在C/C++中也是这个意思
如~01010=10101
补充:
&AND按位与
|OR按位或
^XOR按位异或
!取反即!true=false 参考技术C 按位非(NOT)(一元运算)
java中输出函数system.out.println("a="+a);中的+是啥意思!
有的人说是连接符号!我就郁闷了。“你好”+“呀”这个是连接符号!
那输出函数后的那个加号呢?
还有system.out.println("a["+0+"]"+a);0前后两个+代表什么意思?
还望各位高人指点,我刚开始学java,与c对比,感觉有的地方有点纠结。
谢谢!
java中输出函数system.out.println(\\\\\\"a=\\\\\\"+a);中的“+”表示字符串连接符,即将“a=”这个字符串与变量a的值连接起来并输出,如下示例代码:
public static void main(String[] args)
int a = 3;
System.out.println("a="+a);//输出a的值
一个“+”与一个字符串变量一起使用就是表示字符串连接符,如果与整型变量一起使用的话就代表加减运算符。
那么这句话的输出结果为
a=100
system.out.println("a["+0+"]"+a);中,如果在前面给a赋值了,比如说他为“100”,那么这句话的输出结果为
a[0]100
"+"就是起到了连接主用。本回答被提问者和网友采纳 参考技术B
system.out.println("a="+a);中,如果在前面给a赋值了,比如说他为“100”
那么这句话的输出结果为:
a=100
system.out.println("a["+0+"]"+a);中,如果在前面给a赋值了,比如说他为“100”,那么这句话的输出结果为:
a[0]100
"+"就是起到了连接主用。
那输出函数后的那个加号呢?
这里的加号 就像 1+1=2 ,那你总不会说1+1完后 +跑哪去了吧?
+就是个操作符 数字和数字相加时 是数字 1+2 3
符串和数字相加时 是字符串 “a”+1 "a1"
字符串和字符串相加就是字符串"a"+"a" "aa" 参考技术D 你可以认为+就是用来组合""之间值的。system.out.println("a["+0+"]"+a);输出a[0]变量a的值紧跟其后
以上是关于java中的“~”这个符号是表示啥意思啊?的主要内容,如果未能解决你的问题,请参考以下文章
C语言中&表示引用时啥意思?在函数中void select(huffmantree &ht)&不要貌似也可以啊?