可以简化这个条件语句吗?
Possible to simplify this conditional statement?
是否可以使用&&或||,甚至&或|来简化下面的语句?或者 ^?
int result = A ? (B ? 1 : -1) : (B ? -1 : 1);
我相信我可以像这样分配一个临时变量:
boolean C = B ? A : !A; // Also: is it correct that this can be simplified to !(A ^ B)?
然后做:
int result = C ? 1 : -1;
但我很好奇如果没有临时变量是否可行。
你似乎已经有了答案。
int result = !(A ^ B) ? 1:-1
是否可以使用&&或||,甚至&或|来简化下面的语句?或者 ^?
int result = A ? (B ? 1 : -1) : (B ? -1 : 1);
我相信我可以像这样分配一个临时变量:
boolean C = B ? A : !A; // Also: is it correct that this can be simplified to !(A ^ B)?
然后做:
int result = C ? 1 : -1;
但我很好奇如果没有临时变量是否可行。
你似乎已经有了答案。
int result = !(A ^ B) ? 1:-1