Java Inkrementelle Operatorabfrage (++ i und i ++) [duplizieren]
Diese Frage hat hier bereits eine Antwort:
Ist Java "Pass-by-Reference" oder "Pass-by-Value"? 78 answersJava wird NIEMALS als Referenz übergeben, richtig?… Richtig? [Duplikat 6 answersIch habe den folgenden Code:
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
}
}
Meine erwartete Ausgabe erfolgt in Kommentaren. Die tatsächliche Ausgabe ist unten:
0
2
1
3
2
2
Ich werde mit den Funktionsaufrufen und dem inkrementellen Operator verwechselt. Kann jemand freundlicherweise das tatsächliche Ergebnis erklären?