suchen
HeimJavajavaLernprogrammAnalyse des Unterschieds zwischen Wertübergabe und Referenzübergabe in Java (mit Code)

Der Inhalt dieses Artikels befasst sich mit der Analyse des Unterschieds zwischen Wertübergabe und Referenzübergabe (mit Code). Ich hoffe, dass dies der Fall ist Dir helfen.

Wert übergeben (Wert übergeben) bezieht sich auf die Übergabe der tatsächlichen Parameter Kopieren und übergeben Sie es an die Funktion, sodass die tatsächlichen Parameter nicht beeinträchtigt werden, wenn die Parameter in der Funktion geändert werden. Das übertragene Objekt ist häufig eine grundlegende Datenstruktur, beispielsweise ein Ganzzahl-Gleitkomma-Zeichentyp.

public class PassByValueReference {
	//值传递
	public static void main(String[] args) {
		int x = 9;
		pass(x);
		System.out.println(x);
	}
	
	private static void pass(int y) {
		System.out.println(y);
		y=0;
	}
}

Das Folgende ist das laufende Ergebnis: (Die Änderung des Werts der Ganzzahl y hat keinen Einfluss auf den Wert der Ganzzahl x)

Referenz übergeben (Referenz übergeben ) bezieht sich auf die Übergabe der Adresse der tatsächlichen Parameter Wenn Sie die Funktion direkt aufrufen, wirken sich die an den Parametern in der Funktion vorgenommenen Änderungen auf die tatsächlichen Parameter aus. (Ähnlich einer Community) Das übertragene Objekt ist häufig eine Adressdatenstruktur wie beispielsweise ein Array.

public class PassByValueReference {
        //引用传递
	public static void main(String[] args) {
		int [] x = {9};
                System.out.println(x[0]);
		pass(x);
		System.out.println(x[0]);
	}
	
	public static void pass(int [] y) {
		y[0] = 0;
	}
}

Das Folgende ist das laufende Ergebnis: (Änderungen im Wert von Array y wirken sich auch auf den Wert von Array x aus)

(Wert Übertragung und Referenzübertragung werden in Computerdatenstrukturen verwendet.

Wenn Sie noch nicht mit den Kenntnissen über Funktionen und Methoden in Java in Berührung gekommen sind, können Sie diese einfach verwenden Zuweisung zum Verständnis: (Die laufenden Ergebnisse ähneln den oben genannten)

public class PassByValueReference {
	//值传递(赋值非函方式)
	public static void main(String[] args) {
	    int x = 9;
            System.out.println(x);
	    y = x;
            y = 10;
	    System.out.println(x);
	}
}

Hier sind x und y grundlegende Datentypen. Nach der Zuweisung wird der Wert von x an y übergeben, was dem Erstellen einer Kopie entspricht. anstatt das gesamte x (d. h. die x-Adresse) an y zu übergeben.

public class PassByValueReference {
        //引用传递(赋值非函方式)
        public static void main(String[] args) {
		int [] x = {1};
		System.out.println(x[0]);
		int [] y = x;
		y[0] = 0;
		System.out.println(x[0]);
	}
}

Hier sind x und y Arrays, die nicht einfach x[0]=y[0] setzen, sondern direkt x=y y, das ist gleichbedeutend damit, dass man im „selben Boot“ sitzt und sich gemeinsam verändert. Wenn sich y[0] ändert, ändert sich auch x[0].

Verwandte Empfehlungen:

Detaillierte Erklärung der Java-Wertübergabe und Referenzübergabe

Java-Softwareentwickler lernt PHP -13. Wertübergabe Referenzübergabe

Das obige ist der detaillierte Inhalt vonAnalyse des Unterschieds zwischen Wertübergabe und Referenzübergabe in Java (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.