Ein erstes Programm: der 3-Zeiler programs/hello gibt den Text "Hello, World" aus.

Hello gibt einen Text aus, der im Programm steht und demonstriert vor allem den Umgang mit den Werkzeugen im JDK.

{programs/hello/Hello.java}
/** A class with the first Java program */
class Hello {
public static void main (String args []) { // main program
System.out.println("Hello, World");  // standard output
}
}
{}
  • Kommentare sind wie in C, C++, PHP und CSS /* ... */ oder // bis Zeilenende. javadoc übernimmt Kommentare, die mit /** beginnen, in die Dokumentation.
  • Funktionen sind grundsätzlich Methoden. Variablen gehören grundsätzlich zu Klassen. static designiert Klassenmethoden und -variablen.
  • Es gibt nur einfache Vererbung. Klassen stammen mindestens von Object ab.
  • Ohne Qualifikation sind Namen in einem Paket (Quelldatei) sichtbar. public macht einen Namen auch außerhalb sichtbar, protected erlaubt nur Zugriff aus Unterklassen, private verkapselt in der aktuellen Klasse.
  • java.lang.String ist eine vordefinierte Klasse für konstante Zeichenketten; das Paket java.lang ist automatisch importiert.
  • java.lang.System erlaubt unter anderem Zugriff auf den 8-Bit(!) java.io.PrintStream out , eine Klassenvariable, mit deren Methode println() ein String als Zeile zur Standard-Ausgabe ausgegeben werden kann.
  • Syntaktisch sind Methoden Komponenten von Klassen. Beim Aufruf wird die Methode als Komponente des Empfängers angegeben, der eine Variable oder eine Klasse ist. Java verwendet nur den Punkt zur Auswahl von Komponenten.

Übersetzung und Ausführung können etwa so aussehen:

$ javac Hello.java  # Übersetzung einer Datei
$ java Hello   # Ausführung von main() in einer Klasse
Hello, World