Java Consulta de operador incremental (++ i e i ++) [duplicado]
Esta pregunta ya tiene una respuesta aquí:
Es Java "paso por referencia" o "paso por valor"? 78 respuestasJava NUNCA pasa por referencia, ¿verdad? ... ¿verdad? [duplicar 6 respuestasTengo el siguiente código
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
}
}
Mi salida esperada está en los comentarios. La salida real está debajo:
0
2
1
3
2
2
Me estoy confundiendo con las llamadas a funciones y el operador inicial. ¿Alguien puede explicar amablemente el resultado real?