我想问一个简单的问题。
我提供了一个非常简单的计算示例,我收到的结果与我的预期不同。有人可以解释我做错了哪一步吗?
public static void main(String[] args) {
int x =1;
int y = 101;
int a = 2;
int z = ++y + y * a << 3 *2 * ++x + (x+=2);
/*
Step 1 int z = ++y + y * a << 3 *2 * ++x + (3);
Step 2 int z = 102 + 102 * 2 << 3 *2 * 4 + (3);
Step 3 int z = 102 + 204 << 24 + (3);
Step 4 int z = 306 << 27;
Expected:41,070,624,768
*/
System.out.println(z);
//Actual: 20,054,016
}
慕的地8271018
相关分类