[Java] Unterschied zwischen der Zuweisung der Basistypvariablen und der Zuordnung der Referenztypvariablen

Domo ist Fugito. Auch diesmal ist es ein Beitrag, der auch als Rückblick auf mich dient.

"Zuordnung zur Variablen"

"Zuweisung zur Variablen" dient dazu, einen Wert für die Variable festzulegen Machen.

Zuordnung zu "Basistypvariable"

Eine grundlegende Typvariable ist eine "Variable, die den Wert selbst enthält". Wenn Sie beispielsweise der Variablennummer vom Typ int 3 zuweisen, lautet die Nummer Der beizubehaltende Wert ist 3.


 int number = 3; // Ersetze die Zahl durch Ganzzahl 3

Zuordnung zu "Referenztypvariable"

Eine Referenztypvariable wird "im Speicher des Computers zugeordnet". Verweis auf einen bestimmten Bereich (Objekt) (Position des Objekts) Eine Variable, die die Positionsinformationen enthält.


 String word = "Qiita"; // Ordne den String "Qiita" dem variablen Wort zu?

Im obigen Beispiel wird die Zeichenfolge "Qiita" dem Variablenwort vom Typ "Zeichenfolge" zugewiesen. Sieht so aus. Mit anderen Worten, der Wert, den das variable Wort enthält Sieht aus wie die Saite "Qiita". In der Realität ist der Wert, den das variable Wort enthält, jedoch "String type of" Ein Verweis auf das Projekt. " Das heißt "Computerspeicher Standortinformationen des Bereichs zum Speichern der oben gesicherten Zeichenfolge "Qiita" Das variable Wort hat.

Der Unterschied in den Werteigenschaften einer Variablen besteht darin, dass "die Variable einer anderen Variablen zugewiesen wird. Es erscheint sichtbar beim "Ersetzen".

"Weisen Sie diese Variable einer anderen Variablen zu"

int i = 21;
 int k = i; // Weisen Sie den Wert der Variablen i der Variablen vom Typ int k zu
 int i = 30; // 30 der Variablen i neu zuweisen

 //StringBuilder型変数sb1(参照型変数)を宣言
StringBuilder sb1 = new StringBuilder();
 sb1.append ("Qiita"); // Fügen Sie dem Objekt, auf das sb1 verweist, die Zeichenfolge "Qiita" hinzu
 StringBuilder sb2 = sb1; // Ersetze sb2 durch den Wert von sb1
 sb1.append ("★"); // Fügen Sie die Zeichenfolge "★" zu dem Objekt hinzu, auf das sb1 verweist

 System.out.println (i); // Ausgabe "30"
 System.out.println (k); // Ausgabe "21"
 System.out.println (sb1); // "Qiita ★" ausgeben
 System.out.println (sb2); // "Qiita ★" ausgeben

Grundlegende Typvariablen sind "Variablen, die den Wert selbst enthalten". aus diesem Grund, Im obigen Beispiel, wenn i an diesem Punkt der Variablen vom Typ int k zugewiesen ist Der von i gehaltene Wert (21) wird zugewiesen und gehalten. Selbst wenn 30 i neu zugewiesen wird, ändert sich daher der Wert von k nicht und bleibt bei 21. Wird sein. Andererseits sind Referenztypvariablen "Variablen, die Verweise auf Objekte enthalten". Es ist. Wenn daher sb2 durch sb1 ersetzt wird, "bezieht sich das o, auf das sich sb1 bezieht "Referenz zum Objekt" wird als Wert vergeben. Ehefrau Und "Positionsinformationen des von sb1 gehaltenen Objekts", auch sb2 Es wird auch beibehalten. Daher das Objekt, auf das sb1 verweist Das gleiche Objekt bei der Ausgabe nach dem Hinzufügen der Zeichenfolge "★" zu Es gibt auch eine Änderung in sb2, auf die Bezug genommen wird.

Zusammenfassung

-Basic-Typvariablen enthalten "Wert selbst" als Wert -Referenztypvariablen enthalten "Referenz auf Objekt" als Wert ・ Der Unterschied in den Eigenschaften der beiden Variablentypen ist "der Wert dieser Variablen in einer anderen Variablen". Wenn "ersetzt wird"

... Dann diesmal hier. Es war Fugi.

(S.) Wenn Sie Vorschläge für den Inhalt des Artikels haben Bitte zögern Sie nicht, mich m (_ _) m zu informieren

Recommended Posts

[Java] Unterschied zwischen der Zuweisung der Basistypvariablen und der Zuordnung der Referenztypvariablen
Unterschied zwischen primitivem Typ und Referenztyp
[Java] Unterschied zwischen "endgültiger Variable" und "unveränderlichem Objekt"
Java-Überprüfung ③ (grundlegende Verwendung von Arrays / Referenztyp)
Basisdatentyp und Referenztyp
[Java] Unterschied zwischen == und gleich
Informationen zum Java-Grunddatentyp- und Referenztypspeicher
[Docker-compose] Unterschied zwischen env_file und Umgebung. Informationen zur Priorität der Anwendung von Umgebungsvariablen
[Java] Unterschied zwischen Hashmap und HashTable
Grundlegende Datentypen und Referenztypen (Java)
Unterschied zwischen Instanzvariable und Klassenvariable
[JAVA] Unterschied zwischen Abstract und Interface
[Java] Unterschied zwischen Array und ArrayList
Java-Basisdatentypen und Referenztypen
[Java] Unterschied zwischen Closeable und AutoCloseable
[Java] Unterschied zwischen StringBuffer und StringBuilder
[Java] Unterschied zwischen Stapelüberlauffehler und Speichermangel
[Java] Unterschied zwischen Länge, Länge () und Größe ()
Unterschied zwischen final und Immutable in Java
Unterschied zwischen Ruby-Instanzvariable und lokaler Variable
[Hinweis] Zusammenarbeit zwischen Java und DB (Basic)
[Grundkenntnisse in Java] Informationen zur Typkonvertierung
[Java] Unterschied zwischen Intstream-Bereich und rangeClosed
Unterschied zwischen int und Integer in Java
[Java] Verstehe den Unterschied zwischen List und Set
[Java] Persönliche Zusammenfassung der Klassen und Methoden (grundlegend)
Unterschied zwischen next () und nextLine () in Java Scanner
Unterschied zwischen Mitglied und Sammlung von Schienen route.rb
progate java L1 grundlegende Zusammenfassung cosole.log, Unterschied zwischen Variablen und Konstanten, if-Anweisung
[Java] Datentyp ①-Basistyp
Unterschied zwischen vh und%
Unterschied zwischen i ++ und ++ i
Fühlen Sie den Grundtyp und Referenztyp leicht mit Rubin
Deklaration / Initialisierung / Datentyp der Java-Variablen (Cast und Promotion)
[Java] Unterschied zwischen statischem final und final in Mitgliedsvariablen
[JAVA] Was ist der Unterschied zwischen Schnittstelle und Zusammenfassung? ?? ??
Fühlen Sie den Grundtyp und Referenztyp leicht mit Rubin 2
[Java-Anfänger] Unterschied zwischen Länge und Länge () ~ Ich weiß nicht ~
Unterschied zwischen Produkt und Variante
Unterschied zwischen redirect_to und render
Unterschied zwischen Java und JavaScript (wie man den Durchschnitt findet)
Unterschied zwischen redirect_to und render
Unterschied zwischen CUI und GUI
Unterschied zwischen Variablen und Instanzvariablen
Unterschied zwischen Mockito-Core und Mockito-All
Unterschied zwischen Klasse und Instanz
Unterschied zwischen Bundle und Bundle-Installation
[Java] Überprüfen Sie den Unterschied zwischen orElse und orElseGet mit IntStream
Unterschied zwischen ArrayList und LinkedList
Unterschied zwischen render und redirect_to
Unterschied zwischen List und ArrayList
Java Generics T und? Unterschied
Vor- und Nachteile von Java
Unterschied zwischen .bashrc und .bash_profile
Unterschied zwischen StringBuilder und StringBuffer
Unterschied zwischen render und redirect_to