Java Incremental query do operador (++ iei ++) [duplicado]
Esta pergunta já tem uma resposta aqui:
Java é "passagem por referência" ou "passagem por valor"? 78 respostas Java NUNCA passa por referência, certo? ... certo? [duplicado respostasEu tenho o seguinte 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
}
}
Minha saída esperada está nos comentários. A saída real está abaixo:
0
2
1
3
2
2
Estou ficando confuso com as chamadas de função e o operador incremental. Alguém pode gentilmente explicar o resultado real?