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 answers

Ich 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?

Antworten auf die Frage(7)

Ihre Antwort auf die Frage