robotik:lektion1:07_einfache_datentypen [NwT am Albert-Einstein-Gymnasium Reutlingen]

Benutzer-Werkzeuge

Webseiten-Werkzeuge


robotik:lektion1:07_einfache_datentypen

7 Einfache Datentypen

Nachdem bei der Erläuterung der Variablen bereits der Datentyp int für Ganzzahlen (integer) eingeführt wurde, sollen nun alle anderen von Java bereitgestellten Datentypen vorgestellt werden, die in unseren Programmen eine Rolle spielen. Neben Variablen für ganze Zahlen benötigen wir in unseren Programmen vor allem Variablen für Dezimalzahlen, die in diesem Zusammenhang auch Fließkommazahlen genannt werden. Beispiele für Fließkommazahlen sind 1,75 oder 5,73·10-12. Allerdings muss in Java der Punkt als Dezimaltrennzeichen verwendet werden. Für Dezimalzahlen in wissenschaftlicher Schreibweise ist die von Taschenrechnern bekannte Schreibweise üblich (siehe nachfolgendes Beispiel). Das Java-Schlüsselwort für den Datentyp „Fließkommazahl“ ist float. Variablendeklarationen für Fließkomma-Variablen könnten z.B. so aussehen:

float pi = 3.1416f; // Kreiszahl
float radius = 1.496e11f; // Radius der Erdumlaufbahn in m
float umfang = 2f*pi*radius; // Umfang der Erdumlaufbahn in m

In der ersten Programmzeile wird eine neue Variable für Fließkommazahlen mit Namen pi deklariert und mit dem Anfangswert 3,1416 initialisiert. Auffällig ist, dass hinter konkreten Fließkommazahlen auf der rechten Seite der Zuweisungen noch ein kleines f geschrieben werden muss. Andernfalls meckert der Compiler beim Übersetzen, denn Fließkomma-Konstanten ohne das f missversteht er als Zahlen vom Datentyp double. double ist ein Datentyp für Fließkommazahlen mit „doppelter“ Genauigkeit (und damit doppeltem Speicherbedarf). Während man auf dem PC normalerweise mit double-Variablen arbeitet, müssen wir auf dem Roboter etwas sparsamer mit dem Speicher umgehen und verwenden daher float-Variablen.

Ein weiterer Datentyp, den du kennen solltest, ist der Datentyp boolean für sogenannte Ja/Nein-Informationen. Eine boolean-Variable kann nur 2 mögliche Werte annehmen, nämlich true (für „ja“, „wahr“ oder „richtig“) bzw. false (für „nein“ oder „falsch“). Ja/Nein-Informationen sind die kleinsten Informationseinheiten, die man speichern kann. Im Prinzip reicht ein einziges Daten-Bit (mit den möglichen Zuständen 1 oder 0), um eine Ja/Nein-Information zu speichern. Du wirst später sehen, wie man mit Ja/Nein-Informationen den Programmablauf steuern kann. Auch wenn man dazu in der Regel keine boolean-Variablen anlegen muss, wird im folgenden Beispiel die Deklaration von boolean-Variablen gezeigt:

int n = -4;
boolean binFertig = false;
boolean nIstNegativ = (n < 0);

Nachdem in der ersten Zeile eine Ganzzahl-Variable mit Namen n und Anfangswert -4 angelegt wird, folgt in der zweiten Zeile die Deklaration einer boolean-Variable binFertig mit Angangswert false. Die Initialisierung der boolean-Variable nIstNegativ ist interessanter, weil der Anfangswert vom Wert der Variablen n abhängt. In diesem Fall besitzt n den Wert -4. Die Auswertung der Bedingung (n < 0) liefert als Ergebnis true, denn -4 ist tatsächlich kleiner als 0. Der Anfangswert der Variablen nIstNegativ ist also true.

Aufgabe

Erzeuge im Projekt Konsole eine neue Klasse Datentypen. Ersetze den Beispielprogrammtext durch folgende Programmzeilen:

int zaehler = 4
float faktor = 1,4f;
float produkt = 1.5 * faktor;
konsole.schreibe("Zähler: ");
konsole.schreibeZeile(zaehler);
konsole.schreibe(Produkt: );
konsole.schreibeZeile(produkt);

int zaehler = 4;
float faktor = 1.4f;
float produkt = 1.5f * faktor;
konsole.schreibe("Zähler: ");
konsole.schreibeZeile(zaehler);
konsole.schreibe("Produkt: ");
konsole.schreibeZeile(produkt);

Beim Übersetzen des Programms gibt der Compiler Fehlermeldungen aus. Behebe die Fehler im Programm und teste das Programm. Gehe erst zur nächsten Seite, wenn du alle Fehler beheben konntest.


Fließkommazahlen vom Datentyp float müssen mit einem Punkt als Dezimaltrennzeichen und einem nachfolgenden f angegeben werden (z.B. 54.99f).

robotik/lektion1/07_einfache_datentypen.txt · Zuletzt geändert: 2016/09/22 17:13 von gollnik