在下面的代码中,当我在'tos'之后放置++运算符时,我收到了一个错误。但如果我把它放在'tos'之前,代码就会运行。为什么会这样?
void push(int item){
if(tos==9)
System.out.println("The stack is full");
else
stck[++tos]=item;
}
答案 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增量和预增量。