&与 |或 ^异或 &&双与 ||双或
与:两个结果都为1(都为ture)时输出1(ture)否则输出为0(false)
或:两个结果只要有一个为1(ture)时输出1(ture)否则输出为0(false)
1(ture)&0(false)=0
1(ture)||0(false)=1
异或:两个结果不一样时输出1(ture)否则输出为0(false)
1^0=1
1^1=0
0^0=0
*双与:在java中有中断程序的作用总的结果不变:两个结果都为1(都为ture)时输出1(ture)否则输出为0(false)。但是当第一个程序为0(false)时不执行第二个判断语句。通俗的说就是看到第一个错了就不看第二个了。双或也类比(看到第一个正确了就不看第二个了)。
示例:
int a=3;
int b=4;
System.out.println((++b==5)||(++a==3));//++b先赋值再运算即b=b+1; b==5
System.out.println(a);
输出结果为:ture
3
当它看到第一个正确时便不再运行第二个。故a的值保持不变。