Programmierkurs
Birgit Engels, Anna Schulze
ZAIKUniversität zu Köln
WS 07/08
1 / 69
Kapitel 2
Grundlagen der Java ProgrammierungWas macht ein Java Programm aus?SprachbestandteileEin erstes ProgrammHauptbestandteile eines Java-ProgrammsVom Programmtext zur AusführungLesbarkeit des Programmtextes/ProgrammierstilEinfache Ein- und Ausgabe (Text)Import-AnweisungEin Programm mit Ein- und Ausgabe
2 / 69
2.1 Was macht ein Java Programm aus?
Ein Java-Programm ist zunächst eine Textdatei, die mit einemTexteditor erstellt und bearbeitet wird und die Endung .javabesitzt. Da Java eine “Sprache” darstellt, unterscheiden wir:
Syntax: Formale Regeln bzw. “Grammatik”, nach denenzwischen zulässigem und ungültigem Programmcodeunterschieden wird.
Semantik: Inhalt des Programms, d.h. Bedeutung desProgrammcodes.
3 / 69
Fehlerhafte Programme
Syntaxfehler: Der Compiler kann den Programmcode nicht korrektübersetzen. Meist gibt der Compiler Hinweise auf denformalen Fehler. Deshalb sind diese Fehler meist“einfach” zu finden und zu beseitigen.
Semantikfehler: Der Compiler übersetzt das Programm korrekt.Das übersetzte Programm arbeitet aber nicht so wiebeabsichtigt. Semantikfehler sind i.a. schwieriger zubeseitigen, insbesondere bei großen Programmen.Fehlersuche durch genaue Analyse und Tests desProgramms.
4 / 69
2.2 Sprachbestandteile
Wie jede höhere Programmiersprache besteht Java aus:
Schlüsselwörtern (“Wortschatz”)
reservierten Zeichen (“Satzzeichen”)
Namen vordefinierter Datenstrukturen, Objekte
Namen selbst definierter Datenstrukturen, Objekte undFunktionen/Methoden
Kommentaren
5 / 69
Reservierte Schlüsselwörter
abstract double interface switchassert else long synchronizedboolean extends native thisbreak final new throwbyte finally package throwscase float private transientcatch for protected trychar goto public voidclass if return volatileconst implements short whilecontinue import staticdefault instanceof strictfpdo int super
6 / 69
Reservierte Zeichen
// bzw. /* */: Einleitung für Kommentare.
{ } : Gliederung des Programmtextes.
;: Abschluss einer Anweisung.
+ - . . . : Arithmetische Operatoren.
>= : Schiebeoperatoren.
und weitere . . .
7 / 69
Regeln für selbstdefinierte Namen
Namen (auch “Bezeichner” genannt) bestehen aus:
Buchstaben a–z, A–Z
Ziffern (Zahlen) 0–9
Unterstrichen
Sie müssen mit einem Buchstaben oder beginnen.Namen, die mit beginnen, sollten vermieden werden.
Sie dürfen nicht mit einem Schlüsselwort übereinstimmen.
Die Länge ist i.a. nicht beschränkt.Zu lange oder zu kurze Namen sollten aber vermieden werden.
Namen dürfen keine Leerzeichen enthalten.
Zwischen Gross- und Kleinschreibung wird unterschieden!
8 / 69
Namensgebung
Beispiele:
anzahl, knoten1, vertex, . . .:Bedeutung ersichtlich, nicht zu kurz nicht zu lang,Konvention: Kleinschreibung.
anzKnoten, anz knoten, noVerts, . . .:Zusammengesetzt, aber mit Gross-/Kleinschreibung bzw.gut lesbar, spezifiziert “Anzahl” wegen Eindeutigkeit.anzVerts, noVertices, . . . nicht so gut, da
Sprachgemisch bzw. länger als nötig.
i, j, k, p x, p y :Sehr kurze Bezeichnungen für Laufvariablen, sehr kurzzeitig(“lokal”) benötigte Variablen. Mathematische Schreibweise fürmathematische Objekte (Koordinaten des Punktes p).
9 / 69
Bedeutung der Namensgebung
Macht die Struktur des Problems bzw. Algorithmus klarer.
Macht Programme gut/intuitiv lesbar/erweiterbar/wartbar.
Beides hilft semantische Fehler zu vermeiden/verbessern.
10 / 69
2.3 Ein erstes Programm
Ziele
groben Aufbau eines Programms kennenlernen
groben Aufbau einer Methode kennenlernen
die Methode public static void main(String[] args)
Abschluss eines jeden Befehls mit ;
11 / 69
Der Programmtext “Hello World!” : HelloWorld.java
1. /* Programmierkurs WS0708
2. * ZAIK, AFS : RS, BE, AS
3. */
4. public class HelloWorld
5. {
6. public static void main(String[] args)
7. {
8. // Ausgabe
9. System.out.println(‘‘Hello World!’’);
10. }
11. }
Hello World!
12 / 69
Der Programmtext “Hello World!” : HelloWorld.java
1. /* Programmierkurs WS0708
2. * ZAIK, AFS : RS, BE, AS
3. */
4. public class HelloWorld
5. {
6. public static void main(String[] args)
7. {
8. // Ausgabe
9. System.out.println(‘‘Hello World!’’);
10. }
11. }
Hello World!
Kommentare:Mehrzeilig (lang/global),Einzeilig (kurz/lokal).
13 / 69
Der Programmtext “Hello World!” : HelloWorld.java
1. /* Programmierkurs WS0708
2. * ZAIK, AFS : RS, BE, AS
3. */
4. public class HelloWorld
5. {
6. public static void main(String[] args)
7. {
8. // Ausgabe
9. System.out.println(‘‘Hello World!’’);
10. }
11. }
Hello World!
Einleitung der Klassende-finition + öffnende undschließende Klammer
.
14 / 69
Der Programmtext “Hello World!” : HelloWorld.java
1. /* Programmierkurs WS0708
2. * ZAIK, AFS : RS, BE, AS
3. */
4. public class HelloWorld
5. {
6. public static void main(String[] args)
7. {
8. // Ausgabe
9. System.out.println(‘‘Hello World!’’);
10. }
11. }
Hello World!
Methode main gibt es injedem Java Programm ge-nau einmal (wieder mitöffnender und schließenderKlammer).
15 / 69
Der Programmtext “Hello World!” : HelloWorld.java
1. /* Programmierkurs WS0708
2. * ZAIK, AFS : RS, BE, AS
3. */
4. public class HelloWorld
5. {
6. public static void main(String[] args)
7. {
8. // Ausgabe
9. System.out.println(‘‘Hello World!’’);
10. }
11. }
Hello World!
Einziger “richtiger” Be-fehl: Veranlasst Ausgabe.
Befehle enden mitSemikolon ;.
16 / 69
Der Programmtext “Hello World!” : HelloWorld.java
1. /* Programmierkurs WS0708
2. * ZAIK, AFS : RS, BE, AS
3. */
4. public class HelloWorld
5. {
6. public static void main(String[] args)
7. {
8. // Ausgabe
9. System.out.println(‘‘Hello World!’’);
10. }
11. }
Hello World!
Output auf dem Bildschirm
17 / 69
Zeilennummern und Output
ZeilennummernI dienen lediglich der Orientierung auf den FolienI werden im Editor nicht mit eingegeben
OutputI dient lediglich der Erläuterung des Programms auf den FolienI wird im Editor nicht mit eingegeben
18 / 69
Klassendefinition
public class HelloWorld { ...}
Objektorientierung: Ein “Objekt” ist für uns zunächst konkreteine Klasse. (Feinheiten später!)
Daher muss jedes Programm von einer Klasse, hier classHelloWorld “umgeben” sein, d.h. der Programmtext stehtzwischen den geschweiften Klammern der Klassendefinition.
Schlüsselwort public (öffentlich) bedeutet, dass diese Klassevon beliebigen anderen benutzt werden darf.
Eine (öffentliche) Klasse sollte in einer gleichnamigen Datei,hier HelloWorld.java gespeichert sein.
Ein Klassenname sollte mit einem Grossbuchstaben beginnen.
19 / 69
Hauptmethode
public static void main(String[] args){}
Eine Klasse kann viele Methoden umfassen, deren Aufbauprinzipiell immer gleich ist, jedoch nur eine Hauptmethode mitdem Methodennamen main.
Hinter dem Methodennamen folgt in Klammern eineArgumentliste.
Hinter der Argumentliste folgt ein Paar geschweifteKlammern, die Anweisungen umschließen.
Besonderheit von main : Soll die JVM ein Programm in Form einerKlasse X ausführen, so wird genau die Hauptmethode der Klassegesucht und abgearbeitet.
20 / 69
Schlüsselworte
Die genaue Bedeutung und Verwendung einiger Schlüsselwortewird später behandelt, daher werden sie hier nur kurz erwähnt.
Schlüsselwort public (öffentlich) bedeutet, dass dieseMethode von beliebigen anderen Klassen benutzt werden darf.
Schlüsselwort void (leer) bedeutet, dass die Methode keinenRückgabewert hat.
Schlüsselwort static (statisch) bedeutet, dass dies eineKlassenmethode ist.
21 / 69
Befehl/Anweisung
System.out.println(‘‘Hello World!’’);
Ist hier der Aufruf einer Methode println mit dem Argument“Hello World!”.
Veranlasst die Ausgabe von Hello World! in einer Zeilegefolgt von einem Zeilenumbruch auf die Konsole(Standardausgabe).
println besteht wieder aus einer Menge von Anweisungen,die wir nicht sehen, da es eine vordefinierte Methode ist.
22 / 69
Zugriffsoperator
Ein weiteres (besonderes) reserviertes Zeichen in Java ist derPunkt . als sogenannter Zugriffsoperator. Beispiel
System.out.println(‘‘Hello World!’’);:
Die Methode println muss wie jede Methode innerhalb einerKlasse definiert sein.
Diese Klasse ist die Klasse out (verantwortlich für Ausgabe):out[.=etwas aus der Klasse]println().
Die Klasse out ist innerhalb der Klasse System(Systemaufgaben) definiert:System.(= besitzt die Methode/Klasse)out.(=
besitzt die Methode/Klasse)println().
System.out.println() ist voll qualifizierter Name der Methodeprintln(). Um Methoden der eigene Klasse aufzurufen, reicht dereinfache Methodenname.
23 / 69
2.5 Vom Programmtext zur Ausführung
Wir nutzen zur Eingabe des Programmtextes einen Editor(Nutzung klar :) und zum Kompilieren/Ausführung des Programmseine Kommandozeileneingabe:
1. Bearbeiten und Speichern des Programms unter.java.
2. Übersetzen (Kompilieren) des Programms (einfachsteMöglichkeit) mit javac .java.Es entsteht eine (unleserliche) Datei .class.
3. Ausführen des Programms mit java .
24 / 69
Arbeiten auf der Konsole unter Linux
Kompilieren/Ausführung desProgramms durchKommandozeileneingabe:
Öffnen einer “Konsole”.entspricht: Eingabeaufforderung, Terminal, ...spezieller: Shell, noch spezieller Bash, ...
Eingabe eines Befehls (ggf. mit Optionen, Parametern).
Abschluss mit Return.
25 / 69
Nützliche Befehle I
Kommando Effekt
ls Listet alle Dateien in diesem Verzeichnis auf.
cd path Wechselt in den mit path angegebenen Ordner.Der Pfad wird immer vom aktuellenVerzeichnis aus interpretiert.
cd \path Wechselt in den mit path angegebenen Ordner.Der Pfad wird jetzt von der Verzeichniswurzelausgehend interpretiert.
cd .. Wechselt in den Elternordner des aktuellen Ordners.cd $HOME Wechselt in das Home(-Verzeichnis) des Benutzers.
26 / 69
Nützliche Befehle II
Kommando Effekt
mkdir name Legt im aktuellen Verzeichnis einenneuen Ordner namens name an.
cp file path Kopiert die Datei filean die Stelle path.
cp file file1 Legt eine Kopie der Datei fileunter dem Namen file1 an.
cp -r/R path path1 Kopiert das ganze Verzeichnispath samt Inhalt nach path1.
cp -r/R path . Kopiert das ganze Verzeichnispath nach “hier”, d.h. in dasakltuelle Verzeichnis.
27 / 69
Nützliche Befehle III
Kommando Effekt
rm file Die Datei file wird gelöscht.rm -r/R name Das Verzeichnis name wird mit allen
Unterverzeichnissen und Dateien gelöscht.
rmdir name Das leere (!) Verzeichnis name wird gelöscht.
mv file file1 Benennt die Datei file in file1 um.(Die Endung wird nicht automatisch beibehalten!)
mv file path Verschiebt die Datei die Datei filean die Stelle path.
mv name name1 Benennt das Verzeichnis name in name1 um.
28 / 69
Hilfsoptionen
Hilfsoptionen zu einzelnen Befehlen (nicht bei allen verfügbar):
Kommando Effekt
man command Zeigt “Manual Page” (Handbuch)des Befehls command an.
command -h/-help/- -help Zeigt Optionen/Benutzungdes Befehls command an.
29 / 69
Tipps
Durch Drücken der Tab-Taste werden unvollständigeingegebene Befahle ergänzt, falls eindeutig möglich. (Sonstwerden mehrere Möglichkeiten oder gar nichts angezeigt.)
Pfeiltasten (↑, ↓) können vorherige/ spätere Kommandoswieder ausgewählt werden.
Soll das gleiche Kommando für viele Dateien mit ähnlicheNamen ausgeführt werden, können sogenannte wild cardsPlatzhalter, z.B. “*” benutzt werden, um die unterschiedlichenNamensteile zu ersetzen. Der Befehl, wird dann für alleDateien ausgeführt, die in das Namensmuster passen.Beispiel:
Kommando Effekt
cp java/*.java . Kopiert alle Dateien mit Endung“.java” nach hier.
30 / 69
Java-Kommandos
Kommando Effekt
javac file.java Kompiliert file.java.Erzeugt Datei file.class.
java file Führt die kompilierte Dateifile.class aus.
31 / 69
Das SSH-Kommando
Das Secure Shell Kommando (ssh) dient dem Einloggen aufRechnern über das Netzwerk.
Wird zur Zeit im Pool selbst verwendet, um sich vom eigenenArbeitsplatzrechner auf einen Server einzuloggen.
Kann auch von eigenem Rechner mit entsprechendemNetzzugang genutzt werden, um auf den Server zu gelangen.
Kommando:
Kommando Effekt
ssh username@servername Erzeugt (nach Passworteingabefür username) eine Konsoleauf dem Server servername.
32 / 69
SSH von zu Hause/Server
Unter Linux ist meist ssh standardmässig installiert, d.h. aufder heimischen Konsole kann man sich mit ssh- Kommandoauf den Uni-Server einloggen.
Unter Windows installiert man meist einen SSH-Client extra(siehe Website).
Servernamen:
sunfire.rrz.uni-koeln.de
dialog.rrz.uni-koeln.de
33 / 69
Das SCP-Kommando
Das SCP Kommando (scp) ist das Netzwerk-Pendant zumeinfachen Kopier-Kommando (cp).
Kann auf einer heimischen Linuxkonsole (standard mässig)direkt zum kopieren von Dateien in sein Uni-Home auf demUni-Server verwendet werden.
Wird unter Windows meistens von graphischen Oberflchenbenutzt/unterstützt (siehe SSH-Client, Website).
34 / 69
Verwendung von scp
Kommando Effekt
scp username@servername : path/file . Lädt die Datei filevom Server aufden eigenen Rechner.
scp file username@servername : path . Lädt die Datei filevom eigenen Rechnerauf den Server.
35 / 69
Hinweis zu scp
Liegt die Datei file direkt im Uni-Home entfällt path. Der Pfadpath wird ansonsten relativ zum Home-Verzeichnis angegeben
Beispiel: xxx.java liegt im Homeverzeichnis, UnterverzeichnisJavaKram. Folgender Befehl kopiert die Datei auf den eigenenRechner:
scp username@servername : JavaKram/xxx .java .
Bei Benutzung von ssh im PC-Pool müssen Dateien nicht hin undher kopiert werden!!! Auf dem Server stehen die gleichen Dateien(Home-Verzeichnis) zur Verfügung wie am Arbeitsplatzrechner!!!
36 / 69
2.5 Vom Programmtext zur Ausführung
Wir nutzen zur Eingabe des Programmtextes einen Editor(Nutzung klar :) und zum Kompilieren/Ausführung des Programmseine Kommandozeileneingabe:
1. Bearbeiten und Speichern des Programms unter.java.
2. Übersetzen (Kompilieren) des Programms (einfachsteMöglichkeit) mit javac .java.Es entsteht eine (unleserliche) Datei .class.
3. Ausführen des Programms mit java .
37 / 69
Erste Hindernisse
Falls bei Schritt 2 Fehler auftreten:
Command not found oder Ähnliches:Kein Java-Compiler installiert oder javac wird nicht gefunden(liegt nicht im vordefinierten Pfad).
Abhilfe: Mit which javac (Linux) bzw. where javac(Windows) den Pfad suchen und mit Pfad aufrufen bzw. Pfadsetzen.Falls kein Java-Compiler gefunden: Installation...
cannot read: .java oder Ähnliches:Die zu kompilierende Datei liegt nicht im aktuellenVerzeichnis. Abhilfe: Mit cd in das entsprechendeVerzeichnis wechseln oder mit javac -classpath .java kompilieren.
Letztere Möglichkeit wird auch beim Verwenden von Paketen(später) angewendet.
38 / 69
Kompilier-Fehler
Am häufigsten treten jedoch vom Compiler gemeldete Syntaxfehlerauf.
Diese sind meist mit Zeilenangabe versehene Kurzbeschreibung zurFehlersuche im Programmtext.
Häufige Fehler sind:
Tippfehler
Vergessene “;” “{” “}”
Fehlende/Mehrfache Deklaration (später)
Falscher Methodenaufruf (später)
39 / 69
Laufzeit-Fehler
Auch bei Schritt 3 treten Fehler auf:
Class definition not found oder Ähnliches:Pfadprobleme oder Ähnliches (s.o.)
Fehler beim Linken/Einbinden von mehreren selbsdefiniertenKlassen (mehrere Dateien), Pfadprobleme, Bibliotheken(Später).
Semantikfehler: Unerwartetes Ergebnis, Programm “stürztab”.
Hinweise zur Benutzung des Compilers (Optionen, Linken, etc.)mit:javac --help
40 / 69
2.6 Lesbarkeit des Programmcodes
Kommentare
erläutern Programm
verbessern Lesbarkeit
werden vom Compiler ignoriert
einzeilige Kommentare werden mit // eingeleitet
mehrzeilige Kommentare beginnen mit /* und enden mit */
Wichtig:In eigenen Programmen oft und ausführlichkommentieren!
41 / 69
Kürzere Formulierung möglich
Java-Programme werden durch die Zeilenstruktur undExtra-Leerzeichen nicht beeinflußt.
Ausnahme: Mit // eingeleitete Kommentare enden mit demZeilenumbruch!
Daher: Obige Funktion könnte man kürzer formulieren:
public class HelloWorld { public static void main(String[]
args) { System.out.println(‘‘Hello World!’’); }}
Nicht empfehlenswert !
42 / 69
Lesbarkeit
Durch Einfügen von Leerzeilen und durch Einrückung kann dieLesbarkeit stark gesteigert werden.
Deshalb sollte man Folgendes beachten:
Durch Leerzeilen sinnvoll gliedern
Nur ein Befehl je Zeile
Jedes { und } in eine eigene Zeile
Nach jedem { um 2 Zeichen einrücken
Geht ein Befehl über mehrere Zeilen, die folgenden Zeileneinrücken
43 / 69
Groß- und Kleinschreibung
Java ist case-sensitive, unterscheidet also zwischen Groß-und Kleinbuchstaben!
X ist nicht dasselbe wie x, Main() ist nicht dasselbe wie main()
44 / 69
2.7 Einfache Ein- und Ausgabe
Schon bekannt: Ein Ausgabe-Befehl:
System.out.println(‘‘Ausgabe und Zeilenumbruch‘‘)
I System: Automatisch in jedem Java-Programm verfügbareKlasse (Standardbibliothek).
I out: Instanz der Klasse PrintStream, automatisch in Systementhalten, Verknüpft mit Standardausgabe (Bildschirm).
Abgewandelte Ausgabe-Befehle:
System.out.println(): Zeilenumbruch
System.out.print(‘‘Ausgabe‘‘): Ausgabe
System.out.print(’’\ n‘‘): Zeilenumbruch
45 / 69
Ausgabe - Tipps
System.out.println(’’Die Zeile ist zuuuuuu‘‘
+’’lang.‘‘):
Die Zeile ist zuuuuuu lang.
int var=1; System.out.println(’’var=‘‘ +var+ ’’
Okay.‘‘):
var=1 Okay.
Ausgaben sind einfache Mittel zur Suche nach logischenFehlern:
I Ausgabe einer Variablen: Hat sie den richtigen Wert ?I Ausgabe in bestimmter Zeile: Wird das Programm bis hierhin
abgearbeitet ?
46 / 69
Eingabe
Um eine Eingabe von der Kommandozeile einzulesen und inunserem Programm zu verarbeiten, benötigen wir weiterevordefinierte Java-Klassen:
BufferedReader, InpuStreamReader:2 Klassen, um Zeichenketten (gepuffert) einzulesen.
System.in:Das Objekt in aus der Klasse System.
Ein vorbereitendes Programmstück:
BufferedReader in = new BufferedReader (
new InputStreamReader(System.in) );
Eigentlicher Einlese-Befehl:String name = in.readLine();
47 / 69
2.8 Import-Anweisung
Die beschriebene Eingabe-Klassen, gehören nicht zu denautomatisch ansprechbaren Klassen.
Sie gehören zum ”Paket“ java.io
Diese Paket muss explizit im Programmtext angegebenwerden, um die Eingabe-Klassen zu verwenden.
Alle Elemente dieses Paketes werden mit folgender Anweisung(Importanweisungen) eingebunden:
import io.*;
48 / 69
Import-Anweisung
Sogenannte Importanweisungen stehen immer als erstes(außerhalb der Klassendefinition) im Programmtext.
Dort werden Sie vom (Prä)prozessor gefunden und verarbeitet.
49 / 69
2.9 Ein Programm mit Ein- und Ausgabe
Ziele
Eingabe als komplexere Anweisung anwenden können.
Import-Anweisung benutzen, da für Eingabe notwendig.
Erste Ausnahme/Exception.
Erste Verwendung einer Variable.
50 / 69
Ein Grussprogramm I: Greets.java
1. /* Programmierkurs WS0708 AFS RS, BE, AS */
2. import java.io.*;
3. public class Greets
4. {
5. public static void main(String[] args)
6. throws IOException
7. {
8. BufferedReader in = new BufferedReader
9. ( new InputStreamReader(System.in) );
10. System.out.println( ’’What’s your name ? ‘‘);
51 / 69
Ein Grussprogramm I: Greets.java
1. /* Programmierkurs WS0708 AFS RS, BE, AS */
2. import java.io.*;
3. public class Greets
4. {
5. public static void main(String[] args)
6. throws IOException
7. {
8. BufferedReader in = new BufferedReader
9. ( new InputStreamReader(System.in) );
10. System.out.println( ’’What’s your name ? ‘‘);
Import-Anweisung vorKlassendefinition!
52 / 69
Ein Grussprogramm I: Greets.java
1. /* Programmierkurs WS0708 AFS RS, BE, AS */
2. import java.io.*;
3. public class Greets
4. {
5. public static void main(String[] args)
6. throws IOException
7. {
8. BufferedReader in = new BufferedReader
9. ( new InputStreamReader(System.in) );
10. System.out.println( ’’What’s your name ? ‘‘);
Ausnahme: Fehler-behandlung Wirdbei Verwendung derEingabe- Klassenverlangt (Später).
53 / 69
Ein Grussprogramm I: Greets.java
1. /* Programmierkurs WS0708 AFS RS, BE, AS */
2. import java.io.*;
3. public class Greets
4. {
5. public static void main(String[] args)
6. throws IOException
7. {
8. BufferedReader in = new BufferedReader
9. ( new InputStreamReader(System.in) );
10. System.out.println( ’’What’s your name ? ‘‘);
Lange Befehle: 2-zeiligund eingerückt.
54 / 69
Grussprogramm II
1. // Tastatureingabe einlesen!
2. String name = in.readLine();
3. System.out.println();
4. System.out.println(’’Buon Giorno,‘‘+ name);
5. }
6. }
55 / 69
Grussprogramm II
1. // Tastatureingabe einlesen!
2. String name = in.readLine();
3. System.out.println();
4. System.out.println(’’Buon Giorno,‘‘+ name);
5. }
6. }
Einlesen in Variablename vom Typ String.
56 / 69
Grussprogramm II
1. // Tastatureingabe einlesen!
2. String name = in.readLine();
3. System.out.println();
4. System.out.println(’’Buon Giorno,‘‘+ name);
5. }
6. }
What’s your name ?
57 / 69
Grussprogramm II
1. // Tastatureingabe einlesen!
2. String name = in.readLine();
3. System.out.println();
4. System.out.println(’’Buon Giorno,‘‘+ name);
5. }
6. }
What’s your name ?
Nemo ←↩
58 / 69
Grussprogramm II
1. // Tastatureingabe einlesen!
2. String name = in.readLine();
3. System.out.println();
4. System.out.println(’’Buon Giorno,‘‘+ name);
5. }
6. }
What’s your name ?
NemoBuon Giorno, Nemo
59 / 69
Top Related