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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杜加璇 中级黑马   /  2013-4-3 14:37  /  1546 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杜加璇 于 2013-4-3 17:00 编辑

public class My {

        public static void main(String[] args) {
                System.out.println(6 & 1);

        }

}    为什么 打印结果是1?       101
                                                001         相同为true 不同为false应该是3啊为什么呢
                                                
                                                

点评

6=101????  发表于 2013-4-3 15:12

8 个回复

倒序浏览
本帖最后由 曹睿翔 于 2013-4-3 14:53 编辑

咳咳,6的二进制是110,1*2^2+1*2^1+0*2^0=6,而1*2^2+0*2^1+1*2^0=5
还有结果是0不是1,{:soso_e126:}
回复 使用道具 举报
  101
&
  001
------
001
逻辑与运算符 &
        简单记:同时为true,结果为true。
回复 使用道具 举报
  哥们飘过
回复 使用道具 举报
6的二进制是110,逻辑运算符与&,只要都是真就为真,结果固然是1.

虽然这个问题是简单的,但是我想还是需要大家多巩固,
同时也不忘相关的知识点的回顾.

附带一些运算符的有用结论:

________________________________________________________________________________
逻辑与运算符 &
               
                第一个条件    第二个条件     结果
                true          true                         true
                false         true           false
                true          false          false
                false         false          false

                简单记:同时为true,结果为true。

________________________________________________________________________________
逻辑或运算符 |
               
                第一个条件    第二个条件     结果
                true          true                         true
                false         true           true
                true          false          true
                false         false          false

                简单记:同时为false,结果为false。

________________________________________________________________________________
逻辑异或运算符 ^
               
                第一个条件    第二个条件     结果
                true          true                         false
                false         true           true
                true          false          true
                false         false          false

                简单记:同时为同一种情况,结果为false。

________________________________________________________________________________

逻辑非运算符 !
               
                !true  false
                !false true
                !!true true


________________________________________________________________________________

短路与:

                &:左边无论什么结果,右边都执行。
                &&:左边为false,右边不执行,结果为false。


                短路或:
                |:左边无论什么结果,右边都执行。
                ||:左边为true,右边不执行,结果为true。



回复 使用道具 举报
public class My {

        public static void main(String[] args) {
                System.out.println(6 & 1);

        }

}   


6&1  算法如下:
     
       1 1 0
  &   0 0 1
--------------------------
       0 0 0
所以结果为0

&  的算法是  真&真=真; 假&假=假; 真&假=假;
回复 使用道具 举报
110
&
  001
------
000

逻辑与运算符 &
        简单记:同时为true,结果为true。

楼主我也被你误导了 6的二进制是110,
回复 使用道具 举报
梁志兵 发表于 2013-4-3 15:03
110
&
  001

不好意思 整错了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马