Einstieg in die Informatik mit Java

Ähnliche Dokumente
Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Institut für Programmierung und Reaktive Systeme. Java 3. Markus Reschke

Einstieg in die Informatik mit Java

Vorkurs Informatik WiSe 16/17

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Grundlagen der Programmierung

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Programmiersprachen Einführung in C

Einstieg in die Informatik mit Java

Anwendung höherer Programmiersprachen. Formatierte Ausgabe mit cout. Angewandte Informatik I C / C++ Teil B: Formatierte Ein- und Ausgabe

Einstieg in die Informatik mit Java

Kapitel 3. Grunddatentypen, Ausdrücke und Variable

Einstieg in die Informatik mit Java

Pakete. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Variablenarten. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Grundlagen der Informatik

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 3. Grunddatentypen, Ausdrücke und Variable

+ C - Formatierte Ausgabe mit printf()

C-Programmierkurs Mathematik

Einstieg in die Informatik mit Java

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften

Schöner Programmieren

Zeichenketten. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java. 16.

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

1.5 Einführung und Zahlensysteme/Darstellung gebrochener Zahlen

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 14.1.

Schöner Programmieren

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08

Tag 2 Repetitorium Informatik (Java)

Ausnahmen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 27.6.

Einstieg in die Informatik mit Java

Übungspaket 13 Der Datentyp double

Programmieren I. Operatoren und Ausdrücke Heusch 6.2 Ratz Institut für Angewandte Informatik

Informatik Vorkurs - Vorlesung 2

Einstieg in die Informatik mit Java

Zyklen: break und continue

Hüllklassen. Gerd Bohlender. 25. Juni Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

2.5 Primitive Datentypen

Java Übung. Übung 2. Werner Gaulke. 19. April Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung.

Übungspaket 13 Der Datentyp double

Variablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15

Mehrdimensionale Arrays

Der Zahlenformatstandard IEEE 754

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Programmiervorkurs Einführung in Java Tag 3

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2

Objektorientiertes Programmieren (Java)

Objekte werden eindeutig beschrieben durch ihren Typ und einen beliebig wählbaren Bezeichner.

Programmiersprachen Einführung in C

Gleitkommazahlen. JOHANNES KEPLER UNIVERSITY LINZ Research and teaching network Softwareentwicklung 1 (gtec) Hanspeter Mössenböck, Herbert Prähofer 74

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Zum Nachdenken. Wenn die Zahl (123) hat, was könnte dann (123,45) 10

Streams. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Wertebereiche, Overflow und Underflow

Übungsblatt 1. Java Vorkurs (WS 2017)

2 Programmieren in Java I noch ohne Nachbearbeitung

Teil II. Datentypen. T. Neckel Einführung in die wissenschaftliche Programmierung IN8008 Wintersemester 2017/

Einstieg in die Informatik mit Java

Ein- und Ausgabe. C - Kurs Mario Bodemann. 15. September 2010

Rückblick. Erweiterte b-adische Darstellung von Kommazahlen. 7,1875 dargestellt mit l = 4 und m = 4 Bits. Informatik 1 / Kapitel 2: Grundlagen

Einstieg in die Informatik mit Java

Vorkurs Informatik WiSe 16/17

N Bit Darstellung von Gleitkommazahlen

Programmiervorkurs Einführung in Java Tag 1

Programmierkurs C++ Lösungen zum Übungsblatt 3. Nils Eissfeldt und Jürgen Gräfe. 2. November Aufgabe 5

Rückblick. Erweiterte b-adische Darstellung von Kommazahlen. 7,1875 dargestellt mit l = 4 und m = 4 Bits. Informatik 1 / Kapitel 2: Grundlagen

RO-Tutorien 3 / 6 / 12

Zwischenklausur Informatik, WS 2014/15

Übungspaket 9 Logische Ausdrücke

Grundlagen der Programmierung

Grundlagen der Technischen Informatik. 4. Übung

Transkript:

1 / 22 Einstieg in die Informatik mit Java Formatierte Ausgabe Gerd Bohlender Institut für Angewandte und Numerische Mathematik

Gliederung 2 / 22 1 Überblick 2 Nachteile von println 3 Formatierte Ausgabe 4 Weitere Formatvarianten

Gliederung 3 / 22 1 Überblick 2 Nachteile von println 3 Formatierte Ausgabe 4 Weitere Formatvarianten

4 / 22 Überblick In diesem Kapitel wird beschrieben, wie die Ausgabe von Zahlen übersichtlich gestaltet werden kann. Bisherige Ausgabe Ausgabe mit println in freiem Format. Alternative Ausgabe Formatierte Ausgabe mit printf.

Gliederung 5 / 22 1 Überblick 2 Nachteile von println 3 Formatierte Ausgabe 4 Weitere Formatvarianten

Eigenschaften von println 6 / 22 Bei der Ausgabe mit print bzw. println werden nur so viele Stellen ausgegeben, wie für die Darstellung des Werts nötig sind. Vorteil: sparsamer Platzverbrauch Nachteil: kann sehr unübersichtlich werden Gutes Beispiel: Funktionswert ausgeben x = 1; System. out. p r i n t l n ( s i n ( + x + ) = + Math. s i n ( x ) ) ; sin(1.0) = 0.8414709848078965

Nachteile von println 7 / 22 Schlechtes Beispiel: Funktionstabelle ausgeben for ( double x = 0.2; x<1; x +=0. 1) System. out. p r i n t l n ( x + \ t + Math. s i n ( x ) + \ t + Math. cos ( x ) ) ; -0.2-0.19866933079506122 0.9800665778412416-0.1-0.09983341664682815 0.9950041652780258 0.0 0.0 1.0 0.1 0.09983341664682815 0.9950041652780258 0.2 0.19866933079506122 0.9800665778412416 0.30000000000000004 0.2955202066613396 0.955336489125606 0.4 0.3894183423086505 0.9210609940028851 0.5 0.479425538604203 0.8775825618903728 0.6 0.5646424733950354 0.8253356149096783 0.7 0.644217687237691 0.7648421872844885 0.7999999999999999 0.7173560908995227 0.6967067093471655 0.8999999999999999 0.7833269096274833 0.6216099682706645 0.9999999999999999 0.8414709848078964 0.5403023058681398

Gliederung 8 / 22 1 Überblick 2 Nachteile von println 3 Formatierte Ausgabe 4 Weitere Formatvarianten

9 / 22 Formatierte Ausgabe Mit der Methode System.out.printf() können Ergebnisse formatiert ausgegeben werden. Gleichbedeutend ist System.out.format(). Syntax System.out.printf ( Formatstring, Ausdrücke ) Die Ausdrücke steht für eine durch Komma getrennte Liste von Ausdrücken beliebigen Typs, die ausgegeben werden sollen z.b. Variablen. Der Formatstring enthält Formatangaben der Form %d, %f, %e, %s, usw. Die Formatangaben werden in der angegebenen Reihenfolge zur Formatierung der Ausdrücke verwendet.

10 / 22 Formatierte Ausgabe Bedeutung der Formatangaben: %d ganze Dezimalzahl %e Gleitkommazahl im Gleitkommaformat (mit Exponent) %f Gleitkommazahl im Festkommaformat (ohne Exponent) %s String Regeln für die formatierte Der restliche Formatstring wird als Text ausgegeben. Achtung: die auszugebenden Werte sind durch Komma getrennt, nicht durch +. Achtung: das Zeilenende (entsprechend println) muss durch \n im Formatstring angegeben werden. Falls zu wenige Formatangaben vorliegen, werden nur die ersten Ausdrücke ausgegeben. Falls zu viele oder falsche Formatangaben vorliegen, wird ein Fehler gemeldet.

Formatierte Ausgabe double im Gleitkommaformat 11 / 22 Beispiel: Funktionstabelle ausgeben for ( double x = 0.2; x<1; x +=0. 1) System. out. p r i n t f ( %e %e %e\n, x, Math. s i n ( x ), Math. cos ( x ) ) ; -2.000000e-01-1.986693e-01 9.800666e-01-1.000000e-01-9.983342e-02 9.950042e-01 0.000000e+00 0.000000e+00 1.000000e+00 1.000000e-01 9.983342e-02 9.950042e-01 2.000000e-01 1.986693e-01 9.800666e-01 3.000000e-01 2.955202e-01 9.553365e-01 4.000000e-01 3.894183e-01 9.210610e-01 5.000000e-01 4.794255e-01 8.775826e-01 6.000000e-01 5.646425e-01 8.253356e-01 7.000000e-01 6.442177e-01 7.648422e-01 8.000000e-01 7.173561e-01 6.967067e-01 9.000000e-01 7.833269e-01 6.216100e-01 1.000000e+00 8.414710e-01 5.403023e-01

Formatierte Ausgabe double im Festkommaformat 12 / 22 Beispiel: Funktionstabelle ausgeben for ( double x = 0.2; x<1; x +=0. 1) System. out. p r i n t f ( %f %f %f \n, x, Math. s i n ( x ), Math. cos ( x ) ) ; -0.200000-0.198669 0.980067-0.100000-0.099833 0.995004 0.000000 0.000000 1.000000 0.100000 0.099833 0.995004 0.200000 0.198669 0.980067 0.300000 0.295520 0.955336 0.400000 0.389418 0.921061 0.500000 0.479426 0.877583 0.600000 0.564642 0.825336 0.700000 0.644218 0.764842 0.800000 0.717356 0.696707 0.900000 0.783327 0.621610 1.000000 0.841471 0.540302

13 / 22 Formatierte Ausgabe Beispiel String Beispiel System. out. p r i n t f ( Dies %seine%s\n, i s t, Z e i l e! ) ; Dies ist eine Zeile! Beachte: Mischung von Formatstring und den nachfolgenden auszugebenden Strings, Ausgabe der Leerzeichen in Formatstring oder auszugebendem String, kein Leerzeichen zwischen "%s" und "eine", explizite Ausgabe des Zeilenendes.

Gliederung 14 / 22 1 Überblick 2 Nachteile von println 3 Formatierte Ausgabe 4 Weitere Formatvarianten

15 / 22 Weitere Formatvarianten: Angabe der Zeichenzahl Zahlangabe zwischen % und dem Buchstaben: Anzahl der auszugebenden Zeichen. Falls die Zeichenzahl nicht ausreicht, wird sie erhöht. Beispiele unterschiedliche Breite System. out. p r i n t f ( %4d\n, 123); System. out. p r i n t f ( %5d\n, 123); System. out. p r i n t f ( %2d\n, 123); 123 123 123

Weitere Formatvarianten Beispiel double 16 / 22 Beispiele unterschiedliche Breite System. out. p r i n t f ( %10e\n, 123.456); System. out. p r i n t f ( %15e\n, 123.456); System. out. p r i n t f ( %10f \n, 123.456); System. out. p r i n t f ( %15f \n, 123.456); 1.234560e+02 1.234560e+02 123.456000 123.456000

Weitere Formatvarianten: Darstellung des Vorzeichens Leerzeichen nach %: positives Vorzeichen wird als Leerzeichen ausgegeben. Pluszeichen nach %: positives Vorzeichen wird als Pluszeichen ausgegeben. Unterschiedliche Vorzeichen System. out. p r i n t f ( %3d\n, 123); System. out. p r i n t f ( % 3d\n, 123); System. out. p r i n t f ( % 3d\n, 123); System. out. p r i n t f ( %+3d\n, 123); 123 123-123 +123 17 / 22

Darstellung des Vorzeichens double 18 / 22 Unterschiedliche Vorzeichen System. out. p r i n t f ( % 10e\n, 123.456); System. out. p r i n t f ( % 10e\n, 123.456); System. out. p r i n t f ( %+10e\n, 123.456); System. out. p r i n t f ( % 10 f \n, 123.456); System. out. p r i n t f ( % 10 f \n, 123.456); System. out. p r i n t f ( %+10f \n, 123.456); 1.234560e+02-1.234560e+02 +1.234560e+02 123.456000-123.456000 +123.456000

Weitere Formatvarianten: Nachkommastellen bei double 19 / 22 Zwei Zahlangaben n.m nach %: n = Gesamtzahl der auszugebenden Zeichen, m = Zahl der Nachkommastellen. Unterschiedliche Nachkommastellen System. out. p r i n t f ( %10.3e\n, 123.456); System. out. p r i n t f ( %10.4e\n, 123.456); System. out. p r i n t f ( %10.2e\n, 123.456); 1.235e+02 1.2346e+02 1.23e+02

Weitere Formatvarianten: Nachkommastellen bei double 20 / 22 Unterschiedliche Nachkommastellen System. out. p r i n t f ( %10.3 f \n, 123.456); System. out. p r i n t f ( %10.4 f \n, 123.456); System. out. p r i n t f ( %10.2 f \n, 123.456); System. out. p r i n t f ( %10.1 f \n, 123.456); System. out. p r i n t f ( %8.3 f \n, 123.456); 123.456 123.4560 123.46 123.5 123.456

Beispiel: Festkommaformat mit Vorzeichen 21 / 22 Beispiel Funktionstabelle ausgeben for ( double x= 0.2; x<1; x +=0.1) System. out. p r i n t f ( % 10.7 f % 10.7 f % 10.7 f \n, x, Math. s i n ( x ), Math. cos ( x ) ) ; -0.2000000-0.1986693 0.9800666-0.1000000-0.0998334 0.9950042 0.0000000 0.0000000 1.0000000 0.1000000 0.0998334 0.9950042 0.2000000 0.1986693 0.9800666 0.3000000 0.2955202 0.9553365 0.4000000 0.3894183 0.9210610 0.5000000 0.4794255 0.8775826 0.6000000 0.5646425 0.8253356 0.7000000 0.6442177 0.7648422 0.8000000 0.7173561 0.6967067 0.9000000 0.7833269 0.6216100 1.0000000 0.8414710 0.5403023

Beispiel: Gleitkommaformat mit Vorzeichen 22 / 22 Beispiel Funktionstabelle ausgeben for ( double x= 0.2; x<1; x +=0.1) System. out. p r i n t f ( % 14.7e % 14.7e % 14.7e\n, x, Math. s i n ( x ), Math. cos ( x ) ) ; -2.0000000e-01-1.9866933e-01 9.8006658e-01-1.0000000e-01-9.9833417e-02 9.9500417e-01 0.0000000e+00 0.0000000e+00 1.0000000e+00 1.0000000e-01 9.9833417e-02 9.9500417e-01 2.0000000e-01 1.9866933e-01 9.8006658e-01 3.0000000e-01 2.9552021e-01 9.5533649e-01 4.0000000e-01 3.8941834e-01 9.2106099e-01 5.0000000e-01 4.7942554e-01 8.7758256e-01 6.0000000e-01 5.6464247e-01 8.2533561e-01 7.0000000e-01 6.4421769e-01 7.6484219e-01 8.0000000e-01 7.1735609e-01 6.9670671e-01 9.0000000e-01 7.8332691e-01 6.2160997e-01 1.0000000e+00 8.4147098e-01 5.4030231e-01

23 / 22 Weitere Informationen Weitere Informationen zu printf und den Formatangaben finden Sie in der Java-Online-Dokumentation unter http://www.j2ee.me/javase/6/docs/api/java/io/ PrintStream.html http://www.j2ee.me/javase/6/docs/api/java/util/ Formatter.html#syntax