14 Stimmen

Ändern der Werte von Variablen in Methoden, Java

Ich habe eine Frage zum Ändern der Werte von Variablen in Methoden in Java.

Dies ist mein 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);
    }
}

Nach der Ausführung der Methode Test.funk(bird, tiger) wird der Wert von bird nicht geändert - er bleibt bei dem Wert 10 auch wenn in der funk() Methode haben wir den Wert mit a = b[0] + 5;

Andererseits ändert sich der Wert des Elements im Array, denn wir haben die Anweisung b[0] = b[0] * 2;

Ich verstehe nicht, warum sich die eine Sache ändert und die andere nicht? Könnte mir das bitte jemand erklären?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X