8 Typwandlungen. 8.1 Automatische Typkonvertierungen
|
|
- Dorothea Reuter
- vor 7 Jahren
- Abrufe
Transkript
1 8 Typwandlungen Hier geben wir Ihnen weitere Informationen zu Goto Java 2, die Sie ergänzend zu Hausaufgabe 3 lesen sollten. Sie sollten für die weiteren Ausführungen zunächst in Go To Java Kapitel 4.6 über Typkonvertierunen lesen. Dort wird besprochen, welche Typkonvertierungen der Java Compiler automatisch vornehmen kann leider werden keine Beispiele für Typkonvertierungen gebracht, und es wird auch nicht erwähnt, warum Typkonvertierungen wichtig sind. 8.1 Automatische Typkonvertierungen Im vorigen Kapitel haben Sie gelernt, daß jeder Ausdruck in einem Java Programm einen Datentyp hat. Manchmal ist es notwendig, einen Ausdruck eines gewissen Datentyps in einen anderen Datentyp umzuwandeln. Teilweise werden diese Umwandlungen durch den Java Compiler automatisch vorgenommen, teilweise muß man sie explizit befehlen. Warum Typwandlungen überhaupt nötig sind, soll an einem Beispiel demonstriert werden. Es seien die folgenden Variablen definiert: int i1 = 5; int i2 = 3; float f1 = 3.123f; float f2 = 2.723f; double d1 = ; Jede Rechnung mit diesen verschiedenen Variablen muß irgendwie vom Prozessor ausgeführt werden. Besprechen wir das an den Beispielen der Addition und der Multiplikation. Übliche Prozessoren enthalten Funktionen, mit denen zwei Integer addiert oder multipliziert werden können. Sie haben auch Funktionen, mit denen zwei Float oder zwei sonstige Datentypen addiert oder multipliziert werden können. Das Ergebnis dieser Funktionen hat dann normalerweise den gleichen Datentyp wie die Operanden der Rechnung. Beispiel: Wenn Sie mit zwei int Variablen rechnen, kann der Prozessor die Rechnung direkt vornehmen. Das Ergebnis ist dann immer wieder ein Integer (überlegen Sie sich, warum das Ergebnis der Division nicht der Erwartung entspricht!) i1 + i2; // Ergebnis: int, 8 i1 / i2; // Ergebnis: int, 1 i1 * i2; // Ergebnis: int, 25 Genauso ist das Ergebnis beim Rechnen mit float Variablen immer wieder ein Float: f1 + f2; // Ergebnis: float, f1 / f2; // Ergebnis: float, f1 * f2; // Erbebnis: float,
2 Normalerweise enthalten Prozessoren keine Funktionen, die gleichzeitig mit verschiedenen Datentypen rechnen können. Will man also mit zwei Werten verschiedener Datentypen miteinander verrechnen, müssen erst beide Datentypen in einen gemeinsamen Datentyp konvertiert werden. Danach kann die Rechnung in diesem Datentyp stattfinden. Beispiel: Prozessoren sind meist nicht dazu in der Lage, einen Integer- Wert und einen Float oder einen Float und einen Double zu addieren. Wenn Sie die Rechnung i1 + f1; durchführen wollen, muß sie also vorher noch aufbereitet werden. Der Prozessor kann entweder zwei Integer oder zwei Float addieren. Es bieten sich daher zwei Möglichkeiten an, um die Rechnung mit den Funktionen des Prozessors durchzuführen: Wandlung der Float-Variable zu einem Integer und Durchführung der Addition als Integer-Addition: i1 + (int)f1; Dabei bedeutet der Ausdruck (int)f1: Wandele f1 in einen Integer Wert um. In der Regel geschieht eine solche Umwandlung durch Wegwerfen aller Nachkommastellen. Mit den oben angegebenen Werten würde diese Rechnung wie folgt ausgeführt: i1 + (int)f1 == 5 + (int)3.123 == == 8 Wandlung des Integers zu einem Float und Durchführung der Addition als Float Addition: (float)i1 + f1; Hier bedeutet der Ausdruck (float)i1: Wandle den Integer i1 in einen Float Wert um. Dies geschieht ohne Verlust von Information. Mit den oben angegebenen Werten würde diese Rechnung so ausgeführt: (float)i1 + f1 == (float) == == Die Antwort, welche der beiden Möglichkeiten gewählt wird, fällt leicht: Wenn wir den Float Wert zu einem Integer wandeln, verschenken wir Rechengenauigkeit und kommen zu falschen Ergebnissen. Wenn wir den Integer hingegen in einen Float wandeln, erhalten wir das erwartete Ergebnis. Bei Typwandlungen, die der Compiler automatisch vornimmt, wird immer darauf geachtet, keine Genauigkeit zu zerstören. Datentypen werden in Rechnungen darum nur zu genaueren Datentypen umgewandelt. Abbildung 4.1 im Kapitel 4.6 von Go To Java 2 zeigt genau dies ein short, der ja nur die ganzen Zahlen von bis darstellen kann, kann automatisch in die umfangreicheren Datentypen int, long oder float umgewandelt werden. Hingegen wird der Datentyp double niemals automatisch in einen anderen Datentyp gewandelt, da dies der genaueste und umfangreichste Datentyp der Sprache Java ist. 61
3 Typkonvertierungen treten immer auf, wenn ein Ausdruck eines gewissen Typs erwartetwird,abereinanderertypvorliegt.eskommtdesöfterenvor,daßineinem Ausdruck ein niedriger Genauigkeit benötigt wird, der zu benutzende Wert aber eine hohe Genauigkeit hat. In solch einem Fall würde eine Typwandlung Genauigkeit verschenken. Der Java Compiler würde daher statt eine automatische Typwandlung vorzunehmen, das Programm als fehlerhaft bemäkeln. Ein gutes Beispiel für Fälle, in denen eine Typkonvertierung zu ungenaueren Typen nötig ist, bieten die Zuweisungsoperatoren. Der einer Variable zugewiesene Wert muß ja immer den Datentyp der Variable haben. Wird nun einer Variable eines ungenauen Datentyps ein Wert eines genaueren Datentyps zugewiesen, so erzeugt das einen Kompilationsfehler. Beispiel: Zum Beispiel sind folgende Anweisungen erlaubt, da eine Wandlung zu einem genaueren Typ stattfindet: f1 = i1; // bei Zuweisung: autom. Wandlung i1 zu float d1 = i1; // bei Zuweisung: autom. Wandlung i1 zu double d1 = f1; // bei Zuweisung: autom. Wandlung f1 zu double Alle oben genannten Zuweisungen sind erlaubt, da hier bei den automatischen Typwandlungen keine Genauigkeit verlorengeht. Hingegen sind die folgenden Anweisungen nicht erlaubt: i1 = f1; // verboten, da float genauer als int i1 = d1; // verboten, da double genauer als int f1 = d1; // verboten, da double genauer als float In jedem dieser Fälle würde Genauigkeit verlorengehen, und darum würde der Compiler mit einer Fehlermeldung gegen jede der Anweisungen protestieren. Die Fehlermeldung könnte wie folgt aussehen: Programmname.java:11: Incompatible type for =. Explicit cast needed to convert float to int. i1 = f1; Beispiel: Sehr häufig kommen derartige Fehlermeldungen in Programmen vor, in denen man Float Variablen einen Wert zuweist. Sie haben ja im vorigen Kapitel gelernt, daß reellwertige Zahlenliterale den Datentyp double erhalten, wenn sie nicht das Anhängsel f haben. Die Zuweisung eines double Literals an eine float Variable bedingt einen Genauigkeitsverlust und führt daher zu einem Compiler Fehler: 01 int i; 02 i = 1; // erlaubt: Zuweisung int-literal an int 03 i = 1L; // Fehler: long-literal, aber int erwartet 04 i = 3.141; // Fehler: Zuweisung double-literal an int 05 float f; 06 f = 1; // erlaubt: Zuweisung int-literal an float 07 f = 3.141f; // erlaubt: Zuweisung float-literal an float 08 f = 3.141; // Fehler: double-literal, doch float nötig 09 double d; 10 d = 1l; // erlaubt: Zuweisung long-literal an float; 11 d = 3.141f; // erlaubt: Zuweisung float-literal an double 12 d = 3.141; // erlaubt: Zuweisung double-literal an double 62
4 8.2 Manuelle Typkonvertierungen Oft will man trotzdem Werte höherer Genauigkeit an Stellen verwenden, an denen eine niedrigere Genauigkeit benötigt wird. Wieder ist die Zuweisung eines Wertes an eine Variable das beste Beispiel für derartige Fälle. Wenn wir beispielsweise wissen, daß in einer float Variable ein Wert ohne Nachkommastellen enthalten ist, sollten wir in der Lage sein, diesen als Integer aufzufassen. Oftmals brauchen wir die höhere Genauigkeit auch nicht wirklich. Es ist zum Beispiel üblich, die Zwischenschritte einer Rechnung in einer hohen Genauigkeit durchzuführen und dann das Endergebnis der Rechnung nur in einer niedrigen Genauigkeit zu verwenden. Java nimmt ohne unser Zutun solche Typwandlungen nicht vor. Wir können Java aber befehlen, eine Typwandlung vorzunehmen. Wir verwenden dazu einen Typwandlungsoperator und signalisieren Java damit: An dieser Stelle ist es in Ordnung, Genauigkeit zu verschenken, wir wissen schon was wir tun. Definition: Type cast Type cast Eine manuelle Typwandlung nennt man type cast. Um einen Wert explizit in anderen Datentyp zu wandeln, schreibt man den Datentyp, zu dem der Wert gewandelt werden soll, in runde Klammern und den Wert dahinter: (datentyp) wert Dies ist die Anweisung an den Compiler eine Typwandlung vorzunehmen. Beispiel: Folgende Zuweisungen sind erlaubt, obwohl bei der Wandlung Genauigkeit verloren geht: i1 = (int)f1; i2 = (int)d1; f1 = (float)d1; Mit den oben definierten Werten für die einzelnen Variablen ergeben sich hier die folgenden Werte für i1 bis f1: i1 == (int)f1 == (int)3.123 == 3 i2 == (int)d1 == (int) == 3 f1 == (float)d1 == (float) == Ein Wert niedrigerer Genauigkeit ergibt sich dabei meist aus einem Wert höherer Genauigkeit durch wegwerfen von Nachkommastellen. Sie können bei jedem Ausdruck eine Typwandlung vornehmen. Sie dürfen Typwandlungen auch an Stellen vornehmen, an denen sie überflüssig sind. Beispiel: Die folgenden Type Casts sind zwar erlaubt aber überflüssig, da Java hier einen automatischen Type Cast vornehmen würde 63
5 f1 = (float)i1; d1 = (double)f1; Allerdings sind Typwandlungen nur dort gestattet, wo sie Sinn machen. Beispiel: Beispielsweise kann man Zahlen nur untereinander umwandeln, wobei der Datentyp char auch als Zahl zählt. Folgender Programmtext führt zu einem Fehler: int i1 = (int)"ein Text"; // Fehler Eine wichtige Besonderheit ist bei Typwandlungen noch zu erwähnen: Die einzelnen primitiven Datentypen sind nicht nur unterschiedlich genau. Auch der Wertebereich unterscheidet sich. Auf diese Problematik wollen wir hier aber nicht weiter eingehen hier nur ein Beispiel dazu: Beispiel: Wenn Sie einen zu großen Double Wert in einen Float wandeln, wird der Wert als Infinity dargestellt: double d = 1.23e300; // ist nicht als float darstellbar float f = (float) d; // jetzt enthält f den Wert Infinity 8.3 Zusammenfassung Sie müssten nun die folgenden Fragen beantworten können: Warum sind Typkonvertierungen nötig? Welche Arten von Typkonvertierungen führt Java automatisch durch? Geben Sie einige Beispiele, in denen Typkonvertierungen automatisch durchgeführt werden! Warum führt Java manche Typkonvertierungen nicht automatisch durch? Geben Sie einige Beispiele, in denen statt einer automatischen Typkonvertierung ein Fehler ausgegeben wird! Wie kann man Java dazu zwingen, einen Wert in einen anderen Typ zu wandeln? Nennen Sie einige Beispiele für überflüssige Typwandlungen! 64
Variablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15
Variablen CoMa-Übung VIII TU Berlin 4.12.2013 CoMa-Übung VIII (TU Berlin) Variablen 4.12.2013 1 / 15 Themen der Übung 1 Typanpassungen 2 Operatoren 3 Variablen-Gültigkeit CoMa-Übung VIII (TU Berlin) Variablen
MehrKapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08
Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Wiederholung Kapitel 4 ZAIK Universität zu Köln WS 07/08 1 / 23 2 Datentypen Arten von Datentypen Bei der Deklaration einer Variablen(=Behälter für
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Vordefinierte Datentypen Übersicht 1 Ganzzahlige Typen 2 Boolscher Typ 3 Gleitkommatypen 4 Referenztypen 5 void Typ 6 Implizite und explizite Typumwandlungen Ganzzahlige Typen Die
MehrProjekt 3 Variablen und Operatoren
Projekt 3 Variablen und Operatoren Praktisch jedes Programm verarbeitet Daten. Um mit Daten programmieren zu können, muss es Möglichkeiten geben, die Daten in einem Programm zu verwalten und zu manipulieren.
MehrInstitut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke
Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie
Mehr1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r
1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen
Mehr1. Referenzdatentypen: Felder und Strings
1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen
MehrVorkurs Informatik WiSe 16/17
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016
MehrVorkurs Informatik WiSe 17/18
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017
MehrFACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung
C Sprachelemente für Übung 2 Typumwandlungen (type casts) Bei Ausdrücken, in denen Operanden mit unterschiedlichem Typ vorkommen, werden diese vom Compiler vor der Ausführung automatisch in einen gemeinsamen
MehrEinstieg in die Informatik mit Java
1 / 21 Einstieg in die Informatik mit Java Einfache Ausdrücke Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 21 1 Überblick 2 Arithmetische Operatoren 3 Inkrement und Dekrementoperatoren
MehrOperatoren in C/C++ und Java:
Operatoren in C/C++ und Java: C/C++/Java hat eine riesige Anzahl von Operatoren (im Vergleich zu anderen Programmiersprachen). Außer den üblichen arithmetischen Operatoren +, -, *, / (und % für Ganzzahlen)
Mehr5.3 Auswertung von Ausdrücken
5.3 Auswertung von Ausdrücken Funktionen in Java bekommen Parameter/Argumente als Input, und liefern als Output den Wert eines vorbestimmten Typs. Zum Beispiel könnte man eine Funktion i n t min ( i n
Mehr3. Datentypen, Ausdrücke und Operatoren
3. Datentypen, Ausdrücke und Operatoren Programm muß i.a. Daten zwischenspeichern Speicherplatz muß bereitgestellt werden, der ansprechbar, reserviert ist Ablegen & Wiederfinden in höheren Programmiersprachen
MehrJava I Vorlesung Imperatives Programmieren
Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.
MehrAusdrücke (1) Grundlegende Eigenschaften
Ausdrücke () Grundlegende Eigenschaften bestehen aus Literalen, Konstanten, Variablen und Operatoren einfachster Ausdruck ist das Semikolon, es bewirkt nichts. Ausdrücke werden mit einem Semikolon abgeschlossen.
MehrÜbungsblatt 1. Java Vorkurs (WS 2017)
Übungsblatt 1 Java Vorkurs (WS 2017) Aufgabe 1 Hallo-Welt Erstelle ein neues Projekt mit dem Namen HelloJava. Erzeuge in diesem Projekt eine neue Klasse HelloJava. (a) Schreibe die main-methode in die
Mehr2.5 Primitive Datentypen
2.5 Primitive Datentypen Wir unterscheiden 5 primitive Datentypen: ganze Zahlen -2, -1, -0, -1, -2,... reelle Zahlen 0.3, 0.3333..., π, 2.7 10 4 Zeichen a, b, c,... Zeichenreihen "Hello World", "TIFI",
MehrInstitut für Programmierung und Reaktive Systeme. Java 3. Markus Reschke
Java 3 Markus Reschke 08.10.2014 Kommentare Kommentare nützlich zum späteren Verständnis Zwei Arten Einzeiliger Kommentar bis zum Zeilenende mit // Mehrzeiliger Kommentar mit /*Text*/ 1 double x = 5; //
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Was sind Operatoren Ein Operator ist eine in die Programmiersprache eingebaute Funktion, die
MehrEinstieg in die Informatik mit Java
1 / 29 Einstieg in die Informatik mit Java Weitere Ausdrücke Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 29 1 Überblick 2 Kombinierte Zuweisungsoperatoren 3 Vergleichsoperatoren
MehrHello World! Eine Einführung in das Programmieren Variablen
Hello World! Eine Einführung in das Programmieren Variablen Görschwin Fey Institute of Embedded Systems Hamburg University of Technology Slide 2 Wie werden Daten in Programmen gespeichert und manipuliert?
MehrKapitel 05. Datentypen. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz
Kapitel 05 Datentypen Inhalt des 5. Kapitels Datentypen 5.1 Einleitung 5.2 Eingebaute Datentypen Übersicht Die Datentypen char, float und double Standardwerte Operatoren Konversion / Type-Cast Datentyp
MehrJava - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue
Java - Zahlen, Wahrheitswerte und Zeichen Leibniz Universität Anja Aue Kommentare Hilfe für den Entwickler. Wer hat wann welche Änderung vorgenommen? Warum werden diese Anweisungen hier ausgeführt? Bei
MehrEinstieg in die Informatik mit Java
Vorlesung vom 5.11.07, Weitere Ausdrücke Übersicht 1 Vergleichsoperatoren 2 Kombinierte Zuweisungsoperatoren 3 Logische Operatoren 4 Weitere Operatoren 5 Klassifizierung von Operatoren 6 Typumwandlungen
MehrEin String ist in Java eigentlich eine Klasse, wir können ihn aber zunächst als Datentyp betrachten, der zur Speicherung von Zeichenketten dient.
Strings Ein String ist in Java eigentlich eine Klasse, wir können ihn aber zunächst als Datentyp betrachten, der zur Speicherung von Zeichenketten dient. Beispiel: String zeile = "Cusanus-Gymnasium Wittlich";
MehrJava Übung. Übung 2. Werner Gaulke. 19. April Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung.
Java Übung Übung 2 Universität Duisburg-Essen Kommedia, Übung EinPro SS06, 19. April 2006 (UniDUE) 19. April 2006 1 / 13 Java Programme Java Programme bestehen aus (meist mehreren) Klassen. In den Klassen
MehrKapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Datentypen und Operatoren Ganzzahlige Numerische Datentypen Logischer Datentyp
Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Datentypen und Operatoren Ganzzahlige Numerische Datentypen Logischer Datentyp ZAIK Universität zu Köln WS 07/08 1 / 6 Datentypen Arten von Datentypen
MehrGrundlagen der Informatik Ergänzungen WS 2007/2008 Prof. Dr. Rainer Lütticke
Grundlagen der Informatik Ergänzungen WS 2007/2008 Prof. Dr. Rainer Lütticke 1 Links Stellenwertsysteme mit Links zu Zahlensysteme: http://de.wikipedia.org/wiki/stellenwertsystem ASCII-Code: http://de.wikipedia.org/wiki/ascii
MehrJava - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue
Java - Zahlen, Wahrheitswerte und Zeichen Leibniz Universität IT Services Anja Aue Kommentare Hilfe für den Entwickler. Wer hat wann welche Änderung vorgenommen? Warum werden diese Anweisungen hier ausgeführt?
MehrBegleittext: Einführung in das Programmieren in Java für Nichtinformatiker
Begleittext: Einführung in das Programmieren in Java für Nichtinformatiker Andreas Keese Institut f. Wissenschaftliches Rechnen TU Braunschweig 8. September 2014 Der Text, die Abbildungen und Programme
Mehr5.1 Mehr Basistypen. (Wie viele Werte kann man mit n Bit darstellen?)
5.1 Mehr Basistypen Außer int, stellt Java weitere Basistypen zur Verfügung. Zu jedem Basistyp gibt es eine Menge möglicher Werte. Jeder Wert eines Basistyps benötigt die gleiche Menge Platz, um ihn im
MehrVorkurs Informatik WiSe 16/17
Java Schleifen und Arrays Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 06.10.2016 Technische Universität Braunschweig, IPS Überblick Kommentare Typen Kontrollstrukturen Arrays 06.10.2016 Dr. Werner
MehrGrundlagen der Informatik 2. Operatoren
2. Operatoren Referenzen Typumwandlungen Vorrangregeln Kommentare Grundlagen der Informatik (Alex Rempel) 1 Ausdruck (z.b. "x = 34 + y;") Folge von Operatoren und Operanden Operatoren Arithmetische Operatoren
MehrProgrammieren 1 C Überblick
Programmieren C Überblick. Einleitung 2. Graphische Darstellung von Algorithmen 3. Syntax und Semantik 4. Einstieg in C: Einfache Sprachkonstrukte und allgemeiner Programmaufbau 5. Skalare Standarddatentypen
MehrOperatoren und Ausdrücke
Operatoren und Ausdrücke Zuweisungsoperator Arithmetische Operatoren Vergleichsoperatoren Logische Operatoren und Ausdrücke Implizite Typ-Umwandlung Rangordnung der Operatoren / Reihenfolge der Auswertung
MehrKapitel 3: Variablen
Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber
MehrInformatik Vorkurs - Vorlesung 2
Informatik Vorkurs - Vorlesung 2 Variablen, Arrays, Zahlensysteme Torben Achilles, 9. Oktober 2018 Inhalt Variablen & Datentypen Arrays Zahlensysteme 9. Oktober 2018 Torben Achilles Informatik Vorkurs
MehrProblem: Keine Integers in JavaCard. ToDo: Rechnen mit Bytes und Shorts
Kapitel 6: Arithmetik in JavaCard Problem: Keine Integers in JavaCard ToDo: Rechnen mit Bytes und Shorts Java SmartCards, Kap. 6 (1/20) Hex-Notation 1 Byte = 8 Bit, b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 0101
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 3. Grunddatentypen, Ausdrücke und Variable
1 Kapitel 3 Grunddatentypen, Ausdrücke und Variable 2 Eine Datenstruktur besteht aus Grunddatentypen in Java einer Menge von Daten (Werten) charakteristischen Operationen Datenstrukturen werden mit einem
MehrJAVA-Datentypen und deren Wertebereich
Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).
MehrWertebereich und Genauigkeit der Zahlendarstellung
Wertebereich und Genauigkeit der Zahlendarstellung Sowohl F als auch C kennen bei ganzen und Floating Point-Zahlen Datentypen verschiedener Genauigkeit. Bei ganzen Zahlen, die stets exakt dargestellt werden
MehrEinführung in die Informatik. Processing Numbers
Einführung in die Informatik Processing Numbers Wolfram Burgard 5/1 Motivation Computer bzw. Rechenmaschinen wurden ursprünglich gebaut, um schnell und zuverlässig mit Zahlen zu rechnen. Erste Anwendungen
MehrEinführung in die Informatik. Processing Numbers. Motivation. Primitive Datentypen. Operatoren versus Methoden
Motivation Einführung in die Informatik Processing Numbers Wolfram Burgard Computer bzw. Rechenmaschinen wurden ursprünglich gebaut, um schnell und zuverlässig mit Zahlen zu rechnen. Erste Anwendungen
Mehr4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen
. Gleitkommazahlen In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen Umrechnen von Einheiten und Währungen Jede Zahl x Q mit x 0 lässt sich folgendermaßen schreiben: x = s m e mit
MehrMathematik 1 -Arbeitsblatt 1-4: Rechnen mit Brüchen. 1F Wintersemester 2012/2013 Unterlagen: LehrerInnenteam GFB RECHNEN MIT BRÜCHEN
RECHNEN MIT BRÜCHEN. Arten von Brüchen und Definition Beispiel: 3 5 Zähler Bruchstrich Nenner Definition: Jeder Bruch hat folgendes Aussehen: Zähler Nenner. Der Nenner gibt an, in wie viele gleich große
MehrJavakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 1 - Variablen und Kontrollstrukturen main Methode Startpunkt jeder Java Anwendung String[] args ist ein Array aus Parametern, die beim Aufruf über die Kommandozeile
MehrJava für Anfänger Teil 5: Basistypen 2. Programmierkurs Manfred Jackel
Java für Anfänger Teil 5: Basistypen 2 Programmierkurs 12.-16.10.2008 Manfred Jackel Char, String, Unicode Der Zeichentyp char ist ein integraler Typ, nicht vorzeichenbehaftet, kann alle Unicode-Zeichen
MehrProgrammiertechnik Skalare Typen,Variablen, Zuweisungen
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Skalare Typen,Variablen, Zuweisungen int int i; i; long long j; j; boolean boolean isempty; isempty; double double average; average;
MehrDatabase Systems Group Prof. Dr. Peer Kröger. Übung 00. Einführung in die Programmierung WS 2016/17
Database Systems Group Prof. Dr. Peer Kröger Übung 00 Einführung in die Programmierung WS 2016/17 Aufgabe 0-4 public class Addition System.out.print("Dieses Programm addiert drei Zahlen. ), int x = 3;
MehrProgrammieren in Java
Einführung in die (imperative) Programmierung 2 Wiederholung: Allgemein Hohe Programmiersprache Compiler Interpreter Maschinensprache Zielsystem 3 Wiederholung: Java Java Compiler Bytecode JRE Just-In-Time
MehrObjektorientierte Programmierung OOP Programmieren mit Java
4 Datenfelder, Parameterübergabe, Casting Objektorientierte Programmierung OOP Programmieren mit Java 4 Datenfelder, Parameterübergabe, Casting 4 Datenfelder, Parameterübergabe, Casting 4.1 Datenfelder
Mehr1 Organisatorisches. 2 Schleifeninvarianten. 3 Widerspruchsbeweise. 4 Zahlendarstellung in Rechnern. 5 Typanpassungen.
Themen der Übung Schleifeninvarianten, Zahlendarstellung und Typanpassungen CoMa-Übung V TU Berlin 1 Organisatorisches 2 Schleifeninvarianten 3 Widerspruchsbeweise 4 Zahlendarstellung in Rechnern 5 Typanpassungen
Mehr8. Ausdrücke, Operatoren (einfache Typen)
8. Ausdrücke, Operatoren (einfache Typen) Typumwandlung Cast-Operator Teil 2 Java-Beispiel: Unicode.java Version: 16. Nov. 2015 Unterschiedliche Typen Typumwandlung: Übersicht Zuweisung x = y; Ausdruck
MehrMathematik: Mag. Schmid Wolfgang Arbeitsblatt 5 1. Semester ARBEITSBLATT 5 RECHNEN MIT BRÜCHEN. 1. Arten von Brüchen und Definition
ARBEITSBLATT 5 RECHNEN MIT BRÜCHEN 1. Arten von Brüchen und Definition Beispiel: 3 5 Zähler Bruchstrich Nenner Definition: Jeder Bruch hat folgendes Aussehen: Zähler. Der Nenner gibt an, Nenner in wie
MehrSprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg
Sprachkonstrukte Einführung in Java Folie 1 von 20 12. Mai 2011 Ivo Kronenberg Inhalt Kommentare Identifier (Bezeichner) Variablen Numerische Ausdrücke und Typen Kontrollstrukturen Verzweigungen Bedingungen
MehrBasiswissen in Informatik
Basiswissen in Informatik PD Dr. WS 2006/07 Programmieren I 2 stündige Vorlesung mit Übung Kapitel 2: Typen, Werte, Variablen Ziel: einfache Daten unterscheiden und speichern Nachtrag aus Kapitel 1: Arrays
MehrJava Einführung VARIABLEN und DATENTYPEN Kapitel 2
Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen
MehrTag 3 Repetitorium Informatik (Java)
Tag 3 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Typkonvertierung
MehrEinführung in die Programmierung WS 2009/10. Übungsblatt 5: Typen, Variablen und einfache Methoden in Java
Ludwig-Maximilians-Universität München München, 20.11.2009 Institut für Informatik Prof. Dr. Christian Böhm Annahita Oswald, Bianca Wackersreuther Einführung in die Programmierung WS 2009/10 Übungsblatt
MehrProgrammierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 5. Blatt Für den 26. und
Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 5. Blatt Für den 26. und 27.5.2008 Organisatorisches Um auf die Mailingliste aufgenommen zu werden schicke einfach eine
Mehr3. Java - Sprachkonstrukte I
Namen und Bezeichner Ein Programm (also Klasse) braucht einen Namen 3. Java - Sprachkonstrukte I Namen und Bezeichner, Variablen, Zuweisungen, Konstanten, Datentypen, Operationen, Auswerten von Ausdrücken,
MehrObjekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3
Programmieren mit Java Modul 5 Objekte Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Klassen und Objekte 3 2.1 Klassen.................................... 4 2.2 Objektvariablen und Methoden.......................
Mehr3. Java - Sprachkonstrukte I
Lernziele 3. Java - Sprachkonstrukte I Namen und Bezeichner, Variablen, Zuweisungen, Konstanten, Datentypen, Operationen, Auswerten von Ausdrücken, Typkonversionen Sie kennen die grundlegensten Bausteine
MehrDie einfachsten Anweisungen
2 Die einfachsten Anweisungen 2-1 Inhalt Die einfachsten Anweisungen Einführung Datentypen Arithmetische Operatoren Mathematische Funktionen Mehrfache Zuweisungen Übungsaufgaben Einführung Wir wollen unser
MehrProgrammierpraktikum
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Praktikum: Grundlagen der Programmierung Programmierpraktikum Woche 04 (17.11.2016) Stefan Berktold s.berktold@tum.de PRÄSENZAUFGABEN Heutige Übersicht
MehrSchwerpunkte. 8. Ausdrücke, Operatoren (einfache Typen) Beispiel: Schaltjahr Test. Einführendes Beispiel: Grundprobleme
Schwerpunkte Vollständige und unvollständige Auswertung 8. Ausdrücke, Operatoren (einfache Typen) Teil 1 Seiteneffekte Overloading: Überladung von Operatoren Implizite und explizite (cast) Typumwandlung
MehrGegeben sind die folgenden Programmausschnitte: I. Programmausschnitt: II. Programmausschnitt: III. Programmausschnitt: IV. Programmausschnitt:
Technische Informatik für Ingenieure WS 00/0 Übungsblatt Nr. 0. Januar 0 Übungsgruppenleiter: Matthias Fischer Mouns Almarrani Rafał Dorociak Michael Feldmann Thomas Gewering Benjamin Koch Dominik Lüke
MehrKapitel 4: Elementare Konzepte von Programmiersprachen. Variablen Referenzen Zuweisungen
Variablen Referenzen Zuweisungen Variablen Variablen dienen der Speicherung von Werten Name (name) bezeichnet die Variable im Programm Wert (value) ist das Datenelement, dass in der Variablen gespeichert
MehrWerkzeuge zur Programmentwicklung
Werkzeuge zur Programmentwicklung B-15 Bibliothek Modulschnittstellen vorübersetzte Module Eingabe Editor Übersetzer (Compiler) Binder (Linker) Rechner mit Systemsoftware Quellmodul (Source) Zielmodul
MehrProgrammierkurs. Java Programmierkurs Philipp Herzig, B.Sc. 2009
Programmierkurs Java Programmierkurs Philipp Herzig, B.Sc. 2009 Reden mit dem Computer Grundsätzlich sind Computer sehr dumm Daher fangen wir an mit dem Computer ganz einfach zu reden (Wiki). Wir werden
Mehr3. Java - Sprachkonstrukte I
84 3. Java - Sprachkonstrukte I Namen und Bezeichner, Variablen, Zuweisungen, Konstanten, Datentypen, Operationen, Auswerten von Ausdrücken, Typkonversionen Namen und Bezeichner 85 Ein Programm (also Klasse)
MehrOperatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen
Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2011/2012 1 / 25 Operatoren für elementare Datentypen Bedingte Schleifen 2 / 25 Zuweisungsoperator Die Zuweisung von Werten an Variablen
Mehr8. Ausdrücke, Operatoren (einfache Typen)
8. Ausdrücke, Operatoren (einfache Typen) Teil 2 Java-Beispiel: Unicode.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 16. Nov. 2015 2 Typumwandlung Cast-Operator 3 Unterschiedliche
Mehr7 Ausdrücke. 7.1 Was ist ein Ausdruck?
7 Ausdrücke In diesem Kapitel geben wir Ihnen ergänzende Informationen zu Goto Java 2, Kapitel 5, die Sie ergänzend zu Hausaufgabe 3 lesen sollten. 7.1 Was ist ein Ausdruck? Was ein Ausdruck ist, erklären
MehrGrunddatentypen, Ausdrücke und Variablen
Grunddatentypen, Ausdrücke und Variablen Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Vorlesung heute: Grunddatentypen Ausdrücke Variablen
MehrArrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3
Programmieren mit Java Modul 3 Arrays Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Eindimensionale Arrays 3 2.1 Arrays deklarieren.............................. 3 2.2 Arrays erzeugen................................
MehrProgrammieren in Java
Einführung in die (imperative) Programmierung 2 Wiederholung: Allgemein Hohe Programmiersprache Compiler Interpreter Maschinensprache Zielsystem 3 Wiederholung: Java Java Compiler Bytecode JRE Just-In-Time
MehrKapitel 2: Ausdrücke. 1. Sorten und abstrakte Datentypen. 2. Ausdrücke 2.1 Syntax 2.2 Semantik 2.3 Ausdrücke in Java. 3. Funktionale Algorithmen
Kapitel 2: Ausdrücke 1. Sorten und abstrakte Datentypen 2. Ausdrücke 2.1 Syntax 2.2 Semantik 2.3 Ausdrücke in Java 3. Funktionale Algorithmen 4. Variablen, Anweisungen, Prozeduren 5. Prozeduraufrufe 54
MehrTutoraufgabe 1 (Typcasting):
Prof. aa Dr. J. Giesl Programmierung WS18/19 S. Dollase, M. Hark, D. Korzeniewski Tutoraufgabe 1 (Typcasting: Bestimmen Sie den Typ und das Ergebnis der folgenden Java-Ausdrücke. Begründen Sie Ihre Antwort
MehrEin kleiner Blick auf die generische Programmierung
TgZero Technik.Blosbasis.net June 3, 2013 1 Inhaltsverzeichnis 1 Vorwort 3 2 Ein kleines Beispiel 3 3 Templates 3 4 Verschiedene Datentypen 4 5 Variadic Templates 5 6 Unterschied zwischen den Programmiersprachen
MehrInformatik I Processing Numbers. Cyrill Stachniss Wolfram Burgard
Informatik I Processing Numbers Cyrill Stachniss Wolfram Burgard Motivation Computer bzw. Rechenmaschinen wurden ursprünglich gebaut, um schnell und zuverlässig mit Zahlen zu rechnen. Erste Anwendungen
MehrGrundlagen der Informatik 0
Technische Universität Darmstadt 01.07.2013 Grundlagen der Informatik 0 Vorlesung 0 Java ist eine Programmiersprache Ilkay Baytekin Douglas Crockford http://media.smashingmagazine.com/wp-content/uploads/2012/04/doug-crockford-image.jpg
MehrName Klasse Datum. Um nun mit Variablen arbeiten zu können, müssen nun einige Voraussetzungen erfüllt sein:
Name Klasse Datum 1 Allgemein Wie der Name Datenverarbeitung schon verrät, dienen Rechner dazu Daten zu speichern, zu ändern und wieder auszugeben. Programme bilden den Algorithmus ab, wie die Daten zu
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen 2.1 Einfache Datentypen in C W. Tasin, M.Sc. Fakultät 04 tasin@hm.edu Allgemeines (1) Einfache (od. primitive) Datentypen legen fest, wie die Information kodiert im Speicher
MehrKapitel 2: Python: Ausdrücke und Typen. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2016/2017. Inhaltsverzeichnis 1
Kapitel 2: Python: Ausdrücke und Typen Grundlagen der Programmierung 1 Holger Karl Wintersemester 2016/2017 Inhaltsverzeichnis Inhaltsverzeichnis 1 Abbildungsverzeichnis 2 Liste von Definitionen u.ä. 2
Mehr9 Anweisungen und Kontrollstrukturen
9 Anweisungen und Kontrollstrukturen Hier beziehen wir uns auf Kapitel 6 von Go To Java 2. Die Steuerung des Programmablaufs geschieht durch sogenannte Anweisungen. Jede Anweisung bewirkt irgendwelche
MehrEinstieg in die Informatik mit Java
Vorlesung vom 25.4.07, Ausdrücke Übersicht 1 Die wichtigsten arithmetischen Ausdrücke Arithmetische Operatoren Inkrement und Dekrementoperatoren Zuweisungsoperator Mathematische Standardfunktionen Vergleichsoperatoren
MehrKapitel 5. Datentypen und Operatoren
Kapitel 5 Datentypen und Operatoren 1 Gliederung Kapitel 5 Datentypen und Operatoren 5.1 Elementare Datentypen 5.2 Symbolische Konstanten 5.3 Typumwandlungen 5.4 Operatoren 2 5.1. Elementare Datentypen
MehrMethoden und Wrapperklassen
Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)
MehrTutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2
Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Tutoraufgabe 1 (Zweierkomplement): a) Sei x eine ganze Zahl. Wie unterscheiden sich die Zweierkomplement-Darstellungen
MehrEinleitung Typsystem Typisierung Zusammenfassung Literatur. Typisierung. Effiziente Programmierung. Thomas Schnieders
Typisierung Effiziente Programmierung Thomas Schnieders Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg 2018-04-26 Thomas Schnieders Typisierung 1
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Unser erstes Java Programm Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 39 Hello World!
Mehr