我有以下代码:
public class Book {
private static int sample1(int i) {
return i++;
}
private static int sample2(int j) {
return ++j;
}
public static void main(String[] arguments){
int i = 0;
int j = 0;
System.out.println(sample1(i++)); //0
System.out.println(sample1(++i)); //1
System.out.println(sample2(j++));//1
System.out.println(sample2(++j));//2
System.out.println(i);//2
System.out.println(j);//2
}
}
我的期望输出在注释中。实际输出如下:
0
2
1
3
2
2
我对函数调用和自增运算符感到困惑。有人能够友好地解释一下实际结果吗?
return i;
,而sample2是return j + 1
,对吧?哎呀!错别字已经修正。谢谢@ElliottFrisch。 - David Ehrmann