产生差异的是增量运算符++位于变量之前或变量之后

时间:2016-02-09 07:53:13

标签: java eclipse

在下面的代码中,当我在'tos'之后放置++运算符时,我收到了一个错误。但如果我把它放在'tos'之前,代码就会运行。为什么会这样?

void push(int item){
if(tos==9)
    System.out.println("The stack is full");
else
    stck[++tos]=item;
}

3 个答案:

答案 0 :(得分:4)

  • ++tos表示增量tos,然后返回expression值。
  • tos++表示返回expression值,然后递增tos。

答案 1 :(得分:2)

a ++将返回a并递增它,++ a将递增a并返回它。

http://www.sanity-free.com/145/preincrement_vs_postincrement_operators.html

答案 2 :(得分:1)

tos ++和++ tos都会增加它们应用的变量。 tos ++返回的结果是递增前变量的值,而++ tos返回的结果是应用增量后变量的值。

示例:

public class IncrementTest{
public static void main(String[] args){

System.out.println("***Post increment test***");
int n = 10;
System.out.println(n);      // output  10
System.out.println(n++);    // output  10
System.out.println(n);      // output  11

System.out.println("***Pre increment test***");
int m = 10;
System.out.println(m);      // output  10
System.out.println(++m);    // output  11
System.out.println(m);      // output  11
}
}

有关详情,请参阅:http://www.javawithus.com/tutorial/increment-and-decrement-operators或google post增量和预增量。