java如何将int转换为boolean

时间:2015-07-09 05:31:18

标签: java casting int boolean

当我转换时:

int B=1;
boolean A=B;

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

但是当我写这段代码时:

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

它给出了错误 而如果我将C的值更改为1则表示真实。 我不明白编译器是如何做的。

3 个答案:

答案 0 :(得分:4)

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是一个布尔值,这是一个正确的陈述

答案 1 :(得分:3)

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

因此,boolean A=C==1;是对boolean变量的boolean值的有效分配。

答案 2 :(得分:2)

首先检查c==1,然后将结果分配给A

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