Zum Inhalt springen

Informatik · Klasse 11–13 · aktualisiert

Java lernen: Grundlagen und Objektorientierung

Du lernst, wie aus Java-Quellcode eine Ausgabe wird, erkennst Variablen, Schleifen und Klassen und unterscheidest Syntaxfehler von logischen Fehlern.

0 von 9 Aufgaben gelöst

Java lernen: Grundlagen und Objektorientierung

Kurz gesagt

Java-Quellcode steht in einer .java-Datei. Der Compiler javac übersetzt ihn in Bytecode (.class), den die JVM ausführt. Syntaxfehler verhindern in der Regel das Kompilieren; logische Fehler wie plus statt minus liefern falsche Ergebnisse.

Ein Java-Programm ist zuerst nur Text. Damit daraus eine Ausgabe auf dem Bildschirm wird, braucht es mehrere Schritte. Du lernst diese Schritte kennen und liest kleine Programme. Außerdem lernst du Klassen und die zwei wichtigsten Fehlerarten kennen.

Deine Lernziele

Hake ab, was du schon kannst. Löst du alle Aufgaben eines Abschnitts, hakt Mela das Ziel für dich ab.

4 Abschnitte

Du schreibst ein Java-Programm als Text. Diesen Text nennt man Quellcode. Er ist für Menschen lesbar, aber nicht direkt ausführbar. Du speicherst ihn in einer Datei mit der Endung .java, zum Beispiel HelloWorld.java. Der Dateiname muss genau so heißen wie die Klasse in der Zeile public class HelloWorld, auch in Groß- und Kleinschreibung.

Erst der Java-Compiler übersetzt den Quellcode. Im Normalfall entsteht dabei Bytecode (Dateiendung .class). Auch Bytecode ist nicht direkt ausführbar. Du übersetzt in der Eingabeaufforderung mit javac HelloWorld.java, hier gibst du die Endung .java an.

Ausgeführt wird der Bytecode von der Java Virtual Machine, kurz JVM. Sie liegt zwischen dem Java-Programm und dem Betriebssystem. Man kann sie sich als Blackbox um das Programm vorstellen, die die Interaktion mit dem Betriebssystem übernimmt. Du startest sie mit java HelloWorld, hier gibst du die Endung nicht an. Der Bytecode wird meist nicht direkt von der Hardware ausgeführt, sondern durch Software auf der Zielplattform. So soll dasselbe Programm ohne Änderung auf jeder Rechnerarchitektur laufen können, sofern dort eine passende Laufzeitumgebung installiert ist.

So liest du das kleine Programm im Beispiel: Zeile 1 (public class HelloWorld {) definiert die Klasse HelloWorld. Zeile 2 definiert die Main-Methode. Du findest sie bei jeder Java-Anwendung, und von ihr aus erschließt du dir die Funktionsweise des Programms. Zeile 3 (System.out.println) gibt den Text in den Anführungszeichen aus. Zeile 4 (System.exit(0);) beendet die Anwendung mit dem Rückgabewert 0 und damit auch die JVM.

Definition

Bytecode

Bytecode ist der Code, den der Java-Compiler aus dem Quellcode erzeugt. Er steht im Normalfall in einer Datei mit der Endung .class und wird von der JVM ausgeführt.

Beispiel: Von HelloWorld.java bis zur Ausgabe

  1. 1public class HelloWorld {
  2. 2 public static void main(String[] args) {
  3. 3 System.out.println("Hello Java World");
  4. 4 System.exit(0);
  5. 5 }
  6. 6}
  7. 7Übersetzen: javac HelloWorld.java (Quellcode wird zu Bytecode in HelloWorld.class)
  8. 8Ausführen: java HelloWorld (ohne .java)
  9. 9Ausgabe auf der Konsole: Hello Java World

Merke: Der Weg lautet: Quellcode in .java, mit javac in Bytecode übersetzen, mit java über die JVM ausführen.

Teste dich

LeichtWas übersetzt den Quellcode HelloWorld.java in Bytecode?

Alles auf einen Blick

Java

  • Weg

    Quellcode (.java) → javac → Bytecode (.class) → die JVM führt ihn aus

  • Bausteine

    Variablen speichern Daten, if prüft eine Bedingung, Schleifen wiederholen Anweisungen, Methoden haben Kopf und Rumpf

  • Klasse und Objekt

    Die Klasse ist die allgemeine Definition, das Objekt ein bestimmtes Exemplar davon

  • Konstruktor

    Er erzeugt eine Instanz, heißt wie die Klasse und gibt keinen Wert zurück

  • private

    Auf eine private Variable kann nur die Klasse selbst zugreifen

  • Fehlerarten

    Syntaxfehler verhindern in der Regel die Kompilierung, logische Fehler liefern fehlerhafte Ergebnisse

Musteraufgabe · Schritt für Schritt

Eine Schleife nachverfolgen (ausgedachtes Beispiel)

  1. 1Programm: int zaehler = 0; for (int i = 0; i < 5; i++) { zaehler = zaehler + 3; } System.out.println(zaehler);
  2. 2Start: zaehler = 0 und i = 0
  3. 3i = 0: 0 < 5 ist true → zaehler = 0 + 3 = 3
  4. 4i = 1: 1 < 5 ist true → zaehler = 3 + 3 = 6
  5. 5i = 2: 2 < 5 ist true → zaehler = 6 + 3 = 9
  6. 6i = 3: 3 < 5 ist true → zaehler = 9 + 3 = 12
  7. 7i = 4: 4 < 5 ist true → zaehler = 12 + 3 = 15
  8. 8i = 5: 5 < 5 ist false → die Schleife endet
  9. 9Ausgabe: 15 (die Schleife läuft 5-mal, 5 · 3 = 15)

Fehler finden

Prüfe die Aussagen zu einer Rechnung mit a und b (ausgedachtes Beispiel) In einer Zeile steckt ein Fehler. Tippe sie an.

Lückentext

Wähl in jeder Lücke das passende Wort und prüf dann deine Antworten.

Der Bytecode steht in einer Datei mit der Endung . Eine for-Schleife mit Start i = 0 und der Bedingung i < 10 zählt bis . Auf eine Variable, die mit deklariert ist, kann nur die Klasse selbst zugreifen.

Karteikasten

Erst selbst überlegen, dann umdrehen.

Übung mit Feedback

Abschluss-Check: Java

LeichtWie führst du das übersetzte Programm HelloWorld aus?
MittelIn der Klasse Punkt2D steht private int x, y;. Welche Aussage stimmt?
SchwerEin Programm soll 1 bis 5 ausgeben, nutzt aber i < 5 statt i <= 5 und gibt nur 1 bis 4 aus. Was für ein Fehler ist das?

Weiterlesen in Informatik