2011-10-31 130 views

回答

0

如果我没有记错的话,

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

实际上相当于

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

因为-1和1个很好地融入在表达式中使用的所有数据类型,我们可以删除要获得的演员表

int i = -(+(- 1)); 
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)