Typen, die vorher feststehen
- Datentyp:legt fest, welche Werte eine Variable haben kann und welche Operationen erlaubt sind:
int,double,String,boolean. - Typfehler:eine Operation passt nicht zum Typ, z. B. Text minus Zahl.
- Statisch typisiert:der Typ jeder Variable steht fest, bevor das Programm läuft; der Compiler prüft alle Zuweisungen.
- Deklaration:meist schreibt man den Typ dazu:
int alter = 15;— Java, C, C#. - Typinferenz:Go, Rust und C# können den Typ selbst ableiten:
alter := 15,let alter = 15;,var alter = 15;— er steht trotzdem fest.
int alter = 15; alter = "fünfzehn"; // Compiler: Fehler
alter = 15 alter = "fünfzehn" # erlaubt
Typen, die erst beim Laufen zählen
- Dynamisch typisiert:der Typ gehört zum Wert, nicht zur Variable; eine Variable darf später einen Wert anderen Typs bekommen.
- Prüfung:Typfehler zeigen sich erst zur Laufzeit — wenn die Zeile tatsächlich ausgeführt wird.
- Beispiele:Python, JavaScript, PHP.
- Umwandlung:manche Sprachen wandeln still um: in JavaScript ist
"5" * 2gleich10, in PHP ist"5" + 3gleich8; Python meldet bei"5" + 3einenTypeError. - Abwägung:statisch: Fehler früh, schnell, gute Hilfe im Editor — dynamisch: kürzer, flexibel, schnell ausprobiert.
Lies das Programm und tippe: Findet der Compiler einen Fehler, stürzt das Programm beim Laufen ab — oder läuft es durch? Dann drücke „Ausführen“ und vergleiche. Mit ◀ ▶ wechselst du das Beispiel.
Halte fest: In statisch typisierten Sprachen fällt ein Typfehler schon beim Übersetzen auf — auch in Zeilen, die nie laufen. In dynamisch typisierten Sprachen erst, wenn die Zeile ausgeführt wird.
Typisierung: Statisch: Der Typ einer Variable steht vor dem Lauf fest, der Compiler prüft ihn. Dynamisch: Der Typ gehört zum Wert und wird erst zur Laufzeit geprüft.
Allgemeine Hinweise
+ hat viele Bedeutungen
Zwischen Zahlen addiert +, zwischen Texten verkettet es. Prüfe bei gemischten Werten immer, was deine Sprache daraus macht.
Kein Fehler heißt nicht fehlerfrei
In Python oder JavaScript kann ein Typfehler in einem selten erreichten Zweig lange unbemerkt bleiben. Teste jeden Zweig mindestens einmal.
Eingaben sind Text
input() in Python liefert immer einen String. Wandle mit int(...) oder float(...) um, bevor du rechnest.
