K-EL: Variablen und Datentypen (2)
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Java</language>
= Einführung =
Wir wollen mit diesen ersten Übungen in die Welt der Programmierung eintauchen.
= Nutzen von Variablen =
== Variablen deklarieren ==
Wir haben gesehen, dass es meist sinnvoll ist, nicht direkt mit den Werten zu arbeiten, sondern mit Variablen. Wir wollen uns anschauen, wie Variablen in der Programmiersprache festgelegt werden.
Dazu benötigen wir die Datentypen, denn, wir erinnern uns, jeder Variable muss gesagt werden, von welchem Typ sie ist, beziehungsweise, welche Werte sie aufnehmen kann.
Das folgende Beispiel erzeugt eine Variable x vom Typ Integer, also eine natürliche Zahl.
<code id="4f8f15db3f43c">int x;</code>
Nachdem die Variable deklariert wurde, kann ihr ein Wert zugewiesen werden, hier 5.
<code id="4f8f15db3f4aa">x = 5;</code>
Damit wir sehen können, ob der Computer uns auch verstanden hat und die Variable richtig angeelgt und mit dem korrekten Wert belegt hat, können wirden Wert der Variable wieder ausgeben, also uns anzeigen lassen. Um dies zu tun, nutzen wir folgendes Kommando:
<run id="4f8f15db3f5f1">System.out.println(x);</run>
Nachdem wir nun die Variable definiert und mit einem Wert belegt haben, können wir mit ihr rechnen.
<run id="4f8f15db3f672">
double rechnung = x + x + x + x;
System.out.println(rechnung);
</run>
'''Übungen zu obigem Beispiel'''
* Weise der Variable x einen anderen Wert zu und lass den letzten Ausdruck neu berechnen
* Was passiert, wenn du eines der Semikola weglässt/löschst?
* Berechne statt 4x den Term x<sup>2</sup>+3x-10 für verschiedene Werte x (-3,4,5,100,123456) [Nur Grundrechenoperationen +|-|*|/].
Wir können der Variabel auch erneut Werte zuweisen, der alte Wert wird dann überschrieben.
Der Wert der Variable $rechnung$ ist zunächst $17$, da $2 * g + 3 = 2 * 7 + 3 = 17$.
Direkt danach wird $rechnung$ dann aber auf 5 gesetzt, und danach auf $rechnung / 2$, also $5 / 2 = 2.5$.
<run>
double g = 7;
double rechnung = 2*g + 3;
rechnung = 5;
rechnung = rechnung / 2;
System.out.println(rechnung);
</run>
== Strings ==
Neben Zahlen als Inhalt für Variablen haben wir Strings kennengelernt. Im folgenden Beispiel wird die Variable text vom Typ String erzeugt und ihr der Wert "Hallo Welt!" zugewiesen:
<code id="4f8f15db3f525">String text = "Hallo Welt!";</code>
Mehrer Strings können, ähnlich wie Sätze, die aneinandergereiht einen Text ergeben, mittels + miteinander verkettet werden. Der Zusammengesetzte Text kann wiederum einer neuen Variable zugewiesen werden:
<run id="4f8f15db3f700">
String satz1 = "Es war einmal vor langer, langer Zeit in einem Land weit entfernt.";
String satz2 = "Dort wohnte Marie, eine junge Bäuerin.";
String satz3 = "Und wenn Sie nicht gestorben ist, so lebt sie dort noch heute";
String maerchen = satz1 + satz2 + satz3;
System.out.println( maerchen );
</run>
== Kommentare verwenden ==
Damit jemand, der den Code liest, besser verstehen kann, was der Code machen soll, kann man überall im Code Kommentare hinterlassen.
Man schreibt einfach zwei Schrägstriche (//). Alles, was dahinter steht, ignoriert der Computer einfach.
<run id="4f8f15db3f77e">
// Hallo! Ich bin ein Kommentar!
int a = 3; // Ich kann auch hinter einer Anweisung stehen.
int b = 5; // So kann ich dem Leser erklären, was ich vorhabe.
// In diesem Fall: nix sinnvolles. :)
System.out.println(a);
</run>
Selbst recht einfache Programme sind für den Leser nur noch sehr schwer nachzuvollziehen, wenn erklärende Kommentare fehlen.
== Ausgabe von Texten ==
Mithilfe von System.out.println() können wir auch Texte und Werte von Variablen kombiniert ausgeben:
<run id="4f8f15db3f7fc">
int a = 2; // Länge des Rechtecks
int b = 3; // Breite des Rechtecks
// Berechnung des Flächeninhalts
int A = a * b;
System.out.println("Der Flächeninhalt eines Rechtecks mit den Seitenlängen " + a + "cm und " + b + "cm beträgt " + A + "cm²")
</run>
Wir müssen also z.B. den String "Der Flächeninhalt eines Rechtecks mit den Seitenlängen " nicht erst in einer Variablen speichern.
= Erstes 'größeres' Programm =
Es soll der Flächeninhalt* des Nikolaushauses berechnet werden. Hier eine Skizze:
[[Bild:Elephan_HausNikolaus.png]]
Wie können wir den Flächeninhalt berechnen?
* berechnen den FI des Rechtecks
* berechne den FI des Dreiecks
* addiere FI rechteck und FI Dreieck
'''Aufgabe'''
* Lies dir den Quelltext einmal komplett durch.
* An den interessanten Berechnungsstellen steht stets '''0.0'''. Trage statt der 0.0 an diesen Stellen den entsprechenden Term zur Berechnung der jeweiligen Größe ein
<run id="4f8f15db3fac2">
double a = 5; // Breite des Hauses in m
double b = 4; // Höhe des Hauses ohne Dach in m
double h = 3; // Dachhöhe in m
// Flächeninhalt des Hauses ohne Dach
double rechteck = 0.0;
// Flächeninhalt des Dachs
double dach = 0.0;
// Gesamtfläche
double gesamt = 0.0;
System.out.println('Der Flächeninhalt des Hauses beträgt ' + gesamt + 'm².');
</run>
<popup name="*)">
Streng genommen, ist ein Haus ja ein Körper im dreidimensionalen Raum, besitzt also ein Volumen. Da der Nikolaus aber nur auf dem Papier existiert, somit nur 2D ist, reicht ihm auch ein 2D Haus aus, welches natürlich nur einen Flächeninhalt und kein Volumen besitzt. ;)
</popup>