Char

Allgemein

Der Datentyp Char wird verwendet, wenn man einzelne Zeichen speichern möchte und der restliche Speicherplatz bei einem String nicht benötigt wird. Es können ebenfalls kleine ganze Zahlen gespeichert werden, wobei der zu Verfügung stehende Wertebereich in anderen Programmen relativ klein sein.
Dabei ist zu beachten, dass Char ein Datentyp ohne Vorzeichen ist. Es können also keine negativen Zahlen abgespeichert werden.

Syntax

  • Char wird ein Zeichen zugewiesen in dem es zwischen zwei Hochkommata steht.
  • char a = 'A';
  • Der Wertebereich liegt zwischen 0…65.535.
  • Char ist ein Unicode-Zeichen (UTF-16 bedeutet digitaler Code internationaler Schrifteichen)

In dem Programm wird allerdings die Zahl des jeweiligen Zeichens als int weitergegeben und nicht der Buchstabe gespeichert. Die Zahlenwerte stammen aus der allgemeinen ASCII-Tabelle.
Die Darstellung von 'A' und 65 in Bits sind dabei für den PC identisch.
Das ermöglicht einfache Rechnungen, wo als Ergebnis Buchstaben ausgegeben werden sollen.
Char besteht bei Java aus 16 einzelnen Bits, die aber auch Systembedingt variieren können. Aber unabhängig davon ergibt es immer 2 Bytes.
Allerdings kann sich das je nach Programmiersprache ändern.

Operatoren

Char kann mit verschiedenen Befehlen …

Verwendungsmöglichkeit

Wir hatte den Datentyp Char schon bei der Caeser-Codierung verwendet.
Buchstaben sind dabei mit der ASCII-Tbelle einfach zu ändern.
Meistens wird Char als Kennzahl für Zeichen verwendet.

Dabei wurde dem Char ein Buchstabe zugeordnet …

char a = 'A';

…der nun um eine gewisse Anzahl an Plätzen verschoben werden kann…

a = a + 2;

…nun kommt der Befehl zur Ausgabe der Variabel a…

System.out.println(a);

…und ausgegeben wird…

C

'A' liegt dem System als Zahl vor. Also laut ASCII-Tabelle steht da jetzt a = 65. Wenn zu a also noch 2 dazugezählt werden, haben wir in a jetzt 67 stehen.
Diese Zahl entspricht dem Buchstaben 'C' und so entsteht das Ergebnis.

Quellen

Sofern nicht anders angegeben, steht der Inhalt dieser Seite unter Lizenz Creative Commons Attribution-ShareAlike 3.0 License