变量的后增量

时间:2016-10-12 08:38:19

标签: 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 main(String arv[]) {
            System.out.println("PostFixOperators for a "+ a++);
            System.out.println("PostFixOpearators for b with addition of a "+b++ +=a);
        }
    }

5 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

任何x =运算符(如+ =,* =,...)等都只是一个捷径。

像:

a + = 5;

意思是:

a = a + 5;

换句话说:您需要某些在该运算符的左侧,您可以指定值。但“b ++”并不是这样的事情。因为它不是变量(更多):

“b ++”是一个返回的表达式。 (与++ b相反!)

您无法为值分配值!

答案 2 :(得分:0)

from selenium import webdriver

答案 3 :(得分:0)

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

因为这里提出的问题是应该在屏幕上打印的内容。

是变量的新值还是 是真还是假,表明分配成功完成..

所以你可以这样做..

a + = b ++; System.out.println(“b的PostFixOpearators,加上”+ a);

由于

答案 4 :(得分:0)

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

  1. b是变量
  2. b++是一元行动
  3. 但是,以下声明可能会对您有所帮助。

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

    P.S。:在上面的代码中没有使用PostFix,因为在完成赋值时会覆盖该值。但是,当您遇到需要以类似方式使用PreFix的情况时,可以使用它。