理解Java程序

3
2个回答

1
以这种方式看待它,每个表达式都有自己的变量(除了-1)。
long a = (long) -1; // a = -1
int b = (int) a;    // b = -1
int c = -b;         // c = 1
int d = (char) c;   // d = 1
int i = (int) d;    // i = 1 (implicit conversion)

0

如果我没有错的话,

int i = (char) - (int) + (long) - 1;

实际上等同于

int i = (char)(-(int)(+((long)(- 1))));

由于-1和1可以很好地适应表达式中使用的所有数据类型,因此我们可以省略强制转换以获得

int i = -(+(- 1));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接