Zuletzt aktualisiert am 16.12.2025 5 Minuten Lesezeit

Variable

Eine Variable ist in der Programmierung ein benannter Speicherbereich, der während der Programmausführung Daten aufnehmen und speichern kann. Du kannst dir eine Variable wie eine beschriftete Box vorstellen: Die Beschriftung ist der Variablenname, und in der Box liegt der gespeicherte Wert. Variablen sind eines der fundamentalsten Konzepte in jeder Programmiersprache und ermöglichen es, mit Daten flexibel zu arbeiten.

Deklaration und Initialisierung

Beim Arbeiten mit Variablen unterscheidet man drei wichtige Schritte:

  • Deklaration: Du teilst dem Programm mit, dass eine Variable mit einem bestimmten Namen existiert
  • Definition: Speicherplatz wird für die Variable reserviert
  • Initialisierung: Der Variable wird zum ersten Mal ein Wert zugewiesen

In vielen Programmiersprachen wie Java erfolgen Deklaration und Definition gleichzeitig. Die Syntax variiert je nach Sprache:

// Java: Datentyp muss angegeben werden
int alter = 25;
String name = "Max";
double gehalt = 3500.50;
boolean istAktiv = true;
# Python: Kein Datentyp erforderlich
alter = 25
name = "Max"
gehalt = 3500.50
ist_aktiv = True
// JavaScript: let oder const verwenden
let alter = 25;
const name = "Max";
let gehalt = 3500.50;
let istAktiv = true;

Datentypen

Variablen speichern unterschiedliche Arten von Daten. Man unterscheidet zwischen primitiven Datentypen und komplexen Datentypen (Referenztypen).

Primitive Datentypen

Primitive Datentypen speichern einfache Werte direkt in der Variable:

Datentyp Beschreibung Beispiel
int / Integer Ganze Zahlen 42, -17, 0
float / double Dezimalzahlen 3.14, -0.5
boolean / bool Wahrheitswerte true, false
char Einzelnes Zeichen 'A', '7'
String Zeichenkette (Text) "Hallo Welt"

Komplexe Datentypen

Komplexe Datentypen speichern Referenzen (Verweise) auf Objekte im Speicher:

  • Arrays: Sammlungen gleichartiger Elemente (int[] zahlen = {1, 2, 3})
  • Objekte: Instanzen von Klassen mit Eigenschaften und Methoden
  • Listen, Sets, Maps: Dynamische Datenstrukturen für verschiedene Anwendungsfälle

Gültigkeitsbereich (Scope)

Der Gültigkeitsbereich (englisch: Scope) bestimmt, wo im Code eine Variable sichtbar und verwendbar ist. Dies ist ein wichtiges Konzept, um Fehler zu vermeiden und sauberen Code zu schreiben.

Lokale Variablen

Lokale Variablen werden innerhalb einer Methode, Funktion oder eines Blocks deklariert. Sie existieren nur innerhalb dieses Bereichs und werden nach dessen Ende automatisch gelöscht.

public void berechneRabatt() {
    int rabatt = 10;  // Lokale Variable
    System.out.println(rabatt);  // Funktioniert
}
// Hier ist 'rabatt' nicht mehr verfügbar

Globale Variablen und Instanzvariablen

Globale Variablen sind im gesamten Programm sichtbar. In objektorientierten Sprachen wie Java gibt es Instanzvariablen (gehören zu einem Objekt) und Klassenvariablen (mit static markiert, gehören zur Klasse selbst).

public class Mitarbeiter {
    private String name;           // Instanzvariable
    private static int anzahl = 0; // Klassenvariable

    public Mitarbeiter(String name) {
        this.name = name;
        anzahl++;  // Zählt alle erstellten Mitarbeiter
    }
}

Statische vs. dynamische Typisierung

Programmiersprachen unterscheiden sich darin, wann der Datentyp einer Variable festgelegt wird:

Merkmal Statische Typisierung Dynamische Typisierung
Typprüfung Zur Kompilierzeit Zur Laufzeit
Typdeklaration Erforderlich Optional
Typänderung Nicht möglich Möglich
Fehler Früh erkennbar Erst bei Ausführung
Beispiele Java, C++, TypeScript Python, JavaScript, Ruby
# Dynamische Typisierung in Python
wert = 42          # wert ist ein Integer
wert = "Hallo"     # wert ist jetzt ein String - kein Fehler!
wert = [1, 2, 3]   # wert ist jetzt eine Liste

Variablen vs. Konstanten

Im Gegensatz zu Variablen können Konstanten nach ihrer Initialisierung nicht mehr verändert werden. Sie werden verwendet, um unveränderliche Werte wie mathematische Konstanten oder Konfigurationswerte zu speichern.

// Java: final-Schlüsselwort
final double PI = 3.14159;
final int MAX_VERSUCHE = 3;
// JavaScript: const-Schlüsselwort
const PI = 3.14159;
const MAX_VERSUCHE = 3;

Konstanten werden nach Konvention in GROSSBUCHSTABEN mit Unterstrichen geschrieben (SCREAMING_SNAKE_CASE).

Namenskonventionen

Gute Variablennamen machen Code lesbar und verständlich. Je nach Programmiersprache gelten unterschiedliche Konventionen:

Konvention Beispiel Verwendung
camelCase firstName, numberOfItems Java, JavaScript (Variablen, Methoden)
PascalCase FirstName, CustomerOrder Klassen in Java, C#
snake_case first_name, number_of_items Python, Datenbanken
SCREAMING_SNAKE_CASE MAX_VALUE, API_KEY Konstanten

Best Practices für Variablennamen

  • Aussagekräftig: kundenName statt kn oder x
  • Keine reservierten Wörter: class, for, if sind keine gültigen Namen
  • Keine Sonderzeichen: Nur Buchstaben, Zahlen und Unterstriche
  • Nicht mit Zahl beginnen: 1variable ist ungültig, variable1 ist erlaubt
  • Konsistenz: Im gesamten Projekt die gleiche Konvention verwenden

Speichermodell: Stack und Heap

Variablen werden im Arbeitsspeicher in zwei Bereichen gespeichert:

  • Stack: Für lokale Variablen und primitive Datentypen. Schneller Zugriff, automatische Speicherverwaltung nach dem LIFO-Prinzip (Last In, First Out)
  • Heap: Für Objekte und komplexe Datentypen. Flexiblere Speicherverwaltung, wird durch Garbage Collection bereinigt

Bei Referenztypen wird die Referenz (Speicheradresse) auf dem Stack gespeichert, während das eigentliche Objekt auf dem Heap liegt.

Variablen in der IT-Ausbildung

Das Verständnis von Variablen ist für alle IT-Berufe essentiell. Als Fachinformatiker für Anwendungsentwicklung arbeitest du täglich mit Variablen, um Daten zu verarbeiten und Programme zu entwickeln. Auch Fachinformatiker für Systemintegration begegnen Variablen in Shell-Skripten und Konfigurationsdateien.

In der IHK-Prüfung werden häufig Fragen zu Datentypen, Gültigkeitsbereichen und der korrekten Verwendung von Variablen gestellt. Besonders wichtig ist das Verständnis des Unterschieds zwischen Wertübergabe (Call by Value) und Referenzübergabe (Call by Reference).

Quellen und weiterführende Links