This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. Variablen sind **Container**, um Daten/ Werte zu speichern. Der Begriff **Variable** leitet sich vom lateinischen *variabilis* ("veränderlich") ab. Das drückt sehr schön aus, was eine Variable ist: **Eine Variable ist eine Container/Platzhalter für Daten, die sich verändern können. Der Name der Variable bleibt erhalten und ändert sich nicht** Als Programmierer wirst du feststellen, dass du die Welt strukturieren musst und auf ihre kleinen und kleinsten Bausteine herunterbrichst. Dabei wirst du vielleicht bemerken, dass wir die Welt mit nur einer handvoll unterschiedlicher Datentypen beschreiben können. Zunächst gibt es die Unterscheidung zwischen **primitiven** und **nicht-primitiven** Datentypen. Dabei sind primitive Datentypen solche, die bereits mit Java "out of the box" mitgeliefert werden. Sie sind die Grundbausteine, aus denen wir alle anderen Datentypen in Java basteln können. Diese anderen, "gebastelten", aus primitiven Datentypen zusammengesetzte Datentypen sind die berühmten **Klassen**. ## Primitive Datentypen `String` - speichert Text. Immer umschlossen von Hochkommata/ Double quotes `int` - speichert Integers/ Ganzzahlen. `float` - speichert Kommazahlen. `boolean` - speichert Wahrheitswerte wahr/falsch. Mit diesen vier Datentypen kommen wir schon sehr weit. Bei den Zahlen-Datentypen gibt es noch weitere Untergruppen, die die Größe bzw. Präzision betreffen. Zusätzlich gibt es noch den Datentyp `char` - speichert Einzelbuchstaben. Umschlossen von Einfachen Hochkommata/ Single quotes. ## Datentypen und Größe Java ist eine **typisierte** Sprache, d.h., jeder Variable muss ein Datentyp zugewiesen werden. Das bewirkt, dass zum Einen nicht einfach in eine Variable, die das Alter einer Person speichern soll, die Adresse von der Person gespeichert werden kann. Gleichzeitig wird für die Variable im Speicher ein bestimmter Platz von einer **vorhersagbaren Größe** reserviert. Das ist einer der Gründe, warum Java-Programme recht flott sind. | Daten-Typ | Größe | Beschreibung | Initialisierung | |-|-|-|-| | `byte` | 1 byte | Ganzahlen von -128 bis 127 | | | `short` | 2 bytes | Ganzahlen von -32,768 bis 32,767 | | | `int` | 4 bytes | Ganzahlen von -2,147,483,648 bis 2,147,483,647 | | | `long` | 8 bytes | Ganzahlen von -9,223,372,036,854,775,808 bis 9,223,372,036,854,775,807 | | | `float` | 4 bytes | Gleitkommazahlen. Ausreichend für 6 bis 7 Stellen | `float f = 4.5f` Beachte: `float` endet mit einem angehängten **f**| | `double` | 8 bytes | Gleitkommazahlen. Ausreichend für 15 Stellen | | | `boolean` | 1 bit | true oder false | | | `char` | 2 bytes | Einzelbuchstabe | ## Deklaration und Initialisierung Variablen müssen in jeder Programmiersprache auf eine ganz bestimmte Art und Weise zunächst einmal **deklariert** und anschließend **initialisiert** werden. In Java gehört zur Deklaration die Angabe des Datentypes `type variableName = value;` Der **Variablentyp** und -natürlich- der **Variablen-Name** (der Name, unter dem eine Variable für den Rest des Programms angesprochen wird) müssen bekannt gemacht werden: ``` java int myNum = 5; float myFloatNum = 5.99f; char myLetter = 'D'; boolean myBool = true; String myText = "Hello"; ``` Im Anschluss muss dieser Variablen ein Wert zugewiesen werden - sie wird **initialisiert**. Dieser Prozess kann auch in 2 Schritten stattfinden: Erst Deklaration, später dann Initialisierung: ``` java String name; ... name = "Bugs Bunny"; ``` ## Ausgabe von Gleitkommazahlen Wie auch am Taschenrechner, ergibt eine Rechnung wie `1 / 3 = 0,3333333` eine unendliche Zahl von Nachkommastellen. Oftmals ist dieser Effekt aber unerwünscht. Wenn du nun bsp. eine Berechnung mit Währungen anstellst, möchtest du mit Sicherheit nur 2 Nachkommastellen haben. Dies bekommst du natürlich hin durch den Einsatz von `System.out.printf()` - beachte das `printf()` anstelle des altbekannten `print()` oder `println()` Durch die kryptische Zeile `System.out.printf(“Betrag: %2.2f Euro”, betrag)` gibst du den Wert, der in der Variable `betrag` gespeichert ist auf 2 Nachkommastellen und selbst wenn die Zahl kleiner sein sollte mit mindestens 2 führenden Ziffern aus. Beachte: In der Programmierwelt ist der Punkt `.` das Kommazeichen - die Zahlen heißen auf englisch halt auch **Floating-Point-Numbers**. ## Klasse **Hier nochmal der Hinweis mit der Großschreibung von Klassen und Dateien. Glaub mir, es hat seinen Grund.** ``` java public class Wunderbar{ public static void main(String[] args){ System.out.println("Wunderbar"); } } ``` \<WRAP center round tip 100%\> Wie du siehts sind sowohl im Dateinamen `Wunderbar.java` als auch im Klassen-Namen `public class Wunderbar` die Bezeichner **Wunderbar** groß geschrieben. Ich wiederhole: **Datei-Namen und Klassen-Namen sind groß geschrieben und stimmen exakt überein!** Tue dir einfach den Gefallen, und schreib niemals, niemals, never ever einen Klassen-Namen oder einen Datei-Namen klein. Deine Nerven werden es dir danken ;) \</WRAP\>