Dieser Artikel bietet Ihnen eine Einführung in Java-Datentypen und -Zeichensätze. Ich hoffe, dass er für Freunde hilfreich ist.
Was ist ein Datentyp?
Ein einfaches Verständnis ist der Datentyp.
was? Wie können Daten Typen haben? Sind Daten nicht nur ein Bytecode, der aus 0 oder 1 besteht?
Ja, in einem Computer können nur 0 oder 1 gespeichert werden. Das heißt, aus Speichersicht gibt es tatsächlich keinen Typ nur 0 oder 1. Bestehend aus Bytecode.
Warum gibt es dann Datentypen?
Denn Typen entsprechen Programmierern (Personen), die Daten in verschiedene Typen unterteilen, um das Verständnis und die Berechnung zu erleichtern.
Zum Beispiel:
int a = 0x61; char b = 0x61; float c = 0x61; double d = 0x61; System.out.println(a+" "+b+" "+c+" "+d);
Das Ausgabeergebnis ist: 97 a 97,0 97,0.
Vier verschiedene Arten von Variablen erhalten den gleichen Bytecode 0x61, aber die Ausgabe ist tatsächlich unterschiedlich! Warum?
Weil Programmierer (Menschen) der Hexadezimalzahl 0x61 einen Typ oder eine Bedeutung gegeben haben.
Warum müssen wir einen Typ (eine Bedeutung) zuweisen? Der Zweck besteht darin, den Bytecode von 0 oder 1 zu ermöglichen, etwas Spezifischeres darzustellen oder ihn auf etwas abzubilden, das Menschen verstehen können.
Ohne den Typ festzulegen, können Sie jedoch auch verschiedene Operationen auf der Nummer 0x61 durchführen. . . was ist der Sinn?
Es ist von praktischer Bedeutung, eine ganze Zahl zu addieren, zu subtrahieren, zu multiplizieren und zu dividieren. Es ist jedoch von praktischer Bedeutung, eine Binärzahl zu verarbeiten. Dinge, die Menschen nicht verstehen können, sind bedeutungslos.
Was sind also Datentypen?
Es ist die Art und Weise, wie Menschen Daten betrachten, wie Menschen Daten verstehen und wie Menschen Daten spezifizieren. Dies ist der Datentyp.
Der Grund, warum Daten Typen haben, hängt von der Meinung der Menschen ab, nicht von den Daten selbst. Die Daten selbst haben keinen Typ.
Warum ist die Ausgabe des oben genannten Programms anders?
Weil die Ausgabe darin besteht, die Daten in das Format zu ändern, das die Leute wollen und sie anderen anzuzeigen.
Woher weiß ein Computer, welches Format eine Person möchte? Nach Datentyp!
Wenn 0x61 als int-Typ angegeben wird, weiß der Computer, dass er die Dezimalzahl 6*16+1 = 97 anzeigen soll.
Wenn 0x61 als Zeichentyp angegeben ist, weiß der Computer, dass er das Zeichen „a“ anzeigen soll, das dem ASCII-Code entspricht, der durch die Dezimalzahl 6*16+1 = 97 dargestellt wird.
Obwohl es sich im Computer um denselben Bytecode 0x61 handelt, gibt der Computer unterschiedliche Ergebnisse zurück, da Menschen den Typ festlegen.
Aus der Perspektive der Kodierung und Dekodierung
Kodierung ist die Umwandlung von Informationen von einer Form oder einem Format in eine andere. Dies Die Art des Prozesses, die Dekodierung, ist die Umkehrung der Kodierung.
Konkret geht es bei der Kodierung darum, Dinge, die Menschen verstehen, in Dinge umzuwandeln, die Computer verstehen, während bei der Dekodierung Dinge, die Computer verstehen, in Dinge umgewandelt werden, die Menschen verstehen.
Was verstehen Computer? Wir verstehen nur 0 und 1, was ist mit den Menschen? fast alles.
Was ist die Brücke, die zwischen ihnen umgewandelt werden soll? Es ist der Datentyp! Nur durch die Festlegung der Art der Daten und die Festlegung, wie von Menschen verstandene Dinge in von Computern verständliche Bytecodes umgewandelt werden, können Menschen diese Konvertierung abschließen!
Beispiel:
Für die Zahl 97 können Menschen sie als Dezimalzahl verstehen, aber der Computer kann nur 0 oder 1 verstehen. Wie kann man also dafür sorgen, dass der Computer sie versteht? Code 97. Wie? Wenn Sie die Binärkodierung verwenden, wird 97 zur Zahl 1100001. Auf diese Weise kann der Computer den Binärcode 1100001 verstehen (speichern und berechnen). Wie verstehen Menschen den Binärcode 1100001? Wenn der Computer die Zahl anzeigt, dekodiert er die Zahl 1100001 binär und dekodiert sie in 97, und die Leute können sie verstehen. Der Grund, warum sie konvertiert werden kann, liegt darin, dass die Regeln für die binäre Kodierung und Dekodierung festgelegt sind und dies festgelegt ist ist eine ganze Zahl. Was das Zeichen „a“ betrifft, verstehen die Leute es als Kleinbuchstaben „a“. Wie bringt man es dazu, dass der Computer es versteht? Oder Codierung? Welcher Code? ASCII-Code kodieren, der ASCII-Code von 'a' ist 1100001, damit der Computer wieder verstehen (speichern und berechnen) kann. Wie kann der Computer es den Menschen ermöglichen, 1100001 zu verstehen, zu dekodieren! Dekodieren Sie ASCII und es wird zu „a“, damit die Leute es wieder verstehen können! .
Verschiedene Dinge können mit unterschiedlichen Kodierungsmethoden denselben Binärcode erhalten, und derselbe Binärcode kann mit unterschiedlichen Dekodierungsmethoden als unterschiedliche Dinge verstanden werden!
Was sind Datentypen im Wesentlichen?
ist eigentlich die Art und Weise, Daten zu kodieren und zu dekodieren! ! !
Was ist schließlich ein Zeichensatz?
ist die Möglichkeit, Zeichen zu kodieren und zu dekodieren!
Verschiedene Zeichensätze legen die Kodierungs- (Umwandlung von Zeichen in Binärzahlen) und Dekodierungsmethoden (Umwandlung von Binärzahlen in Zeichen) von Zeichen fest.
System.out.println("你好".getBytes("utf-8") ); System.out.println("你好".getBytes("gbk") );
Ausgabe:
[B@677327b6
[B@14ae5a5
Sie können sehen, dass unterschiedliche Zeichensätze (utf-8 und gbk) dasselbe Chinesisch enthalten „Hallo“ ist in einen anderen Binärcode kodiert.
Natürlich ist die obige Ausgabe nicht 0 und 1, es ist offensichtlich kein Binärcode. . . Das liegt daran, dass der Computer den ASCII-Code verwendet, um den Binärcode für Sie zu dekodieren, wenn er ihn anzeigt. . . Alles in ASCII-Zeichen umgewandelt. Warum? Ich möchte nicht, dass es dekodiert, aber Anzeigen ist Dekodieren! ! !
Natürlich können Binärzeichenfolgen mit einigen Techniken ausgegeben werden, aber das ist nicht der Punkt und wird hier nicht behandelt.
Zuletzt
In welchem Bereich wendeten Computer erstmals Kodierung und Dekodierung an?
Assemblersprache!
Computerbefehle sind ebenfalls Binärcodes. Englische Wörter in Assemblersprache in Binärcodes umzuwandeln ist Kodierung, und Binärcodes in Assemblersprache-Wörter umzuwandeln ist Dekodierung!
Das obige ist der detaillierte Inhalt vonEinführung in Java-Datentypen und Zeichensätze. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!