67,512
社区成员
发帖
与我相关
我的任务
分享
// int sum=++s+b++%b--*++a+c++;
// int sum1=(++s)+b++%b--*(++a)+c++;
// int sum1=(s+1)+b%(b+1)*(a+1)+c;
// int sum1=(s+1)+(b%(b+1))*(a+1)+c;
// int sum1=(s+1)+(b%(b+1))*(a+1)+c;
int sum1=1+(-4%-3)*3+1;
public static void main(String[] args) {
int a = 2;
int b = -4;
int c = 1;
int s = 0;
int sum = ++s + b++ % b-- * ++a + c++;
/**
* 按照java的运算符优先级 ++/-- > * / % >+ -
* 所以运算顺序如下
* ++s 先加后用 b--先用后减
* sum = ++s + b++ % b-- * ++a + c++
* ① 因为 ++ -- 的运算符优先级最高所以 先运算 ++ --
* sum = 1 + -4 % -3 * 3 + 1
* 此时 s = 1 b = (-3)-- = -4
* a = 3 c = 2
* ② * % 的处于此运算公式的第二优先级,从左到右
* 因此先运算 -4 % -3 = -1
* 在运算 -1 * 3 = -3
* sum = 1 + -3 + 1;
* ③ sum = 1 - 3 + 1 = -1
*
*/
System.out.println("a:" + a);
System.out.println("b:" + b);
System.out.println("c:" + c);
System.out.println("s:" + s);
System.out.println("sum:" + sum);
}