Ich lese ein Buch für Java, das ich zu lernen versuche, und ich habe eine Frage. Ich kann nicht verstehen, was der Unterschied zwischen dem Variablentyp char
und String
ist. Beispielsweise gibt es einen Unterschied zwischen int
und short
, den Bytes im Speicher und dem Zahlenbereich, den sie haben.
Aber was ist der Unterschied zwischen char
und String
? außer dass char
use (') und "String" (") ist.
PS: Es ist meine erste "echte" Programmiersprache. (In der Schule lernte ich eine falsche Sprache zum Zweck der Programmierstunde.)
char
ist ein Zeichen. String
ist null oder mehr Zeichen.
char
ist ein primitiver Typ. String
ist eine Klasse.
char c = 'a';
String s = "Hi!";
Beachten Sie die einfachen Anführungszeichen für char
und doppelte Anführungszeichen für String
.
char
steht für ein einzelnes Zeichen. In Java ist das UTF-16-Zeichen .String
kann als ein Array von Zeichen gedacht werden.
Stellen Sie sich also "Android" vor. Es besteht aus 'A', 'n', 'd', 'r', 'o', 'i'
und wieder 'd'
Zeichen.
char
ist ein primitiver Typ in Java und String
ist eine Klasse, die ein Array von chars
enthält.
Im Laienbegriff ist char
ein Buchstabe, während String
eine Sammlung von Buchstaben (oder einem Wort) ist. Die Unterscheidung von '
und "
ist wichtig, da 'Test'
in Java illegal ist.
char
ist ein primitiver Typ, String
ist eine Klasse
Ich würde Ihnen empfehlen, die auf der Oracle-Website gehostete Java-Tutorialdokumentation durchzulesen, wenn Sie Zweifel bezüglich Java haben.
Sie können ein klares Verständnis der Konzepte erlangen, indem Sie die folgenden Lernprogramme durchgehen:
Ein Zeichen enthält ein einzelnes Zeichen, während eine Zeichenfolge viele Zeichen enthält.
char
ist ein primitiver Typ, der ein einzelnes Zeichen enthalten kann.
String
ist stattdessen ein Referenztyp, also ein ausgewachsenes Objekt. Es kann eine beliebige Anzahl von Zeichen enthalten. (Intern speichern String
-Objekte sie in einem char
-Array).
Primitive Typen in Java haben Vorteile in Bezug auf Geschwindigkeit und Speicherbedarf. Da es sich jedoch nicht um echte Objekte handelt, gibt es einige Möglichkeiten, die Sie verlieren, wenn Sie sie verwenden. Sie können nicht als Parameter für generische Typen verwendet werden, sie können keine Methoden oder Felder haben und so weiter.
Jeder Java-Grundtyp hat jedoch ein entsprechendes vollwertiges Objekt, und die Konvertierung zwischen ihnen wird vom Compiler automatisch durchgeführt (dies wird als Autoboxing bezeichnet).
Sie können zum Beispiel tun:
int i=12;
Integer l=i;
Der Compiler sorgt für die Konvertierung der int
in eine Integer
.
zeichen haben nur ein Zeichen (Buchstaben, Zahlen, ...)
char example = 'x';
zeichenfolge kann null oder beliebig viele Zeichen enthalten
String example = "Here you can have anything";
Char ist ein einzelnes Alphabet, wobei String eine Folge von Zeichen ist. Char ist ein primitiver Datentyp, wobei String eine Klasse ist.