Bonjour à tous

j'ai deux petit programmes, j'arrive pas à comprendre la différence entre les résultats , malgré qu'ils suivent la même logique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
public static void f(int n){
n = -10;
}
public static void main(String[] args){
int n = 1;
f(n);
System.out.println(n);
}
ce programme affiche 1

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
public static void f(int[] w){ // 
w[0] = -10;
}
public static void main(String[] args){
int[] t = new int[5]; //
t[0] = 1;
f(t);
System.out.println(t[0]);
}
par contre ce dernier affiche -10

malgré qu'ils suivent la même logique , les résultats sont différents