Basisdatentypen – etwas Theorie muss sein

Programmieren: Java-Buch erscheint demnächst

Mupples bringt Vorübungen und Buchauszüge von J. Anton Illik: „Erfolgreich programmieren mit Java – vom Einsteiger zum Könner„, wenn Sie für die HFU-Vorlesung und Übung hilfreich sind. Ziel dabei ist es auch, Ihre konstruktive Kritik in den Kommentaren abzuholen. Gerne können wir in der Vorlesung und Übung auch darüber diskutieren. In diesem Post geht es um die Basisdatentypen von Java.Alle einfachen Typen von Java sind in allen Implementationen einheitlich definiert. Also plattformunabhängig, überall, wo Java zum Einsatz kommt. „Toll“ werden die Programmierer von C-Sprachen sagen, den JAVA-Programme erfreuen sind größerer Portabilität (Übertragbarkeit auf andere Betriebssysteme und Prozessoren), als dies für Programme in C und C++ gilt, dort ist nämlich die Bitbreite der Basisdatentype vom Prozessor der Maschine abhängig. Natürlich muss an dieser Stelle auch zugegeben werden, das dies in ganz speziellen Situation auch ganz praktisch sein kann. Nun aber zu Java.

java-datentypen
Java Datentypen

Im folgenden sehen wir alle einfachen Typen, die von JAVA unterstützt werden. Man nennt diese einfachen Datentypen auch Basisdatentypen oder skalare Datentypen. Später lernen wir kennen, das zusammengesetzte Datentypen aus mehreren Komponenten bestehen.

Hier einige skalare Datentypen:

  • boolean  Ein Datentyp mit Werten der Form wahr/falsch. Deshalb auch „Wahrheitswert“ genannt oder boolescher Datentyp. Zwischen den (booleschen) und den anderen einfachen Typen gibt es keine Konvertierung. Konvertierungen sind Typumwandlungen (dazu später mehr).
  • byte  1 Byte = 8 Bit lange, vorzeichenbehaftete Größe; wird als Ganzzahl mit „kleinem“ Wertebereich (von -128 … +127) gesehen
  • short  2 Byte = 16 Bit lange, vorzeichenbehaftete Größe; wird als Ganzzahl mit „mittlerem“ Wertebereich (von – 32.768 … +32.767) gesehen
  • char  2 Byte = 16 Bit langes Zeichen; damit lassen sich alle Zeichen aller Alphabete darstellen (UNICODE), also auch Deutsche Umlaute ä, ö, …
  • int  4 Byte = 32 Bit lange, vorzeichenbehaftete Integer-Zahl; Wertebereich -2.147.483.648… +2.147.483.647
  • float 4 Byte = 32 Bit lange Fließkommazahl mit „normalem“ Wertebereich (von 1.4*10-45…3.4028235*1038)
  • double  8 Byte = 64 Bit lange (doppelt genaue) Fließkommazahl mit „großem“ Wertebereich (von 5+10-324…1.797693134*10308 )
  • long 8 Byte = 64 Bit lang, vorzeichenbehaftete Ganzzahl mit „großem“ Wertebereich von -9.223.372.036.854.775.808 bis +9.223.372.036.854.775.807)

Die Bezeichnungen für die einfachen Datentypen sind sogenannte Schlüsselworte (engl: keywords). Diese Schlüsselworte sind von der Sprache zwingend vorgegeben und wir müssen Sie genauso und nicht anders schreiben, sonst ändert sich die Bedeutung oder das falsch geschriebene Schlüsselwort verliert seine Bedeutung und wird zum Fehler!

            Die Größenordnungen schon im Griff?
1 Kilobyte kB = 1.000 Byte
1 Megabyte MB = 1.000’000 Bytes (1.ooo KB)
1 Gigabyte GB = 1.000.000.000 Bytes (1.000 MB)
1 Terabyte TB = 1.000.000.000.000 Bytes (1.000 GB)
1 Petabyte PB = 1.000.000.000.000.000 Bytes (1.000 TB)
1 Exabyte EB = 1.000.000.000.000.000.000 (1.000 PB)
1 Zettabyte ZT = 1.000.000.000.000.000.000.000 (1.000 EB)
1 Yottabyte YB  = 1.000.000.000.000.000.000.000.000 (1.000 ZB)

Im folgenden sehen Sie ein Java-Programm, das ausschließlich aus Deklarationen von lokalen Variablen besteht. Ausser der Deklaration wird mit diesen lokalen Variablen (die Variablen gelten nur lokal in der Methode main() ) nichts weiter gemacht. Das Beispiel zeigt also nur, wie lokale Variablen deklariert und initialisiert werden. Unter einer Initialisierung versteht man ein erste Werte-Zuweisung an die Variable.

public class nur_Basisdatentypen_01 {
    public static void main(String[] args) {
             // Variablen-Deklarationen und Initialisierungen 
             byte achtBitByte = (byte)130;
             boolean neu; //Deklaration einer boolean-Variablen. 
             neu = true;  //boolesche Varible wird initialisiert.
             // Variablen-Deklaration und Initialisierung  
             byte achtBitByte = (byte)130;
             short sechzehnBits = Short.MAX_VALUE;;
             char sechzehnBitUnicode = 'ß';
             int zweiunddreissigBit_GZ = Integer.MAX_VALUE;;
             int schuh_groesse; //"sprechender Variablenname
             float zweiundreissigBit_FZ = Float.MAX_VALUE;
             double vierungsechzigBit_DZ = Double.MAX_VALUE;
             long vierundsechzigBit_LZ = Long.MAX_VALUE;
             System.out.print("9 Basisdatentyp-Variablen");
         } //end of main()
     } //end of class

In den Voruebungen geht es diesmal um die Basisdatentypen, damit wir diese möglichst rasch in unseren Java-Programmen einsetzen können.

NeonDie Besprechung und Demonstration der Vorübungen rund um skalare Datentypen (Voruebung3) sehen Sie auf Youtube.