黑马程序员技术交流社区

标题: java运算符的问题 [打印本页]

作者: 李贤    时间: 2012-4-15 08:44
标题: java运算符的问题
请问一下,java 运算符 | 和 & 运算过程的咋样的?最好举个例子!
作者: 陈志伟    时间: 2012-4-15 08:48
1、 按位或运算(|):二元运算符。当被运算的两个值都为0时,运算结果为0;否则为1。
2、 按位与运算(&):二元运算符。当被运算的两个值都为1时,运算结果为1;否则为0。
给你个例子:

| 运算过程如下:
0101   (expression1)
1100   (expression2)
----
1101   (结果)

& 运算过程如下:
0101   (expression1)
1100   (expression2)
----
0100(结果)

作者: 马强    时间: 2012-4-15 09:28
& : 只要两边的boolean表达式结果,有一个为false。那么结果就是false。  (可以这么记,只要有0,&以后肯定是结果0)
| : 两边只要有一个为true,结果为true。(就是常说的或者,或者代表有一个成立就行)

楼主还有一个异或我也说一下
跟|差不多,就是真真的时候为假(真 | 真 = 假)

作者: wang耀雨    时间: 2012-4-15 10:00
|和&都属于逻辑运算符,用于连接boolean型的表达式,如下:

true&true=true;false&false=false;true&false或false&true=false;注:只要两边的boolean表达式结果,有一个为false,那么结果就是false,只有两边都为true结果才true。

true|true=true;false|true=true;false|false=false;注:两边只要有一个为true,结果为true,只有两百年 都有false结果为false。

在运算具体数值的时候,首先一定要保证数据是二进制的形式,然后1就代表true,0就是false,运算规则就如上所述了。希望对你有帮助哦!
作者: 王永旺    时间: 2012-4-15 10:20
1、 |或运算,当被运算的两个值都为0( false也可以看做为0 )时,运算结果为0;否则为1。
      这个逻辑相当于汉字里面的“或”,既判断a或b是否有一个为1,注意是逐位判断的。
        例:
           0101
                 1010
                ———
            1111
2、 与运算(&):二元运算符。当被运算的两个值都为1时,运算结果为1;否则为0。
这个逻辑相当于汉字里面的和,既a和b是否都为1的意思。
例:
    0101
      1010
     ————
    0000




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2