Was ist Java? Die Sprache, die überall läuft
Erfahre, was Java ist, warum es seit über 25 Jahren eine der wichtigsten Programmiersprachen ist und was du damit alles bauen kannst.
Was ist Java?
Java ist eine der erfolgreichsten und am weitesten verbreiteten Programmiersprachen der Welt. Von riesigen Enterprise-Systemen bei Banken ueber Android-Apps bis hin zu Minecraft — Java steckt ueberall. Und das Beste: Java ist stabil, sicher und laeuft auf praktisch jedem Geraet.
Die Geschichte in 30 Sekunden
Java wurde 1995 von James Gosling bei Sun Microsystems entwickelt. Urspruenglich sollte die Sprache fuer interaktives Fernsehen eingesetzt werden — aber das Internet explodierte gerade, und Java wurde zur perfekten Sprache fuer plattformuebergreifende Anwendungen.
Das Motto: “Write Once, Run Anywhere” — schreibe deinen Code einmal, und er laeuft ueberall.
Heute ist Java:
- Eine der Top-3-Programmiersprachen weltweit
- Die Standard-Sprache in grossen Unternehmen (Enterprise)
- Eine der Hauptsprachen fuer Android-Entwicklung
- Die Sprache hinter Minecraft, Jenkins, und unzaehligen Backend-Systemen
- Seit Java 21+ mit modernen Features ausgestattet, die das Programmieren angenehmer machen
Warum ist Java so beliebt?
1. Plattformunabhaengigkeit (JVM)
Java-Code wird nicht direkt auf deinem Computer ausgefuehrt. Stattdessen wird er in Bytecode kompiliert, der auf der Java Virtual Machine (JVM) laeuft. Die JVM gibt es fuer jedes Betriebssystem:
Dein Code (.java) --> Compiler (javac) --> Bytecode (.class) --> JVM --> Ausfuehrung
Das bedeutet: Egal ob Windows, macOS oder Linux — derselbe Java-Code laeuft ueberall.
2. Statische Typisierung
Java ist statisch typisiert. Das heisst: Du gibst den Typ jeder Variable an, und der Compiler prueft schon vor dem Ausfuehren, ob alles passt.
// Java: Fehler wird beim Kompilieren gefunden
int alter = 25;
alter = "fuenfundzwanzig"; // Kompilierfehler! String passt nicht in int
Wenn du Python kennst, ist dir dynamische Typisierung vertraut:
# Python: Fehler wird erst zur Laufzeit gefunden
alter = 25
alter = "fuenfundzwanzig" # Kein Fehler... bis etwas schiefgeht
Der Vorteil: Java findet viele Fehler bevor dein Programm ueberhaupt startet.
3. Objektorientierte Programmierung (OOP)
In Java ist alles ein Objekt (fast). Das zwingt dich dazu, sauber strukturierten, modularen Code zu schreiben:
public class Hund {
private String name;
private int alter;
public Hund(String name, int alter) {
this.name = name;
this.alter = alter;
}
public String bellen() {
return name + " sagt: Wuff!";
}
}
4. Riesiges Oekosystem
Java hat eines der groessten Oekosysteme aller Programmiersprachen:
- Maven Central: Hunderttausende Bibliotheken
- Spring Framework: Der Standard fuer Web-Anwendungen
- IntelliJ IDEA: Eine der besten IDEs ueberhaupt
- Gradle & Maven: Maechtige Build-Tools
Einsatzgebiete von Java
Java ist in erstaunlich vielen Bereichen die erste Wahl:
| Bereich | Frameworks/Tools | Beispiele |
|---|---|---|
| Enterprise-Software | Spring, Jakarta EE | Banking, Versicherungen |
| Android-Apps | Android SDK, Kotlin | Apps im Play Store |
| Web-Backend | Spring Boot, Quarkus | REST-APIs, Microservices |
| Big Data | Hadoop, Spark, Kafka | Datenverarbeitung |
| Cloud | AWS SDK, Google Cloud | Cloud-native Anwendungen |
| Spiele | LibGDX | Minecraft (Original) |
| DevOps | Jenkins, Gradle | CI/CD Pipelines |
| Embedded | Java ME | IoT-Geraete |
Java vs. andere Sprachen
Wie schlaegt sich Java im Vergleich?
| Aspekt | Java | Python | JavaScript | C++ |
|---|---|---|---|---|
| Lernkurve | Mittel | Flach | Mittel | Steil |
| Typisierung | Statisch | Dynamisch | Dynamisch | Statisch |
| Geschwindigkeit | Schnell | Mittel | Schnell (V8) | Sehr schnell |
| Haupteinsatz | Enterprise, Android | Data Science, KI | Web (Browser) | Systemprogrammierung |
| Verbosity | Mittel (mit modernem Java) | Sehr knapp | Knapp | Verbose |
| Job-Markt | Sehr gross | Sehr gross | Sehr gross | Gross |
Vergleich: Hallo Welt
Java:
public class HalloWelt {
public static void main(String[] args) {
System.out.println("Hallo Welt!");
}
}
Python:
print("Hallo Welt!")
Ja, Java braucht mehr Code — aber dafuer bekommst du Typsicherheit, Performance und Struktur. Und seit Java 21 gibt es vereinfachte Einstiegspunkte:
// Java 21+: Vereinfachte main-Methode (Preview)
void main() {
System.out.println("Hallo Welt!");
}
Modernes Java (Java 21+)
Java hat sich in den letzten Jahren massiv weiterentwickelt. Hier einige moderne Features:
var — Typinferenz
// Statt:
String name = "Max";
ArrayList<String> liste = new ArrayList<>();
// Kannst du schreiben:
var name = "Max";
var liste = new ArrayList<String>();
Text Blocks — Mehrzeilige Strings
var html = """
<html>
<body>
<h1>Hallo Welt!</h1>
</body>
</html>
""";
Records — Kompakte Datenklassen
// Statt einer ganzen Klasse mit Konstruktor, Gettern, equals, hashCode...
record Person(String name, int alter) {}
var max = new Person("Max", 25);
System.out.println(max.name()); // "Max"
Pattern Matching
// Modernes Java mit Pattern Matching
Object wert = "Hallo";
if (wert instanceof String s) {
System.out.println("String mit Laenge: " + s.length());
}
Was du mit Java bauen kannst
Eine einfache REST-API (mit Spring Boot)
@RestController
public class HalloController {
@GetMapping("/hallo")
public String hallo() {
return "Hallo von Java!";
}
}
Daten verarbeiten mit Streams
var namen = List.of("Max", "Anna", "Leo", "Julia", "Tom");
var langeNamen = namen.stream()
.filter(n -> n.length() > 3)
.map(String::toUpperCase)
.toList();
System.out.println(langeNamen); // [ANNA, JULIA]
Android-App (Grundstruktur)
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
var button = findViewById(R.id.meinButton);
button.setOnClickListener(v ->
Toast.makeText(this, "Geklickt!", Toast.LENGTH_SHORT).show()
);
}
}
Warum Java als Sprache lernen?
Wenn du bereits Python kennst, fragst du dich vielleicht: Warum noch Java lernen?
- Job-Markt: Java-Entwickler sind extrem gefragt — besonders in grossen Unternehmen
- Verstaendnis: Statische Typisierung hilft dir, Code besser zu verstehen
- OOP meistern: Java ist die beste Sprache, um OOP wirklich zu lernen
- Uebertragbarkeit: Wer Java kann, lernt C#, Kotlin und TypeScript viel schneller
- Performance: Java ist deutlich schneller als Python
Was kommt als Naechstes?
In den naechsten Lektionen wirst du:
- Java installieren — JDK und IntelliJ IDEA einrichten
- Dein erstes Programm schreiben — Kompilieren und Ausfuehren
- Die Grundstruktur verstehen — Klassen, main-Methode und Pakete
- Variablen und Datentypen meistern — Das Fundament jedes Programms
- Kontrollstrukturen lernen — if/else, switch, Schleifen
Zusammenfassung
- Java ist eine vielseitige, typsichere Programmiersprache seit 1995
- Das Motto “Write Once, Run Anywhere” macht Java plattformunabhaengig
- Java ist die Nummer 1 fuer Enterprise-Software und Android-Entwicklung
- Die statische Typisierung findet Fehler schon beim Kompilieren
- Modernes Java (21+) bringt Features wie Records, Pattern Matching und Text Blocks
- Ein riesiges Oekosystem und eine grosse Community stehen dir zur Verfuegung
- Java-Kenntnisse sind auf dem Arbeitsmarkt extrem wertvoll
Bereit? Dann lass uns im naechsten Kapitel Java auf deinem Rechner installieren!
Pro-Tipp: Java hat seit 2017 einen halbjährlichen Release-Zyklus. Alle drei Jahre gibt es eine LTS-Version (Long-Term Support). Fuer Einsteiger empfehle ich, immer die neueste LTS-Version zu nutzen — aktuell ist das Java 21. So hast du Zugriff auf alle modernen Features und bekommst lange Support!