当前位置: 代码迷 >> Java相关 >> 一个简单的问题解决不了 啊~~~
  详细解决方案

一个简单的问题解决不了 啊~~~

热度:22   发布时间:2010-10-19 21:05:59.0
一个简单的问题解决不了 啊~~~
public class Shortcut{
    public static void main(String args[]){
        int i=1;
        boolean b;
        b=true||(++i>0);
        System.out.println(b);
        System.out.println(i);
    }
}
为什么输出的结果i的值是1啊??
不是在上面++i的时候i的值不是应该是2么??


[ 本帖最后由 bid2938692 于 2010-10-19 21:22 编辑 ]
搜索更多相关的解决方案: 问题解决  

----------------解决方案--------------------------------------------------------
b=true||(++i>0);
运算符||若左边为真,则不判断右侧,即不执行右侧语句
所以输出i为1
----------------解决方案--------------------------------------------------------
搜噶!
----------------解决方案--------------------------------------------------------
II左边为真,右边不再判断,故还是1
----------------解决方案--------------------------------------------------------
区别 || 和| ,前者只要前面为true,后面的则不参加运算,后者是两者都要运算。祝好运!
----------------解决方案--------------------------------------------------------
只要有一个是真就可以了 就不用再运算
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽
2010-10-31 14:47:22
wdwy277

等 级:论坛游民
帖 子:16
专家分:31
注 册:2009-5-19
  得分:0 
布尔型只有两种情况,ture和false,对应的数值分别是1和0.这个"||"代表逻辑运算,当前面值为真(也就是1)时,后面电脑就不计算了(这种情况就是叫做短路运算),所以就输出来1了。
----------------解决方案--------------------------------------------------------