Jede Variable hat einen festen Typ
- Deklaration:
int alter = 14;— erst der Typ, dann Name und Wert. - Statisch:der Typ bleibt fest;
alter = "vierzehn";ist ein Übersetzungsfehler. In Python hängt der Typ am Wert (dynamisch). - int:ganze Zahlen wie
42oder-7. - double:Kommazahlen, aber mit Punkt:
2.5,3.0. - boolean:nur
trueoderfalse— klein geschrieben. - char:genau ein Zeichen in einfachen Hochkommas:
'A'. - String:Text in doppelten Anführungszeichen:
"Hallo"— mit großem S. - Compiler:passt ein Wert nicht zum Typ, meldet
javacden Fehler, bevor das Programm überhaupt startet.
Ziehe die Wertkarten in die fünf Variablen — oder tippe erst eine Karte, dann eine Variable an. Mit der Tastatur: Karte mit Enter wählen, dann Ziffer 1–5 (oder Pfeiltasten + Enter). Der Compiler entscheidet, ob die Zeile übersetzt wird.
0 umgewandelt · 0 Übersetzungsfehler
Halte fest: Jede Variable nimmt nur Werte ihres Typs an. int → double wird verlustfrei erweitert, double → int verweigert der Compiler. "x" (String) und 'x' (char) sind verschiedene Typen — und weil ein char intern eine Zahl ist, gibt es die Sonderfälle int z = 'x'; (120) und char c = 42; ('*').
Rechnen und umwandeln
- Ganzzahldivision:
7 / 2ergibt3— der Rest fällt weg. - Rest:
7 % 2ergibt1. - Mit Komma:
7.0 / 2ergibt3.5— sobald eindoublebeteiligt ist. - Automatisch:int → double klappt allein:
double d = 5;speichert5.0. - Cast:
(int) 3.9ergibt3— abgeschnitten, nicht gerundet. - Verketten:
"Punkte: " + 5ergibt den String"Punkte: 5". - final:
final double MWST = 0.19;— eine Konstante, die sich nie mehr ändern darf.
Herleitung:
double schnitt = (7 + 8) / 2;double schnitt = 15 / 2;int — also wird ganzzahlig geteilt.double schnitt = 7;schnitt = 7.0(7 + 8) / 2.0 ergibt 7.5.Statische Typen: Der Typ steht bei der Deklaration fest und wird vor dem Start geprüft. int / int bleibt int; ist ein double beteiligt, wird mit Komma gerechnet.
Allgemeine Hinweise
char ist kein String
'A' ist ein Zeichen, "A" ein Text. char c = "A"; meldet String cannot be converted to char.
Punkt statt Komma
Java versteht 2,5 nicht als Zahl — schreibe 2.5. Nur in der Ausgabe für Menschen darf ein Komma stehen.
Casts verlieren etwas
(int) schneidet die Nachkommastellen ab. Brauchst du einen gerundeten Wert, nimm Math.round(…).
