Basistypen Flashcards
Klassen
° Abstraktionen für das Objekt-Orientierte Paradigma
° kapselt den Zustand und das Verhalten
° Objekte sind Exemplare von Klassen
Klassendefinition
° beschreibt Verhalten und Zuständer der Exemplare
- Verhalten wird definiert über die Methoden
- Zustände werden definiert über die Zustandsfelder
Typen
° Ein Typ definiert welche Arten von Werten ein Parameter annehmen kann (Belegung).
-> int, boolean, double …
° legt: mögliche Elemente der Wertemenge und zulässige Operationen fest
Objekte (Exemplare)
° Elemente eines spezifischen Typs
Elementare Typen (Basistypen)
° byte: Ganze Zahlen; 1 byte; -128 bis +128
° short: Ganze Zahlen; 2 bytes; -32.768 bis +32.767
° int: Ganze Zahlen; 4 bytes; -2^31 bis 2^(31) -1
° long: Ganze Zahlen; 8 bytes; -2^(63) bis 2^(63) -1
° float: Gleitkommazahlen; 4 bytes; +-1.4E-45 bis +-3.4E38
° double: Gleitkommazahlen; bytes; +-4.9E-324 bis +-1.7E308
° char: Zeichen; 2 bytes; 16-bit Unicode Zeichen
° boolean: Wahrheitswerte; 1 bit; true oder false
Zeichen
° werden durch vordefinierte Werte eines Zeichensatzes repräsentiert
° Einzelne Zeichen im Quelltext als Literale in Hochkommata notiert:
char c = ‘4’;
int i = 4;
ASCII
° 7-Bit-Code zur Darstellung von Ziffern, Buchstaben und Sonderzeichen
° Jeder ASCII-Codezahl zwischen 0 und 127 entspricht ein Zeichen.
Literale
.
Hexziffer
.
Gleitkommazahlen
° Begrenzter Speicher für Zahlendarstellung
° begrenzte Genauigkeit
° Operationen auf ganze Zahlen werden im Wertebereich exakt berechnet
-> bei Gleitkommazahlen ist das nicht möglich
° Fundamentales Problem der digitalen Datenverarbeitung
° Gleitkommazahlen sollten möglichst vermieden werden
° Beachtung des Wertebereiches und der Genauigkeitsgrenzen
Typumwandlung
° implizit (automatisch)
° explizit (durch den Programmierer)
° Art der Umwandlung hängt von Ausgangstyp und Zieltyp ab
Implizite Typumwandlung
° Zieltyp hat höhere Genauigkeit als Ausgangstyp
° Automatische Umwandlungen können auch mehrfach innerhalb eines Ausdrucks auftreten
Explizite Typumwandlung
° Zieltyp hat niedrigere Genauigkeit als Ausgangstyp
° in Java nicht zulässig, weil Genauigkeit verloren geht