Java Hello World Programm
Schreibe, kompiliere und führe dein erstes Java-Programm aus – ein klassisches Hello World – und verstehe jeden Teil der Quelldatei.
Jedes Tutorial zu einer Programmiersprache beginnt mit demselben Ritual: einem winzigen Programm, das Hello, World! ausgibt. Javas Version davon enthält mehr Boilerplate als die meisten Sprachen, aber jeder Teil dieses Boilerplate ist etwas, das du immer wieder sehen wirst. Dieses Kapitel erklärt das Programm Zeile für Zeile und zeigt dann, wie man es kompiliert und ausführt.
Diese Seite setzt voraus, dass du bereits ein JDK installiert hast; falls nicht, arbeite zunächst How to Install Java durch.
Du kannst das Beispiel unten bearbeiten und auf Run drücken — es wird tatsächlich auf dem Server kompiliert und ausgeführt:
Das vollständige Programm
Hier ist die vollständige Quelldatei. Konventionsgemäß würde sie als HelloWorld.java gespeichert — Java erfordert, dass der Dateiname mit dem Namen der öffentlichen Klasse übereinstimmt.
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}Zeile für Zeile durchgehen
public class HelloWorld
Jedes Java-Programm lebt innerhalb einer Klasse. Eine Klasse ist ein Bauplan, der Daten und Verhalten bündelt — der Grundstein der objektorientierten Programmierung. Hier heißt die Klasse HelloWorld, und das Schlüsselwort public bedeutet, dass sie von jeder anderen Klasse aus sichtbar ist.
Die Konvention ist, dass Klassennamen UpperCamelCase verwenden: HelloWorld, BankAccount, Order.
public static void main(String[] args)
Dies ist der Einstiegspunkt des Programms — die Methode, die die JVM aufruft, wenn du deinen Code startest. Die Signatur ist exakt: Ändere irgendeinen Teil davon, und die JVM findet sie nicht.
public— die JVM muss sie von außerhalb der Klasse aufrufen.static— sie kann aufgerufen werden, ohne zuerst eine Instanz vonHelloWorldzu erstellen.void— sie gibt keinen Wert zurück.main— der spezielle Name, nach dem die JVM sucht.String[] args— ein array von Befehlszeilenargumenten, die beim Programmstart übergeben werden. Du kannst es beliebig benennen (argsist konventionell).
System.out.println("Hello, World!");
System ist eine Klasse in der Standardbibliothek; out ist ein statisches Feld darauf, das den Standardausgabestream hält; println ist eine Methode auf diesem Stream, die ihr Argument gefolgt von einem Zeilenumbruch ausgibt.
"Hello, World!" ist ein string-Literal — eine Folge von Zeichen, die in doppelte Anführungszeichen eingeschlossen sind. Strings sind zentral in Java; sobald du dich hier wohlfühlst, erklärt Java Strings, was du damit machen kannst.
Jede Java-Anweisung endet mit einem Semikolon (;). Der Compiler beschwert sich, wenn du eines vergisst. Für die umfassenderen Regeln — Leerzeichen, geschweifte Klammern, Bezeichner — siehe Java Syntax.
Kompilieren und Ausführen vom Terminal
Wenn du das JDK in deinem PATH hast (siehe die vorherigen zwei Kapitel), kannst du von jedem Terminal aus kompilieren und ausführen:
# Save the source as HelloWorld.java, then:
javac HelloWorld.java # compiles to HelloWorld.class
java HelloWorld # runs the bytecodeAusgabe:
Hello, World!Beachte, dass du HelloWorld an java übergibst, nicht HelloWorld.class oder HelloWorld.java. Der java-Launcher nimmt den vollqualifizierten Klassennamen und findet die passende .class-Datei im Classpath.
Eine Variation ausprobieren
Bearbeite das ausführbare Beispiel, um etwas anderes auszugeben — deinen Namen, das aktuelle Jahr, eine mehrzeilige Nachricht — und drücke Run. Einige Ideen:
System.out.println("Hello from Java " + System.getProperty("java.version"));System.out.println("Line 1");
System.out.println("Line 2");System.out.printf("%s is %d years old%n", "Ada", 36);Die letzten zwei Methoden, die du kennen solltest:
println— gibt sein Argument und einen Zeilenumbruch aus.print— wieprintln, aber ohne den abschließenden Zeilenumbruch.printf— printf-Formatierung im C-Stil.%sfügt einen string ein,%deine ganze Zahl und%neinen plattformgerechten Zeilenumbruch. Siehe Java String Formatting für den vollständigen Satz an Formatierungsangaben.
Häufige Anfängerfehler
Einige Dinge, die Neueinsteiger erwischen:
- Dateinamen-Mismatch. Eine
public class HelloWorldmuss in einer Datei namensHelloWorld.javaliegen. Andernfalls gibtjavaceinen Fehler aus. - Fehlendes Semikolon. Jede Anweisung braucht eines. Die Fehlermeldungen des Compilers sind normalerweise klar darüber, welche Zeile betroffen ist.
Printlnvsprintln. Java unterscheidet zwischen Groß- und Kleinschreibung.- Typografische Anführungszeichen. Wenn du Code von einer Website kopierst, die
"„hilfreicherweise" in"umgewandelt hat, erhältst du einen verwirrenden Compiler-Fehler.
Was kommt als Nächstes
How to Compile and Run a Java Program geht tiefer darauf ein, was javac und der java-Launcher tatsächlich tun, einschließlich des Classpath, Paketen und der Verwendung von jshell für schnelle Experimente ohne ein vollständiges Programm. Um deinen Code zu kommentieren, sobald er wächst, siehe Java Comments.