Titel | Inhalt | Suchen | Index | API | Go To Java 2, Zweite Auflage, Handbuch der Java-Programmierung |
<< | < | > | >> | Kapitel 2 - Schnelleinstieg |
Eine neue Programmiersprache lernt man nur, wenn man selbst Programme in dieser Sprache schreibt. Je mehr, desto besser. Bei der Lektüre des Buchs ist es daher sinnvoll, von Anfang an eigene Experimente durchzuführen und so viele Beispielprogramme wie möglich auszuprobieren, abzuändern, zu übersetzen und auszuführen. In diesem Abschnitt wollen wir ein paar informelle Tips geben, die das erleichtern sollen.
Hier noch einmal in Kurzform die Schritte vom Quellcode bis zum lauffähigen Programm:
Für die ersten Schritte in einer neuen Sprache benötigt man immer auch I/O-Routinen, um einfache Ein- und Ausgaben vornehmen zu können. Glücklicherweise kann man in Java nicht nur grafikorientierte Programme schreiben, sondern auch auf die Standardein- und -ausgabe zugreifen. Damit stehen für kleine Programme einfache I/O-Routinen zur Verfügung, die wie in den meisten konventionellen Programmiersprachen verwendet werden können.
Mit Hilfe des Kommandos System.out.println können einfache Ausgaben auf den Bildschirm geschrieben werden. Nach jedem Aufruf wird eine Zeilenschaltung ausgegeben. Mit System.out.print kann diese auch unterdrückt werden. Beide Methoden erwarten ein einziges Argument, das von beliebigem Typ sein kann. Zwar sind print und println nicht so flexibel wie etwa printf in C. Mit Hilfe des Plus-Operators können aber immerhin Zeichenketten und numerische Argumente miteinander verknüpft werden, so daß man neben Text auch Zahlen ausgeben kann:
001 /* Listing0206.java */ 002 003 public class Listing0206 004 { 005 public static void main(String[] args) 006 { 007 System.out.println("1+2=" + (1+2)); 008 } 009 } |
Listing0206.java |
Die Ausgabe des Programms ist:
1+2=3
Der erste String enthält den Wert "1+2=" und wird mit dem Ergebnis des Ausdrucks (1+2) verkettet (also mit dem Wert 3). Ohne die Klammern würde der Compiler das zweite Plus ebenfalls als String-Verkettungsoperator ansehen und die Ausgabe des Programms wäre 1+2=12 gewesen. |
|
Leider ist es etwas komplizierter, Daten zeichenweise von der Tastatur zu lesen. Zwar steht ein vordefinierter Eingabe-Stream System.in zur Verfügung. Er ist aber nicht in der Lage, die eingelesenen Zeichen in primitive Datentypen zu konvertieren. Statt dessen muß zunächst eine Instanz der Klasse InputStreamReader und daraus ein BufferedReader erzeugt werden. Dieser kann dann dazu verwendet werden, die Eingabe zeilenweise zu lesen und das Ergebnis in einen primitiven Typ umzuwandeln. Weitere Informationen zur streambasierten Ein-/Ausgabe sind in Kapitel 18 und Kapitel 19 zu finden.
Das folgende Listing zeigt ein Programm, das zwei Ganzzahlen einliest, sie zusammenzählt und das Ergebnis auf dem Bildschirm ausgibt:
001 /* Listing0207.java */ 002 003 import java.io.*; 004 005 public class Listing0207 006 { 007 public static void main(String[] args) 008 throws IOException 009 { 010 int a, b, c; 011 BufferedReader din = new BufferedReader( 012 new InputStreamReader(System.in)); 013 014 System.out.println("Bitte a eingeben: "); 015 a = Integer.parseInt(din.readLine()); 016 System.out.println("Bitte b eingeben: "); 017 b = Integer.parseInt(din.readLine()); 018 c = a + b; 019 System.out.println("a+b="+c); 020 } 021 } |
Listing0207.java |
Die import-Anweisung am Anfang des Listings dient dazu, die Klassen des Pakets java.io bekanntzumachen. Ohne diese Anweisung würden sowohl BufferedReader als auch InputStreamReader vom Compiler nicht gefunden und es gäbe eine entsprechende Fehlermeldung. Auch in nachfolgenden Beispielprogrammen tauchen von Zeit zu Zeit import-Anweisungen auf, die java.lang oder andere Pakete einbinden. In Kapitel 13 werden wir ausführlich auf die Verwendung und das Erstellen von Paketen eingehen. |
|
Werden die Zahlen 10 und 20 eingegeben, so lautet die Ausgabe des
Programms:
Bitte a eingeben:
10
Bitte b eingeben:
20
a+b=30
Das Ergebnis von din.readLine ist ein String, der den Inhalt der Eingabezeile enthält. Sollen keine numerischen Datenwerte, sondern Zeichenketten eingelesen werden, kann der Rückgabewert auch direkt verwendet werden. |
|
Wie in allen Programmiersprachen, gibt es auch in Java Konventionen für die Vergabe von Namen. Sie sind zwar nicht zwingend erforderlich, erleichtern aber das Verständnis der Quelltexte ungemein und sollten daher unbedingt eingehalten werden. Die wichtigsten sind:
Weitere Konventionen werden, wenn erforderlich, im Buch beschrieben.
Titel | Inhalt | Suchen | Index | API | Go To Java 2, Zweite Auflage, Addison Wesley, Version 2.0 |
<< | < | > | >> | © 2000 Guido Krüger, http://www.gkrueger.com |