A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李贤 注册黑马   /  2012-4-15 08:44  /  1502 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请问一下,java 运算符 | 和 & 运算过程的咋样的?最好举个例子!

4 个回复

倒序浏览
1、 按位或运算(|):二元运算符。当被运算的两个值都为0时,运算结果为0;否则为1。
2、 按位与运算(&):二元运算符。当被运算的两个值都为1时,运算结果为1;否则为0。
给你个例子:

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

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

评分

参与人数 1技术分 +1 收起 理由
岳民喜 + 1

查看全部评分

回复 使用道具 举报
& : 只要两边的boolean表达式结果,有一个为false。那么结果就是false。  (可以这么记,只要有0,&以后肯定是结果0)
| : 两边只要有一个为true,结果为true。(就是常说的或者,或者代表有一个成立就行)

楼主还有一个异或我也说一下
跟|差不多,就是真真的时候为假(真 | 真 = 假)
回复 使用道具 举报
|和&都属于逻辑运算符,用于连接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,运算规则就如上所述了。希望对你有帮助哦!
回复 使用道具 举报
1、 |或运算,当被运算的两个值都为0( false也可以看做为0 )时,运算结果为0;否则为1。
      这个逻辑相当于汉字里面的“或”,既判断a或b是否有一个为1,注意是逐位判断的。
        例:
           0101
                 1010
                ———
            1111
2、 与运算(&):二元运算符。当被运算的两个值都为1时,运算结果为1;否则为0。
这个逻辑相当于汉字里面的和,既a和b是否都为1的意思。
例:
    0101
      1010
     ————
    0000
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马