【问题标题】:How java converts int to booleanjava如何将int转换为布尔值
【发布时间】:2015-09-27 07:42:57
【问题描述】:

当我转换时:

int B=1;
boolean A=B;

它给出错误:不兼容的类型,这是真的

但是当我写这段代码时:

int C=0;
boolean A=C==1;

它给出了错误 而如果我将 C 的值更改为 1,它会给出 true。 我不明白编译器是怎么做的。

【问题讨论】:

    标签: java casting int boolean


    【解决方案1】:
    int C=0;
    boolean A=C==1;
    

    编译器首先给 C 一个零。

    Variable : C
    Value    : 0
    

    现在是赋值语句,

    我们知道赋值语句首先计算右边的部分,然后把它给到左边。

    右边部分==> C == 1 在这里,这是一个计算结果为truefalse 的表达式。在这种情况下,它是错误的 c is 0.

    所以 R.H.S 是假的。

    现在这被分配给 L.H.S,即 A。

    A = ( C == 1 ) ==> A = false
    

    A 是一个布尔值,这是正确的声明

    【讨论】:

    • 谢谢哥们。它有帮助
    【解决方案2】:

    它首先检查c==1,并将结果分配给A

    因为 C 不是 1,所以表达式值导致分配给 A 的 false

    【讨论】:

      【解决方案3】:

      C==1 是一个表达式,其结果为boolean(它是比较运算符)。如果C 等于1,则返回true,否则返回false

      因此boolean A=C==1;boolean 值对boolean 变量的有效赋值。

      【讨论】:

        猜你喜欢
        • 2011-04-17
        • 2012-02-25
        • 1970-01-01
        • 1970-01-01
        • 2015-05-13
        • 2017-04-15
        • 1970-01-01
        • 2013-07-13
        相关资源
        最近更新 更多