Programmier Grundlagen

Die immer gleichen Grundbausteine des Programmierens, einmal nebeneinander in Java, Python und C.

Zuletzt aktualisiert: 23. September 2026

Variable deklarieren

Eine Variable speichert einen Wert unter einem Namen, damit du später im Code wieder darauf zugreifen kannst.

Javaint zahl = 5;
Pythonzahl = 5
Cint zahl = 5;

Text ausgeben

Zeigt Text oder das Ergebnis einer Berechnung auf dem Bildschirm an, praktisch zum Testen und Nachvollziehen, was im Programm passiert.

JavaSystem.out.println("Hallo");
Pythonprint("Hallo")
Cprintf("Hallo");

If Bedingung

Führt einen Codeblock nur dann aus, wenn eine bestimmte Bedingung wahr ist, sonst wird er übersprungen.

Javaif (zahl > 0) { ... }
Pythonif zahl > 0:
Cif (zahl > 0) { ... }

For Schleife

Wiederholt einen Codeblock eine festgelegte Anzahl von Malen, zum Beispiel genau zehnmal.

Javafor (int i = 0; i < 10; i++) { ... }
Pythonfor i in range(10):
Cfor (int i = 0; i < 10; i++) { ... }

While Schleife

Wiederholt einen Codeblock so lange, wie eine Bedingung wahr bleibt, die Anzahl der Durchläufe steht vorher nicht fest.

Javawhile (zahl > 0) { ... }
Pythonwhile zahl > 0:
Cwhile (zahl > 0) { ... }

Funktion definieren

Fasst mehrere Anweisungen unter einem eigenen Namen zusammen, die du später mit einem einzigen Aufruf wiederverwenden kannst.

Javaint addiere(int a, int b) { return a + b; }
Pythondef addiere(a, b): return a + b
Cint addiere(int a, int b) { return a + b; }

Liste oder Array

Speichert mehrere Werte hintereinander unter einem gemeinsamen Namen, statt für jeden Wert eine eigene Variable anzulegen.

Javaint[] zahlen = {1, 2, 3};
Pythonzahlen = [1, 2, 3]
Cint zahlen[] = {1, 2, 3};

Kommentar

Text im Code, der vom Programm ignoriert wird, nützlich für Erklärungen an dich selbst oder andere.

Java// einzeiliger Kommentar
Python# einzeiliger Kommentar
C// einzeiliger Kommentar

Datentypen und Typumwandlung

Jeder Wert hat einen Datentyp, zum Beispiel eine Ganzzahl oder einen Text. Passen zwei Typen nicht zusammen, muss man vorher umwandeln.

intEine Ganzzahl ohne Nachkommastellen, zum Beispiel 5
floatEine Zahl mit Nachkommastellen, zum Beispiel 5.0
strText, auch Zeichenkette genannt, zum Beispiel "5"
Python: int("5")Wandelt den Text "5" in die Zahl 5 um

Operatoren

Zeichen, mit denen du Werte verknüpfst oder miteinander vergleichst.

+ − * /Addition, Subtraktion, Multiplikation, Division
%Rest einer Division, zum Beispiel 7 % 2 ergibt 1
== und !=Prüft, ob zwei Werte gleich oder ungleich sind
> und <Prüft, ob ein Wert größer oder kleiner als ein anderer ist

Mit Text arbeiten

Text lässt sich wie eine Kette einzelner Zeichen behandeln, jedes Zeichen hat eine Position, beginnend bei 0.

text[0]Das erste Zeichen eines Textes, Indexierung genannt
text[0:3]Die ersten drei Zeichen, Slicing genannt
text.lower()Wandelt den Text in Kleinbuchstaben um
text.replace("a","b")Ersetzt jedes "a" im Text durch ein "b"
len(text)Gibt die Anzahl der Zeichen im Text zurück

ASCII, Zeichen und Escape Sequenzen

Intern ist jedes Zeichen nur eine Zahl. ASCII legt fest, welche Zahl zu welchem Zeichen gehört.

ASCIIOrdnet Buchstaben, Ziffern und Zeichen feste Zahlenwerte zu, das große A steht zum Beispiel für 65
Python: chr(65)Wandelt die Zahl 65 in das Zeichen "A" um
Python: ord("A")Wandelt das Zeichen "A" zurück in die Zahl 65
\n und \tEscape Sequenzen für Zeilenumbruch und Tabulator innerhalb eines Textes

Fehler beim Programmieren

Eine Fehlermeldung ist kein Grund zur Panik, sie nennt fast immer die Zeile und die Art des Problems. Der gefährlichste Fehler zeigt aber gar keine Meldung.

SyntaxErrorDer Code verstößt gegen die Grammatik der Sprache, oft fehlt eine Klammer oder ein Doppelpunkt
NameErrorEin Name wird verwendet, den es noch nicht gibt, häufig ein Tippfehler bei einer Variable
IndentationErrorDie Einrückung stimmt nicht, in Python entscheidet die Einrückung über Codeblöcke
Semantischer FehlerDer Code läuft fehlerfrei durch, liefert aber ein falsches Ergebnis, zum Beispiel weil + statt − verwendet wurde, keine Fehlermeldung, daher am schwersten zu finden
TippZuerst die genannte Zeilennummer der Fehlermeldung anschauen, dort liegt fast immer das Problem
Zum Anschauen

Ablauf einer Schleife mit Bedingung

So läuft eine typische For oder While Schleife mit einer Prüfung Schritt für Schritt ab.

Start
Bedingung prüfen, zum Beispiel i < 10
Wahr: Anweisung ausführen, zurück zur Prüfung
Falsch: Schleife beenden
Zum Nachschlagen

Vertiefung nach Sprache

Ein paar zusätzliche Eigenheiten je Sprache, über das reine Vergleichen hinaus.

Python
Python entscheidet über die Einrückung, welcher Code zu welchem Block gehört, geschweifte Klammern gibt es nicht. Variablen bekommen ihren Typ automatisch zugewiesen und können ihn im Laufe des Programms auch wechseln. Zusätzliche Funktionen kommen über sogenannte Pakete dazu, installierbar mit dem Werkzeug pip. Python wird nicht wie C vorher übersetzt, sondern beim Ausführen Zeile für Zeile interpretiert, das macht es etwas langsamer, aber einfacher zum Ausprobieren.
Java
In Java muss jeder Code innerhalb einer Klasse stehen, ein einzelner Befehl allein reicht nicht. Der Typ einer Variable wird beim Schreiben festgelegt und bleibt danach fest, das nennt man statische Typisierung. Java wird vor der Ausführung in einen Zwischencode übersetzt, der auf der sogenannten Java Virtual Machine läuft, dadurch läuft derselbe Java Code auf Windows, Mac und Linux ohne Änderungen.
C
C ist sehr nah an der Hardware, ohne viele Sicherheitsnetze, die einem Anfängern in anderen Sprachen abnehmen. Speicher muss teilweise von Hand angefordert und wieder freigegeben werden, vergisst man das, entstehen sogenannte Speicherlecks. Dafür läuft fertig übersetzter C Code besonders schnell, deshalb wird C bis heute für Betriebssysteme und, wie auf dieser Seite schon erwähnt, für viele Mikrocontroller eingesetzt.
Zum Nachschlagen

ASCII Tabelle

Alle druckbaren ASCII Zeichen mit ihrem Zahlencode. Du musst diese Tabelle nicht auswendig lernen, sie dient nur zum Nachschlagen, falls du mal einen Code brauchst.

ZeichenCodeZeichenCodeZeichenCodeZeichenCode
Leerzeichen32!33"34#35
$36%37&38'39
(40)41*42+43
,44-45.46/47
048149250351
452553654755
856957:58;59
<60=61>62?63
@64A65B66C67
D68E69F70G71
H72I73J74K75
L76M77N78O79
P80Q81R82S83
T84U85V86W87
X88Y89Z90[91
\92]93^94_95
`96a97b98c99
d100e101f102g103
h104i105j106k107
l108m109n110o111
p112q113r114s115
t116u117v118w119
x120y121z122{123
|124}125~126