java与运算
⑴ java中的(或运算,异或运算,与运算)解释下
java中或运算、异或运算、与运算的使用实例和解释如下:
publicclassTest{publicstaticvoidmain(String[]args){
//1、左移(<<)
//然后左移2位后,低位补0:
////换算成10进制为20System.out.println(5<<2);//运行结果是20
//2、右移(>>)高位补符号位
//然后右移2位,高位补0:
//
System.out.println(5>>2);//运行结果是1
//3、无符号右移(>>>)高位补0
//例如-5换算成二进制后为:0101取反加1为1011
///
/我们分别对5进行右移3位、-5进行右移3位和无符号右移3位:
System.out.println(5>>3);//结果是0
System.out.println(-5>>3);//结果是-1
System.out.println(-5>>>3);//结果是536870911
//4、位与(&)
//位与:第一个操作数的的第n位于第二个操作数的第n位如果都是1,那么结果的第n为也为1,否则为0
System.out.println(5&3);//结果为1
System.out.println(4&1);//结果为0
//5、位或(|)
//第一个操作数的的第n位于第二个操作数的第n位只要有一个是1,那么结果的第n为也为1,否则为0
System.out.println(5|3);//结果为7
//6、位异或(^)
//第一个操作数的的第n位于第二个操作数的第n位相反,那么结果的第n为也为1,否则为0
System.out.println(5^3);//结果为6
//7、位非(~)//操作数的第n位为1,那么结果的第n位为0,反之。System.out.println(~5);//结果为-6}}
⑵ java中的运算++顺序
int x = -1;
int y =
x++
+
++x ;
我教你一个法,你把程序写成上面的形式,在调试可以看出,程序给先计算x++ 在 ++x 然后它会把 x++运算的结果赋给y。如果 int y = ++x + x++;结果是一样的。
⑶ java中的运算
表达式:1-2/5+12 %5的结果是:3
首先计算的是2/5,这个意思是2除以5,取整数部分,这个值是0,然后计算12%5,这个意思是12除以5,取余数部分,这个值是2,最后再计算1-0+2,所以表达式的值是3
⑷ java的与运算
&是位与运算,是每一位按位与进行运算。在内存比较紧张的时候,某些算法为了节省空间,可能在进行运算的时候采取位与运算,而且位与运算比普通的+ - * / 都要快,节省时间,提高效率
⑸ java中&运算符代表什么
结果是0。
20的二进制补码是:0001 0100,8的二进制补码是0000 1000,然后按位做与运算:0000 0000,转换为十进制就是0。
⑹ java |和&运算符
|是位或运算。规则是把两个数的二进制形式右对齐,对应位上只要有1位是1结果这位上就是1。如3-->011,2-->010,0|0-->0,1|1-->1,1|0-->1,结果就是011-->3了。
⑺ JAVA的位与运算用法
知道位是什么概念不?就是把两个数的每一位做与运算,也就是同时为1是结果为1,否则为0;
你的代码中num1=6,6换成位表示就
是00000110,num2=11,换成位表示是00001011,这两个位运算,他们的最后一位一个是0,一个是1,那么结果的最后一位就是0;倒数
第二位都是1那么结果的倒数第二位就是1,每位如此计算后得到结果为00000010,也就是2
⑻ java中“%”和“/”分别执行什么运算 要详细
% 取余数, 比如10%3 结果为1
/ 除法,取整,比如10/3 结果为3
⑼ java中&和&&是怎么运算的
& 和 && 相同点:
都表示“与”操作。这里的“与”和数学中的“与或非”中的“与”意义相同,都遵循“一假必假”原则。即“与”符号两边的元素只要有一个为假,"与"操作执行后的结果就为假。
& 和 && 的区别:
1)& 表示“按位与",这里的”位“是指二进制位(bit)。
例:十进制数字8 转化为二进制是:1000 ;数字9 转化为二进制是1001 。
则如有以下程序:
public class Test {
public static void main(String[] args) {
System.out.println(9 & 8);
}
}
输出结果应该是:8
原因:1001 & 1000 = 1000 。 计算机中一般1表示真,0表示假。最左边一位1&1=1,最右边一位1&0 = 0.
2) && 表示逻辑”与“ ,即java中的boolean值才可以存在于&&符号的左右两侧。
true && false = false ,true && true = true , 依旧是"一假必假"。
值的注意的是:&& 符号有所谓的“短路原则”,当 A && B 出现时,如果A经判断是假,那么B表达式将不会获得执行或被判断的机会。直接结果就为假。
注:关于十进制与二进制的转换,简单的说每四位可以遵循”8421“原则,1001即8+1=9,1011即8+2+1=11
⑽ java 位运算和逻辑运算区别
逻辑运算用于条件判断 ,java里面逻辑运算的结果是布尔型
位运算其实运算的时候将数据转换成二进制,各种位运算操作符都是对已经在内存中的二进制数据进行运算,关于位运算各种操作可以参考
http://wenku..com/view/23aa394e767f5acfa1c7cdb9.html