6.5 Der Datentyp char - ASCII-Kode
 
char Deklaration und Initailisierung einer char-Variablen lassen sich wie schon bei den anderen Datentypen kennengelernt, in einer oder in zwei Anweisungen aufteilt darstellen, also:

char zeichen = 'A';

oder

char zeichen;
zeichen = 'A';

Tatsächlich verbirgt sich hinter dem Wert einer char-Variablen eine Zahl, die durch die Typisierung bedingt als Zeichen interpretiert wird. Die Zahl, bei dem Zeichen 'A' ist es die Zahl 65 nennt man den ASCII-Kode des Zeichens 'A'.

ASCII ASCII ist die Abkürzung für American Standard Code for Information Interchange. Insgesamt gibt es 128 solche Zeichen. Jeder Zahl entspricht nach diesem Standard genau ein Zeichen, dabei wird von 0 bis 127 gezählt.  Um auch andere Zeichen (chinesische, arabische, kyrillische etc. darstellen zu können, reicht der ASCII Code nicht mehr aus. Aus diesem Grund gibt es den Unicode, der eine Erweiterung des ASCII-Codes darstellt, diesen also als Teilmenge enthält. Java unterstützt von Anfang an diesen Unicode. Wir werden später darauf zurückkommen.

Die Zahlen 0 bis 127 reichen in der Binärdarstellung von 00000000 bis 01111111. Wir erkennen, dass wir die Zeichen in einem Byte also 8 bit unterbringen. und damit das höchste Bit, also das am weitesten links stehende Bit zunächst nicht besetzen. Tatsächlich benutzt man dieses Bit als sog. Prüfzeichen. Es wird so gesetzt, dass die Anzahl der in der 8 Zeichen umfassenden Speicherbereich vorkommenden 1en eine gerade Zahl ist. Um das Prüfbit per Hand zu setzen, muss man den ASCII-Code in Binärdarstellung kennen.

  Wir schreiben ein Programm, das die ASCII-Codierung der Zahlen 0 bis 127 zeigt.
 
Download: ASCII.java public class ASCII {

  public static void main (String[] args) {
    for (int ascii=0; ascii<128; ascii++){
        System.out.println(ascii+": "+(char)ascii);
    }
  }
}
 
  Das Vorsetzen von (char) vor der int-Variablen ascii nennt man explizites Casten. Wir werden uns später eingehender mit dieser Technik beschäftigen. Im Moment soll es uns reichen, zu wissen, dass hier die Interpretation einer Zahl als ein Zeichen erzwungen wird.
 
Tabelle der ASCII-Zeichen
   0:       1: ☺    2: ☻    3: ♥    4: ♦    5: ♣
   6: ♠    7:     8:     9:     10:   11: ♂
  12: ♀   13:    14: ♫   15: ☼   16: ►   17: ◄
  18: ↕   19: ‼   20: ¶   21: §   22: ▬   23: ↨
  24: ↑   25: ↓   26: →   27: ←   28: ∟   29: ↔
  30: ▲   31: ▼   32:   33: !   34: "   35: #
  36: $   37: %   38: &   39: '   40: (   41: )
  42: *   43: +   44: ,   45: -   46: .   47: /
  48: 0   49: 1   50: 2   51: 3   52: 4   53: 5
  54: 6   55: 7   56: 8   57: 9   58: :   59: ;
  60: <   61: =   62: >   63: ?   64: @   65: A
  66: B   67: C   68: D   69: E   70: F   71: G
  72: H   73: I   74: J   75: K   76: L   77: M
  78: N   79: O   80: P   81: Q   82: R   83: S
  84: T   85: U   86: V   87: W   88: X   89: Y
  90: Z   91: [   92: \   93: ]   94: ^   95: _
  96: `   97: a   98: b   99: c  100: d  101: e
 102: f  103: g  104: h  105: i  106: j  107: k
 108: l  109: m  110: n  111: o  112: p  113: q
 114: r  115: s  116: t  117: u  118: v  119: w
 120: x  121: y  122: z  123: {  124: |  125: }
 126: ~  127: ⌂        

Man erkennt, das an manchen Stellen keine Zeichen stehen: Die Zahlen 0, 7 bis 10 und 32 etwa. So steht die 7 für BEL ein Glockenton, den man auch hört, wenn das Programm bei der Ausgabe dieses Zeichen steht. Die Zeichen müssen  nicht unbedingt auf dem Bildschirm stehen, es können z.B. auch Steuerzeichen, z.B. für Drucker etc sein.  Zeichen sind also im abstrakteren Sinne zu verstehen. Da solche Steuerzeichen für Betriebssysteme wie DOS wichtig, für Windows aber i.P. überflüssig sind, hat Windows(TM), abweichend vom ASCII Standard einige Zeichen anders belegt. Man kann das bei dem Applet (ASCII-Applet) beobachten. (Das Applet liegt u.U. nach dem Starten auf der Taskleiste und muss erst wiederhergestellt werden.
 

zu 6.6 Der Typ boolean
zur Startseite www.pohlig.de  (C) MPohlig 2007