J'ai une question sur la modification des valeurs des variables dans les méthodes en Java.Modification des valeurs des variables dans les méthodes, Java
Ceci est mon code:
public class Test {
public static void funk(int a, int[] b) {
b[0] = b[0] * 2;
a = b[0] + 5;
}
public static void main(String[] args) {
int bird = 10;
int[] tiger = {7};
Test.funk(bird, tiger);
}
}
Après l'exécution de la méthode Test.funk(bird, tiger)
, la valeur de l'oiseau ne change pas - il reste à la valeur 10
, même si dans la méthode funk()
nous avons modifié la valeur avec a = b[0] + 5;
d'autre part, la valeur de l'élément dans les changements de tableau, parce que nous avons la déclaration b[0] = b[0] * 2;
I ne comprends pas pourquoi une chose change et l'autre non? Quelqu'un pourrait-il expliquer cela pour moi?
non, il ne vous aide pas. Java est TOUJOURS valeur de passage. Lisez les liens fournis dans les autres réponses; Vous devez comprendre cela. –
Pour cet exemple, mon explication de base est correcte. J'ai précisé que c'était une explication de base. Si le questionneur veut lire une explication plus en profondeur, les liens sont là pour lui. Je n'ai aucun moyen de dire combien de détails il a besoin, alors pensé qu'il pourrait apprécier le choix. – stephendl
Oui, je l'ai apprécié. J'ai également lu les liens, mais des explications plus courtes sont également utiles pour vous aider à démarrer. Merci à tous. – user42155