Gegenüberstellung von Java und Python

Auf den ersten Blick wirken Java und Python wie sehr unterschiedliche Sprachen. Bei genauerer Betrachtung stellt man aber fest, dass sie viele Gemeinsamkeiten haben. Java ist grundsätzlich eine Objektorientierte Sprache, wobei einzelne Methoden imperativ (von oben nach unten) programmiert und ausgeführt werden. Python legt kein primäres Paradigma fest, und erlaubt sowohl imperative, als auch objektorientierte Programmierung.

Das heißt, dass beide Sprachen für die Programmierung imperative Konstrollstrukturen (Schleifen, bedingte Anweisungen, ...). Hast Du diese Konzepte in einer der Sprachen verstanden, kannst Du sie leicht auf die andere anwenden. Du musst nur die schreibweise (Syntax) der anderen Sprache kennen.

Auf dieser Seite findest Du eine Gegenüberstellung der wichtigsten Kontrollstrukturen und Konzepte von Java und Python, un dir einen schnellen Einstieg in Python zu erlauben.

Grundsätzliches

Blöcke

In Java wird ein Block durch { und } eingerahmt. In Python werden Blöcke durch Einrückungen gekennzeichnet. Alle Anweisungen auf derselben Ebene gehören zum selben Block. Einrückungen können durch dieselbe Anzahl Leerzeichen oder Tabulatoren gekennzeichnet werden. Wichtig ist nur, dass im ganzen Skript nur Leerzeichen *oder* Tabulatoren benutzt werden.

Java Python
if( bedingung ) {
    // Alle
    // Anweisungen
    // gehören zum 
    // Block
}
// Nicht mehr im Block
def eineFunktion():
    # Alle
    # Anweisungen
    # gehören zum
    # Block
# Nicht mehr im Block

Kommentare

Java Python
// Alles hinter "//" bis zum Ende der Zeile ist ein Kommentar
int zahl = 4; // Zeilenkommentar
# Alles hinter "#" bis zum Ende der Zeile ist ein Kommentar
zahl = 4 # Zeilenkommentar
/*
Dies ist ein
mehrzeiliger
Kommentar
*/
# In Python
# gibt es keine
# mehrzeiligen Kommentare

Die Main-Methode

Variablen

Java ist eine streng typisierte Sprache. Das bedeutet, der Datentyp jeder Variablen muss bei der Deklaration eindeutig festgelegt sein (oder zumindest vom Compiler eindeutig bestimmbar sein). Python dagegen ist dynamisch typisiert. Eine Variable kann zur Laufzeit des Programms Werte von verschiedenen Typen enthalten. Welche, das muss vorher nicht feststehen.

Java Python
int eineZahl = 4;
String einText = "Hallo Welt!";

eineZahl = "Bye";   // Erzeugt einen Fehler
eineZahlOderSo = 4;
einTextOderSo = "Hallo Welt!"

eineZahlOderSo = "Bye"    # Kein Fehler

Kontrollstrukturen

Schleifen

Java Python
while( bedingung ) {
    // Anweisungen ...
}
while bedingung:
    # Anweisungen ...
for( int i = 0; i < obereGrenze; i++ ) {
    // Anweisungen ...
}
for i in range(obereGrenze):
    # Anweisungen ...
List<String> list = new ArrayList<String>();
for( String s: list ) {
    // Anweisungen ...
}
list = ["a", "b", "c"]
for s in list:
    # Anweisungen ...

Funktionen