char - Zeichen | Kontrollstrukturen: Abfragen, Bedingungen und Schleifen |
Standardtypen
Neben dem Namen hat eine Variable einen Typ. Er bestimmt, welche Art von Werten eine Variable aufnehmen kann, beispielsweise Zahlen oder Zeichen. Die folgende Tabelle gibt einen Überblick über die primitiven Typen.
boolean | 8 Bit | Wahrheitswert, kann true oder false sein |
byte | 8 Bit | Ein Byte für kleine Zahlen |
char | 16 Bit | Buchstaben |
short | 16 Bit | Kleine ganze Zahlen |
int | 32 Bit | Ganze Zahlen |
long | 64 Bit | Große ganze Zahlen |
float | 32 Bit | Zahl mit Nachkommastellen |
double | 64 Bit | Etwas mehr Platz für Nachkommawerte |
Zahlenvariablen können sowohl negative als auch positive Werte annehmen. Es gibt keine unsigned-Variablen wie beispielsweise in C++.
Literale primitiver Typen
- Eine normale Zahl wie etwa 17 ist ein ganzzahliges Literal vom Typ int. Einer Zahl kann ein Minuszeichen vorangestellt werden, um sie als negativ zu kennzeichnen.
- Wird ein L (oder ein kleines l) angehängt, also etwa 17L ist das Literal vom Typ long.
- Beginnt eine Zahl mit 0, geht Java davon aus, dass sie oktal dargestellt ist. Dann entspricht 012 dem dezimalen Wert 10, da jede Ziffer nur den Wertebereich von 0 bis 7 annehmen kann.
- Hexadezimale Zahlen werden mit 0x eingeleitet. Die Ziffern 0 bis 9 werden um die Buchstaben A bis F (bzw. a bis f) erweitert und stehen für die Ziffern 10 bis 15. 0x12 hat also den Wert 18, 0x1F den Wert 31.
- Eine Fließkommazahl verwendet als Dezimalzeichen einen Punkt, wie das
in angelsächsischen Ländern üblich ist.
Eine Fließkommazahl könnte so aussehen: 0.19e-3.
- Der Punkt entspricht dem deutschen Dezimalkomma.
- Das e (oder E) steht für den Exponenten der Zahl 10. Der Wert wäre also 0,19 mal 10-3 oder 0,00019.
- Eine Variable vom Typ boolean kann einen Wahrheitswert speichern. Er kann true (wahr) oder false (falsch) sein.
- Eine Variable vom Typ char nimmt einen Buchstaben auf. Ein Buchstabe
wird als solcher durch Hochkommata gekennzeichnet.
char zeichen = 'A'; char ziffer = '9';
Eigentlich enthält eine char-Variable nur eine kleine ganze Zahl. Sie steht für den Code des Zeichens. So ist der ASCII-Standard-Code für '0' die Zahl 48.
Operatoren
Die Operationen, die auf Variablen angewandt werden können, sind von ihrem Typ abhängig. Zahlenwerte können mit den Grundrechenarten verrechnet werden. Das gilt auch für char, der eigentlich ein verkappter Zahlentyp ist.
- Addition +
- Subtraktion -
- Multiplikation *
- Division /
Division ganzzahliger Werte ergibt immer einen ganzzahligen Wert. 1/4 ist also 0. Sobald aber mindestens ein beteiligter Wert eine Fließkommazahl ist, wird auch das Ergebnis zu einem Fließkommawert. 1.0/4 ergibt also 0.25. - Restwert (Modulo) %
Das Prozentzeichen ermittelt nicht den Prozentsatz, sondern den Rest bei einer ganzzahligen Division. 11%4 ergibt also 3.
Wie in der Mathematik kann diese Regeln durch Klammern durchbrochen werden.
Kurzfassungen
Taucht in einer Zuweisung dieselbe Variable sowohl rechts als auch links vom Gleichheistzeichen auf, wird zunächst der Ausdruck auf der rechten Seite ausgewertet und dann dem LValue auf der linken Seite zugewiesen.Soll der Inhalt einer Variablen wert verdoppelt werden, führt man folgende Anweisung aus:
wert = wert * 2;Dieser Fall kann verkürzt werden:
wert *= 2;
Inkrement und Dekrement
Das gleiche Verfahren kann für alle numerischen Operatoren verwendet werden. Beim Inkrementieren und Dekrementieren gibt es noch ein weitere Besonderheit. Dort kann ein doppeltes Plus beziehungsweise ein doppeltes Minus vor oder hinter die Variable gestellt werden, also a++, ++a, a-- oder --a.Wird das ++ vor die Variable gestellt, wird die Variable vor der Auswertung inkrementiert. Das kann beispielsweise wichtig sein, wenn der Ausdruck als Parameter an eine Methode übergeben wird, hier System.out.println:
public class Inkrement { public static void main(String[] args) { int a = 4; a++; // hier könnte gleichwertig ++a stehen System.out.println(a++); // Ausgabe: 5 System.out.println(++a); // Ausgabe: 7 System.out.println(a); // Ausgabe: 7 } }Dieser Effekt führt auch dazu, dass die folgende Anweisung, die manchmal fehlerhafterweise in einem Programm auftaucht an der Variablen a keinerlei Veränderung herbeiführt:
a = a++; // Variable a ändert sich nichtDie Operatoren ++ und -- sind im Gegensatz zu den bisher kennengelernten Operatoren unär, sie brauchen also nur einen Operanden. Der Zuweisungsoperator oder der Schrägstrich sind binär, sie erwarten zwei Operanden. Plus und Minus sind unär Vorzeichen und werden binär zur Addition bzw. Subtraktion verwendet.
Zeichen | Operandenzahl | Bedeutung |
---|---|---|
= | binär | Zuweisung |
++ | unär | Inkrement |
-- | unär | Dekrement |
+ | unär | Vorzeichen |
+ | binär | Addition |
- | unär | Vorzeichen |
- | binär | Subtraktion |
Konstanten
Konstanten werden wie Variablen definiert. Durch das Attribut final bleiben sie unveränderbar.final int MAXFACH = 25; |
Üblicherweise werden konstante Variablen in Großbuchstaben notiert.
char - Zeichen | Kontrollstrukturen: Abfragen, Bedingungen und Schleifen |