Was unterscheidet Variablen von Konstanten?
Variablen: Flexible Datenspeicher
Stell dir vor, du entwickelst ein Videospiel und musst den aktuellen Punktestand festhalten. Dafür nutzt du eine Variable (Variable). Sie fungiert als benannter Speicherplatz im Arbeitsspeicher, dessen Inhalt du während der Programmlaufzeit beliebig oft überschreiben kannst. Der Name des Speichers bleibt identisch, aber der gespeicherte Wert passt sich dynamisch an das Spielgeschehen an.
// Deklaration und erste Zuweisung
let punktestand = 1500;
console.log(`Punkte: ${punktestand}`); // Ausgabe: Punkte: 1500
// Der Wert der Variable wird überschrieben (verändert)
punktestand = 1650;
console.log(`Neue Punkte: ${punktestand}`); // Ausgabe: Neue Punkte: 1650Konstanten: Feste Werte für mehr Sicherheit
Im Gegensatz zu Variablen sind Konstanten (Constants) unveränderlich. Sobald ihnen einmalig ein Wert zugewiesen wurde, sperrt das Programm jede weitere Änderung. Dieser Schutzmechanismus ist essenziell für Konfigurationswerte, die systemweit identisch bleiben müssen. Ein versehentliches Überschreiben würde hier fatale Fehler auslösen.
Typische, praxisnahe Anwendungsfälle für Konstanten sind Datenbankverbindungsparameter (wie Host-URL oder Port) oder gesetzlich festgelegte Mehrwertsteuersätze. In vielen Programmiersprachen wie JavaScript werden sie mit dem Schlüsselwort const definiert und konventionsgemäß in GROSSBUCHSTABEN geschrieben:
// Konstanten für kritische Systemkonfigurationen
const DB_HOST = "localhost";
const DB_PORT = 5432;
const MWST_SATZ = 0.19;
// DB_PORT = 3306; // Führt sofort zu einem Laufzeitfehler (TypeError)!Wie werden Variablen im Code definiert und strukturiert?
Der Lebenszyklus: Deklaration und Initialisierung
Bevor du einen Speicherplatz nutzen kannst, muss er dem System bekannt gemacht werden. Dieser Prozess besteht aus zwei fundamentalen Schritten, die je nach Programmiersprache getrennt oder kombiniert auftreten:
- Deklaration (Declaration): Du registrierst die Variable beim System und vergibst einen eindeutigen Namen.
- Initialisierung (Initialization): Du weist der deklarierten Variable ihren allerersten, initialen Wert zu.
In modernen Sprachen wie JavaScript oder Python passieren beide Schritte meist simultan in einer einzigen Codezeile. In anderen Situationen oder Sprachen werden sie explizit getrennt:
// Deklaration (let benutzerName) und Initialisierung ("Alex") in einem Schritt
let benutzerName = "Alex";
// Nur Deklaration (Wert ist vorerst 'undefined')
let hoechstPunktzahl;
// Spätere Initialisierung im Programmablauf
hoechstPunktzahl = 10000;Die Anatomie: Bezeichner, Wert, Typ und Speicherort
Unabhängig von der Programmiersprache wird jede Variable durch exakt vier konzeptionelle Eigenschaften definiert. Da du die primitiven Datentypen bereits kennst, weißt du, dass der Typ die erlaubten Operationen vorgibt:
- Bezeichner (Identifier): Der eindeutige Name im Quellcode, über den du die Variable ansprichst (z. B.
aktuelle_temperatur). - Wert (Value): Die konkreten Daten, die aktuell gespeichert sind (z. B.
23.5). - Typ (Type): Das Format der Daten (z. B. Float oder Integer). Er bestimmt, wie der Wert im Speicher verarbeitet wird.
- Speicherort (Memory Location): Die physische Adresse im Arbeitsspeicher (RAM), an der die Bits abgelegt sind. Das Betriebssystem und die Programmiersprache verwalten diese Adresse automatisch anhand des Bezeichners.
# Python-Beispiel zur Veranschaulichung der vier Eigenschaften
aktuelle_temperatur = 23.5
# Bezeichner: aktuelle_temperatur
# Wert: 23.5
# Typ: Float (Gleitkommazahl)
# Speicherort: Wird von Python im Hintergrund verwaltet (z.B. RAM-Adresse 0x10a3b4)Teste dein Wissen
Du programmierst ein Shopsystem. Der Gesamtwert des Warenkorbs ändert sich bei jedem neu hinzugefügten Artikel. Welches Konzept nutzt du zur Speicherung dieses Werts im Arbeitsspeicher?