Java 变量的后增量

Java 变量的后增量,java,operators,Java,Operators,有人能解释一下我为什么会受伤吗 error: unexpected type System.out.println("PostFixOperators for b with addition of a "+b++ +=a); required: variable found: value 在编译时运行此代码 public class PostFixOperators { static int a, b ; public static void

有人能解释一下我为什么会受伤吗

error: unexpected type
  System.out.println("PostFixOperators for b with addition of a "+b++ +=a);
  required: variable
  found:    value
在编译时运行此代码

public class PostFixOperators {
         static int a, b ;
        public static void main(String arv[]) {
            System.out.println("PostFixOperators for a "+ a++);
            System.out.println("PostFixOpearators for b with addition of a "+b++ +=a);
        }
    }

b++++=a将不会编译,因为b++不是变量。它只是增量之前的b值。

任何x=运算符,如+=,*=。。。等等都只是一条捷径

比如:

a+=5

指:

a=a+5

换句话说:在操作符的左边需要一些可以赋值的东西。但是b++不是这样的东西。因为它不再是一个变量:

b++是一个返回值的表达式。与++b相比


不能将值指定给值

我们不能在打印语句时为变量赋值

int i, x;

i = 2;
x = ++i;
// now i = 3, x = 3

i = 2;
x = i++; 
// now i = 3, x = 2
因为这里提出的问题是屏幕上应该打印什么

它是变量的新值还是 表示任务成功完成的是真还是假

所以你可以这样做

a++=b++; 添加a+a的b的System.out.PrintLnPostFixer定位器


谢谢

您只能对变量使用赋值运算符

b是一个变量 b++是一元运算 然而,以下陈述可能对您有所帮助

System.out.println("PostFixOpearators for b with addition of a " + (b = b++ + a));

注意:在上述代码中使用后缀是没有用的,因为赋值完成后该值将被覆盖。但是,当您遇到需要以类似方式使用前缀的情况时,可以使用它。

这不是有效的Java语法。你这样说的目的是什么?现在还不清楚为什么要写…+b++++=a这样的东西,因为b++不是一个变量,它是b递增之前的旧值。将a++的值存储在变量a中,对b执行同样的操作,然后打印出来。后缀运算符是