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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 aerkadiya 于 2013-6-9 21:46 编辑

class Demo
{
        public static void main(String[] args)
        {
                int x=1,y=1;
                if(x++=2 & ++y=2)
                {
                        x=7;
                }
                System.out.println("x="+x+" , y="+y);
        }
}

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

6 个回复

正序浏览
谢谢各楼的解答,学习啦
回复 使用道具 举报
楼主你好  如果帖子的问题已经解决,请把帖子的类型改为“已解决”。{:soso_e102:}
回复 使用道具 举报
本帖最后由 李阳阳 于 2013-6-9 14:33 编辑

& 是两边都得运算  ,&&的话是如果左面为假,右边的就不参与运算了,
所以如果是if(x++==2 & ++y==2)的话 ,x和y的最后结果都加1了,就是x=2,y=2;
是if(x++==2 && ++y==2)的话,因为“x++ == 2”不满足条件为假,右边就
不再参与运算了,所以最后为x=2,y=1.

另外就是++a与a++的区别了:
a++就是先拿a的值参与运算,运算完之后a的值再加1,
++a是a先执行加1动作,然后再拿a的值去参与运算。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
x++是x自增 之后  x再赋值为2  &的右边也是 这样计算  两个数按位与(&)结果不是boolean类型 所以 错了 Java的if while for(;条件表达式;) 都要求为boolean类型的  C++ 这些里面  可以不是boolean类型的  C就没有boolean类型  

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
class Demo
{
        public static void main(String[] args)
        {
                int x=1,y=1;
                if(x++==2 && ++y==2)
                {
                        x=7;
                                               
                }
                System.out.println("x="+x+" , y="+y);  //class shuchu
{
        public static void main(String[] args)
        {
                int x=1,y=1;
                if(x++==2 && ++y==2)
                {
                        x=7;
                                               
                }
                System.out.println("x="+x+" , y="+y);   //class shuchu
{
        public static void main(String[] args)
        {
                int x=1,y=1;
                if(x++==2 && ++y==2)
                {
                        x=7;
                                               
                }
                System.out.println("x="+x+" , y="+y);   //x=2,y=1
        }
}

        }
}

        }
}

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
本帖最后由 亮吖 于 2013-6-5 23:56 编辑

1x和y跟2比较要用双等于号 与要用&&if(x++==2&&++y==2)

打印出来x=2,y=1

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 新人加油

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马