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执行同样的操作,然后打印出来。后缀运算符是