java 如何将 int 转换为 boolean

How java converts int to boolean

当我转换时:

int B=1;
boolean A=B;

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

但是当我写这段代码时:

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

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

C==1 是一个结果为 boolean 的表达式(它是比较运算符)。它 returns true 如果 C 等于 1 并且 false 否则。

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

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

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

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