Schüler-IT/Imperative Programmierung

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Java</language>
== Einstieg ==
Die imperative Programmierung ist eines der ältesten Programmierparadigmen - was nicht bedeutet, dass sie heute ungebräuchlich ist. Ein imperatives Programm ist eine lineare Abfolge von Anweisungen. Ein Beipiel:

Programm: MachWasMitMeinenDateien<br/>
1 Datei suchen // Programmbeginn<br />
2 Datei öffnen<br />
3 Etwas in Datei suchen<br />
4 Etwas aus Datei löschen<br />
5 Etwas an Dateiende schreiben<br />
6 Datei schließen // Programmende<br />

Dies scheint recht simpel zu sein? Ist es auch. Programme können natürlich in der Praxis recht komplex werden, doch grundlegend ist es nichts weiter als das. Damit haben Sie das Grundkonzept der imperativen Programmierung verstanden. Hier ist der Kurs allerdings nicht zuende, sondern hat gerade erst begonnen. Ich werde mich bemühen, Ihnen alles in kleinen Häppchen zu servieren, da diese oft leichter verdaulich sind als komplexe Abschnitte. Beginnen wir nun also zunächst mit etwas Java.

=== Hello World! ===
Da Sie den grundlegenden konzeptionellen Ansatz nun verstanden haben, wollen wir etwas praktisches nachlegen. Beginnen wir nun ganz klassisch mit einem "Hello World!"-Programm. Klicken Sie hierzu auf "speichern & ausführen".
<run id="51fee7dbdd80a">System.out.println("Hello World!");</run>
Der Text "Hello World!" wird in der Konsole angezeigt. Zur Erläuterung: Die Anweisung System.out.println("<mein text>"); ist dafür verantwortlich, Dinge in der Konsole auszugeben. Merken Sie sich diese gut - Sie werden sie des Öfteren verwenden müssen. Wichtig zu erwähnen ist noch das wohl Unscheinbarste - das Semikolon. Einzelanweisungen wie diese enden in Java immer mit einem Semikolon und bitte notieren Sie auch nie mehr als eine Anweisung pro Zeile, um Verwirrung zu vermeiden. Es gibt noch eine zweite Art der Anweisungen - die Blöcke. Blöcke werden in geschweiften Klammern zusammengefasst, doch dazu später mehr. Vorerst merken Sie sich einfach: Kein Semikolon am Anweisungsende - kein funktionierendes Programm! Sie glauben nicht, wie oft es in der Praxis vorkommt, dass ein fehlendes Semikolon oder eine nicht geschlossene Klammer dafür sorgt, dass der Code nicht getestet werden kann, weil man direkt eine Fehlermeldung erhält und das Programm nicht startet.

=== Ihr erstes eigenes Programm ===
Damit Sie nun aber auch selbst aktiv werden können, setzen Sie doch bitte im folgenden Eingabefeld das am Anfang gezeigte Beispiel so um, dass jede der sechs Anweisungen als Text ausgegeben wird.
<run id="51feebbca501b"></run>
<popup name="Musterausgabe">
Datei suchen<br />
Datei öffnen<br />
Etwas in Datei suchen<br />
Etwas aus Datei löschen<br />
Etwas an Dateiende schreiben<br />
Datei schließen
</popup>
<run id="51feed6f2dc5e"></run>
Jetzt fragen Sie sich vielleicht, ob das nicht absolute Zeitverschwendung ist und Sie die Zeit nicht mit sinnvolleren Dingen verbringen sollten, da das Ausgeben von Text wohl nicht das ist, was Sie wollten, als Sie begonnen haben. Ich kann Sie beruhigen. Ihre Programme werden bald deutlich komplexer werden und weit mehr können als Text Zeile für Zeile auszugeben. Machen wir also weiter mit Variablen und Konstanten.

== Variablen und Konstanten ==
=== Was ist das? ===
Wenn Sie in ihrem Programm Daten zwischenspeichern möchten, um z.B. später weiter mit ihnen zu arbeiten, können sie dies mit Hilfe von Variablen und Konstanten tun. Eine Variable hat hierbei (der Name verrät es) einen variablen Inhalt. Eine Konstante hingegen verfügt (wer hätte das gedacht) über einen konstanten Inhalt. Wollen Sie z.B. einen Wert wie Pi nutzen, sollten Sie, da Pi eine Konstante ist, auch eine solche zur Speicherung des Wertes nutzen. Wollen Sie hingegen z.B. ein Programm entwickeln, das ihren Kontostand überwacht, würde sich, da Ihr Kontostand variiert, eine Variable zur Speicherung des Wertes anbieten. Damit sind wir, was den konzeptionellen Ansatz angeht, am Ende dieses Informationshäppchen angelangt. Im folgenden verrate ich Ihnen, wie sie Variablen und Konstanten in Java nutzen können. Da die Zahl Pi als Konstante in Java bereits zur Verfügung steht, lohnt es nicht, diese nochmals zu definieren. Wir nehmen also die Zahl 42 ([http://de.wikipedia.org/wiki/42_%28Antwort%29|warum?]) und eine beliebige ganze Zahl zwischen neun und elf. Wie wäre es also mit zehn?

=== Definieren ===
Bevor wir eine Variable oder Konstante nutzen können, müssen wir sie zunächst einmal definieren. Aber wie funktioniert das? Generell funktioniert es wie das definieren eines beliebigen Wortes. Wir geben der Sache einen Namen wie z. B. Energie und geben dazu an, was das ist (die Fähigkeit eines Körpers Licht auszusenden, Wärme abzustrahlen oder mechanische Arbeit zu verrichten). Wir nennen unsere Konstante also z. B. sinnDesLebens und geben ihr den Wert 42 (ihren Initialwert). Variablen und Konstanten müssen immer erst initialisiert werden, bevor man sie verwenden kann. Ein Programm darf keine nicht initialisierten (also nicht definierten) Variablen oder Konstanten enthalten.<br />
In Java hat alles einen Typ (Java ist eine stark typisierte Sprache - später mehr dazu). So sind also die Zahlen 42 und 10 ganze Zahlen und sind daher vom Typ integer (Ganzzahl; im Code: ''int''). Da wir diese vorerst global (also im gesamten Programm verfügbar) definieren, müssen wir noch das Wort ''static'' voranstellen.<br />
Wir schreiben also für unsere Variable: static int beliebigeZahl = 10;<br /><br />
Bei unserer Konstanten ist dies leider noch nicht ausreichend. Wir müssen sie schließlich daran hindern, im Programmverlauf versehentlich ihren Wert zu ändern. Nicht auszudenken, was passiert, wenn der Sinn des Lebens plötzlich 43 wäre. Darum müssen wir sie noch mit einem weiteren Modifikator ausstatten, denn Modifikatoren (zu denen auch ''static'' zählt) haben (erneut verrät es bereits der Name) die Eigenheit, Eigenschaften von Dingen zu verändern. So übergeben wir also noch den Modifikator ''final'' (endgültig) an unsere Variable, um sie zur Konstante zu machen.<br />
So schreiben wir also, um eine Kostante zu definieren: static final int sinnDesLebens = 42;<br />
Definieren Sie nun im folgenden Eingabefeld beide Variablen und geben Sie diese in der Konsole aus.
<run></run>
<popup name="Hinweis">Sie können den Variablen- /Konstantennamen in die Klammern eingeben.</popup>

=== Nutzen ===
Da Sie nun wissen, wie sie