Kapitel 4. Programmierkurs. Arten von Datentypen. Datentypen
|
|
- Manfred Glöckner
- vor 6 Jahren
- Abrufe
Transkript
1 Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze ZAIK Universität zu Köln WS 07/08 Datentypen und Operatoren Einschub Binärdarstellung Ganzzahlige Numerische Datentypen Logischer Datentyp Typumwandlung Rationale numerische Datentypen (Gleitkommazahlen) Der alphanumerische Datentyp char 1 / 6 Datentypen Arten von Datentypen Bei der Deklaration einer Variablen legt der Datentyp fest: Welche Werte die Variable annehmen kann. Wieviel Speicherplatz die Variable belegen darf. Welche Operationen auf die Variable angewendet werden dürfen. Damit auch implizit in welchen Anweisungen sie vorkommen kann (später). Wir unterscheiden hier wieder Arten von Datentypen: Primitive Datentypen: Ganzzahlige numerische Datentypen: int, long,... Logischer Datentyp: boolean Rationale numerische Datentypen: float, double,... Alphanumerischer Datentyp: char Vordefinierte Datentypen (z.b. : BufferedReader, InputStreamReader) Selbstdefinierte Datentypen (z.b. : Greets, Age) 3 / 6 4
2 Vor-/Selbstdefinierte Datentypen Primitive Datentypen Vor-/ Selbstdefinierte Datentypen stehen in engem Zusammenhang mit Objektorientierung und werden daher später behandelt. Vorgriff Klasse - Datentyp - Objekt: Jede (wie bisher gesehen) definierte Klasse XYZ spezifiziert einen eigenen Datentyp XYZ. Es können Variablen mit diesem Datentyp als deklariert werden: XYZ beispiel Solche Variablen sind Objekte vom Typ XYZ und werden Instanzen der Klasse XYZ genannt. Bei sogenannten primitiven Datentypen tritt die Objektorientierung zunächst in den Hintergrund. Sie heissen auch Standarddatentypen, da sie von quasi allen Programmiersprachen mehr oder weniger äquivalent implementiert sind. Im einfachsten Fall möchte man mit Variablen eines solchen Datentyps ganze oder natürliche Zahlen darstellen. Diese müssen im Computer natürlich binär gespeichert werden. Reserviert ein solcher Datentyp n Bits Speicherplatz, so kann man entweder die n natürlichen Zahlen von 0 bis n 1 oder die n ganzen Zahlen von n 1 bis n 1 1 darstellen. 5 / 6 6 Natürliche Zahlen: Binärcodierung Natürliche Zahlen: Zahlenkreis Darstellung natürlicher Zahlen mit n Bits: Die Zahlen von 0 bis n 1. Beispiel: n = 3 Dezimal Binär Dezimal Binär Dezimal Binär = 3 ist mit 3 Bits (wegen der Darstellung der 0) nicht mehr darstellbar. 8 wäre in Binärdarstellung mit 4 Bits: 1000 Das erste Bit entfällt, bei 3-Bit-Darstellung und 000 entspricht bereits der Codierung der 0: Überlauf. Addiere: = 1000 n = 3 Bits: Höchstes Bit fällt weg: ( = 000) bin (7 + 1 = 0) dez Fehler durch Überlauf! / 6 8
3 Ganze Zahlen - Vorzeichencodierung Ganze Zahlen - Einerkomplement Zur Darstellung von positiven ganzen Zahlen muss nun noch die für negative hinzu kommen. 1. Möglichkeit: 1. Bit codiert Vorzeichen. Beispiel: n = 3 Dezimal Binär Dezimal Binär Darstellung ganzer Zahlen von n 1 bis n doppelt codiert.. Möglichkeit: Einerkomplement ( x ist bitweises Komplement von +x). Beispiel: n = 3 Dezimal Binär Dezimal Binär Gleicher Darstellungsbereich wie Vorzeichendarstellung 0 doppelt codiert 1. Bit codiert immernoch Vorzeichen. 1. und. Möglichkeit: Schwierige Implementierung von arithmetischen Operationen, da jede Zahl (positiv, negativ) anders interpretiert werden muss. Daher: Zweierkomplementdarstellung. 9 / 6 10 Ganze Zahlen - Zweierkomplement 3. Möglichkeit: Zweierkomplement ( x ist bitweises Komplement von +x + 1). Beispiel: n = 3 Dezimal Binär Dezimal Binär nicht mehr doppelt codiert! Gewonnene freie Codierung für zusätzliche negative Zahl 4 4 statt +4 : 1. Bit codiert immernoch Vorzeichen. Ganze Zahlen: Zahlenkreis im Zweierkomplement Zweierkomplement formal definiert: Höchstwertiges Bit b n hat Wertigkeit 1 Alle anderen Bits b i 1, d.h. x = b n n + b n 1 n b 0 Beispiel: 110 = = = / 6 1
4 4. Ganzzahlige numerische Datentypen Gültiger Zahlenbereich (Over-/Underflow) Typ Anz Bits Min Max byte short int long 64 < > Wir sehen, dass für Standarddatentypen n = 8 < 16 < 3 < 64 <... ist. Diese n Bits werden in Java jeweils für die ganzen (vorzeichenbehaftete) Zahlen von n 1 bis n 1 1 verwendet. Die Asymmetrie zwischen kleinster und größter darstellbarer Zahl eines Typs wird durch die Darstellung der 0 bedingt. Werden die Grenzen (min./max. darstellbare Zahl) des gültigen Zahlenbereichs eines Datentyps z.b. durch Zuweisung einer zu großen oder zu kleinen Zahl zu einer Variable des Typs verletzt entsteht ein sogenannter Über-/Unterlauf bzw. Over-/Underflow (Vorstellung: Bitdarstellung als Kreis Übung): Overflow: Bitdarstellung einer zu großen Zahl erfordert mehr Bits als verfügbar. Bits werden abgeschnitten: Darstellung entspricht kleinerer Zahl. Bitdarstellung wird auch als kleinere Zahl (meist sogar wegen Darstellung als negative Zahl!) interpretiert. Underflow: Analog mit zu kleiner Zahl. 13 / 6 14 Operanden für ganze Zahlen I - Arithmetische Operationen Kurzschreibweisen Operator Beispiel Bedeutung + +i Vorzeichen (kann weggelassen werden) - -i Vorzeichen + a+b Summe - a-b Differenz * a*b Produkt / a/b ganzzahlige Division % a%b Rest der ganzzahligen Division (Modulo) = x=a+b Zuweisung Diese Operatoren ermöglichen eine Art von Anweisung: Die Zuweisung arithmetischer Ausdrücke. Für häufig benutzte Ausdrücke existieren Kurzschreibweisen: Inkrementierung/Dekrementierung: int i=0; i = i + 1; entspricht: i= i - 1; int i=0; i++; i--; Selbsbezügliche Addition/Subtraktion/... mit beliebigem. Wert: Operator Beispiel Bedeutung += a+=b a=a+b -= a-=b a=a-b *= a*=b a=a*b /= a/=b a=a/b %= a%=b a=a%b 15 / 6 16
5 Ganzzahlige Operanden: IntOps.java Ganzzahlige Operanden: IntOps.java 3. int a=1, b=3, c=5, d=10; 4. System.out.println( a + + b + + c + + d ); 5. a++; 6. b+=a; 7. d=d/c; 8. a=b%d; 9. System.out.println( a + + (b-a) ); 10. } 3. int a=1, b=3, c=5, d=10; 4. System.out.println( a + + b + + c + + d ); 5. a++; 6. b+=a; 7. d=d/c; 8. a=b%d; 9. System.out.println( a + + (b-a) ); 10. } Der Wert b-a wird berechnet und auf dem Bildschirm ausgegeben, aber nicht gespeichert. 17 / 6 18 Ganzzahlige Operanden: IntOps.java Ganzzahlige Operanden: IntOps.java 3. int a=1, b=3, c=5, d=10; 4. System.out.println( a + + b + + c + + d ); 5. a++; 6. b+=a; 7. d=d/c; Merke: Kurze, gleichartige 8. a=b%d; kombinierte Deklarationen und 9. System.out.println( a + + (b-a) ); Initialisierungen zusammenfassen. 10. } int a=1, b=3, c=5, d=10; 4. System.out.println( a + + b + + c + + d ); 5. a++; 6. b+=a; 7. d=d/c; 8. a=b%d; 9. System.out.println( a + + (b-a) ); 10. } Merke: Ausgabe von Variablen mit System.out.println(var) ohne. und Zusammensetzen von Ausgaben mit System.out.println(var + ) 19 / 6 0
6 Kurzschreibweisen II Inkrement/Dekrement: InkDekOps.java Für die Inkrementierung/Dekrementierung existieren weitere Kurzschreibweisen: int i=0; ++i; --i; entspricht nicht: int i=0; i++; i--; Dies ist wichtig, falls die Inkrementierung/Dkrementierung innerhalb komplexerer Anweisungen ausgeführt werden: Im Ersten Fall wird zuerst In-/Dekrementiert und dann der (neue) Wert von i weiterverwendet, im zweiten Fall wird zuerst der alte Wert von i verwendet und dann In-/Dekrementiert. 3. int a=1, b=1; 4. System.out.println( a: + a++ ); 5. System.out.println( a ); 6. System.out.println( b: + ++b ); 7. } 1 1 / 6 Inkrement/Dekrement: InkDekOps.java Inkrement/Dekrement: InkDekOps.java 3. int a=1, b=1; 4. System.out.println( a: + a++ ); 5. System.out.println( a ); 6. System.out.println( b: + ++b ); 7. } 3. int a=1, b=1; 4. System.out.println( a: + a++ ); 5. System.out.println( a ); 6. System.out.println( b: + ++b ); 7. } 1 Der Wert von a wird zuerst ausgegeben, dann inkrementiert (vgl.. Ausgabe von a). 1 Der Wert von b wird noch vor der Ausgabe inkrementiert. 3 / 6 4
7 Operanden für ganze Zahlen II - Vergleichsoperationen 4.3 Logischer Datentyp boolean Operator Beispiel Bedeutung </<= a<b/a<=b Liefert wahr, falls a kleiner(-gleich) b >/>= a>b/a>=b Liefert wahr, falls a grösser(-gleich) b!= a!=b Liefert wahr, falls a ungleich b ist == a==b Liefert wahr, falls a gleich b ist = x=a<b Zuweisung Die Auswertung von Vergleichsoperationen liefert einen der logischen Werte wahr oder falsch. Die Zuweisung eines solchen Wertes erfordert links von = eine Variable des Typs boolean!. Java besitzt den logischen Datentyp boolean : Wertebereich: { true, false } Kann bei Zuweisungen von logischen Ausdrücken verwendet werden. Wird implizit bei Kontrollstrukturen verwendet. Logische Operatoren: Operator Beispiel Bedeutung!!i logische Negation && a && b logisches UND a b logisches ODER = a = a && b Zuweisung 5 / 6 6 Vergleichsoperanden: CompOps.java throws IOException 3. int zahl; 4. boolean zwischen1und10; 5. System.out.println( Ganze Zahl: ); 6. {... Einlese-Anweisungen... } 7. zahl = Integer.parseInt(zahlString); 8. zwischen1und10 = (zahl>=0) && (zahl<=10); 9. System.out.println( Die Zahl liegt zwischen 0 und 10: + zwischen1und10 ); 10. }//main Vergleichsoperanden: CompOps.java throws IOException 3. int zahl; 4. boolean zwischen1und10; 5. System.out.println( Ganze Zahl: ); 6. {... Einlese-Anweisungen... } 7. zahl = Integer.parseInt(zahlString); 8. zwischen1und10 = (zahl>=0) && (zahl<=10); 9. System.out.println( Die Zahl liegt zwischen 0 und 10: + zwischen1und10 ); Vergleich auf Variablen vom 10. }//main Typ int. 7 / 6 8
8 Vergleichsoperanden: CompOps.java throws IOException 3. int zahl; 4. boolean zwischen1und10; 5. System.out.println( Ganze Zahl: ); 6. {... Einlese-Anweisungen... } 7. zahl = Integer.parseInt(zahlString); 8. zwischen1und10 = (zahl>=0) && (zahl<=10); 9. System.out.println( Die Zahl liegt zwischen 0 und 10: + zwischen1und10 ); Wird zu Typ boolean ausgewertet! 10. }//main Vergleichsoperanden: CompOps.java throws IOException 3. int zahl; 4. boolean zwischen1und10; 5. System.out.println( Ganze Zahl: ); 6. {... Einlese-Anweisungen... } 7. zahl = Integer.parseInt(zahlString); 8. zwischen1und10 = (zahl>=0) && (zahl<=10); 9. System.out.println( Die Zahl liegt zwischen 0 und 10: + zwischen1und10 ); Können logisch weiter verknüpft 10. }//main werden. 9 / 6 30 Verwechslungsgefahr 4 Ganzzahlige Datentypen vs. 1 int Operator Beispiel Bedeutung == a==b Liefert wahr, falls a gleich b ist = x=a<b Zuweisung Durch Tippfehler wird der Vergleichsoperator für den Test auf Gleichheit zweier Variablen == leicht zum Zuweisungsperator = und umgekehrt!!! Haben byte, short, int, long kennen gelernt. Nutzen in Beispielen nur int, da dieser Typ auch in der Praxis am gebräuchlichsten ist. Nutzung von byte, short : Speicherplatz sparen (bei Speicherkritischen Geräten, z.b. Handys, oder grossen Eingaben für Algorithmen). Falls keine normalen Zahlen dargestellt werden sollen, sondern spezielle Dinge kodiert werden (z.b. Überschaubare Anzahl von Zuständen, Farben,...). Nutzung von long, falls Wertebereich von int nicht ausreicht. 31 / 6 3
9 4.4 Typumwandlung (Typecast) I Expliziter Typecast Java ist eine strikt typisierte Sprache, d.h. jede Variable besitzt einen Typ. Dieser wird vom Compiler bei der Variablendeklaration gelernt und erlaubt danach nur: Zuweisungen von Variablen des gleichen Datentyps. Operationen, die für den Typ der Variablen definiert sind. Operationen auf Variablen gleichen Typs. Manchmal ist es dennoch nötig (und sinnvoll!), andere Zuweisungen bzw. Operationen auszuführen, daher gibt es Arten von Typumwandlung (Typecast): Expliziter Typecast Impliziter Typecast Explizite Typumwandlung: Einer Variable wird explizit der Neue Typ in Klammern vorangestellt: short s=13; int i; i= (int) s; Normale Deklaration. Normale Deklaration. Zuweisung mit explizitem Cast von short auf int Achtung: Der Typecast (kurz: Cast) ändert nicht den deklarierten Typ der Variable, sondern ermöglicht nur die Zuweisung zu einer Variable anderen Typs bzw. die Anwendung einer Operation anderen Typs. Variable s ist immernoch vom Typ short und i vom Typ int! 33 / 6 34 Impliziter Typecast Impliziter Typecast - Erlaubte Typen Implizite Typumwandlung: Eine Variable wird einer anderen von anderem, erlaubten Typ zugewiesen oder eine Operation eines solchen Typs auf sie angwandt: short s=13; int i; i= s; Normale Deklaration. Normale Deklaration. Zuweisung von short zu int Der Typecast ändert auch hier nicht den deklarierten Typ der Variable!Variable s ist immernoch vom Typ short und i vom Typ int! Für einige Datentypen gibt es Typen, auf die ein impliziter Cast erlaubt ist, d.h. bei typgemischten Zuweisungen oder Operationen wird vom Compiler jede Variable automatisch in einen der beteiligten Typen umgewandelt. Dieser ist fest definiert. Beispiel byte, short, int, long: Cast wie folgt erlaubt, da Wertebereich sich vergrössert: byte short int long Cast wie folgt verboten, da Wertebereich sich verkleinert (Gefahr von Over-/Underflow): long int short byte 35 / 6 36
10 Warnung Impliziter Cast: Auf nicht erlaubte Typen erzeugt Kompilierfehler. Auf erlaubte Typen kann ungewollt sein und fehlerhafte Effekte erzeugen (Beispiele später)! Typen können erlaubt sein, aber nur in sehr speziellen Fällen oder trickreicher Programmierung sinnvoll sein! Expliziter Cast: Compiler lässt auch Unsinniges zu. Die Sicherheit eines Typecasts muss der Programmierer verantworten! Beispiel Typecast (IntCast.java) 3. byte b; 4. short s=55; 5. int i=13456; 6. long l; 7. b = (byte) s ; 8. l = i ; 9. System.out.println( Byte: + b + Short: + s ); 10. System.out.println( Int: + i + Long: + l ); 11. } Byte: -1 Short: 55 Int: Long: / 6 38 Beispiel Typecast (IntCast.java) 3. byte b; 4. short s=55; 5. int i=13456; 6. long l; 7. b = (byte) s ; 8. l = i ; Expliziter Cast erforderlich, da nicht sicher. 9. System.out.println( Byte: + b + Short: + s ); 10. System.out.println( Int: + i + Long: + l ); 11. } Beispiel Typecast (IntCast.java) 3. byte b; 4. short s=55; 5. int i=13456; 6. long l; 7. b = (byte) s ; 8. l = i ; Impliziter Cast, da sicher. 9. System.out.println( Byte: + b + Short: + s ); 10. System.out.println( Int: + i + Long: + l ); 11. } Byte: -1 Short: 55 Int: Long: Resultiert in Overflow für Byte-Variable. Byte: -1 Short: 55 Int: Long: Wert bleibt gleich in Long-Variable. 39 / 6 40
11 4.5 Gleitkommazahlen Wie bereits am Beispiel einer Konstanten static final double PI=3.1415; gesehen, benötigen wir neben ganzen Zahlen natürlich auch rationale Zahlen. Jede Zahl x Q, x 0 lässt sich schreiben als: mit - Vorzeichen s {1, 1} - Mantisse m Q, 1 m < 10 - Exponent e Z. x = s m 10 e Da sich in ausgeschriebener Variante, die Position des Kommas je nach Exponent verändern würde, heisst diese Darstellung Gleikommazahl (Floating Point Number). Rationale Numerische Datentypen (Gleitkommazahlen) Im Computer wird eine rationale Zahl immer als Gleitkommazahl durch Vorzeichen, Mantisse und Exponent (zur Basis ) repräsentiert. In Java gibt es für Gleitkommazahlen die Typen float (Floating Point Number) und double (Double Precission): Bitanzahl für: float double Vorzeichen 1 1 Mantisse 3 5 Exponent 8 11 Summe 3 64 Bereich 1.4E E38 4.9E E / 6 4 Notation für Gleitkommazahlen Die Darstellung einer Gleitkommazahl im Java-Quelltext hat die Form: Vorzeichen (optional) Vorkommastellen Dezimalpunkt Nachkommastellen E Vorzeichen des Exponenten (optional) Ganzzahliger Exponent Variablen vom Typ float und double können auch Zahlen in gewöhnlicher Punktschreibweise: Vor- und Nachteile von Gleitkommazahlen Vorteile von Gleitkommazahlen: Der abgedeckte Zahlenbereich ist sehr gross. Erlaubt dennoch hohe Präzision. Nachteile von Gleitkommazahlen: Bei Rechenoperationen entstehen in der Regel (wie bei den meisten reellen Rechnungen im Computer) Rundungsfehler. Die Rechenoperationen, insbesondere Addition und Subtraktion, sind erheblich aufwändiger. zugewiesen werden. < vorkommastellen >. < nachkommastellen > 43 / 6 44
12 Operanden für Gleitkommazahlen Prioritäten der Java Operanden Operanden für Gleitkommazahlen entsprechen den arithmetischen und vergleichenden Operanden für ganze Zahlen. Einige Besonderheiten: Kurzschreibweisen Inkrement ++ und Dekrement -- funktionieren (obwohl nicht so intuitiv) auch bei Gleitkommazahlem. Der Operator / steht für Division (nicht ganzzahlig). Wegen Rundungsfehlern ist Prüfen auf Gleichheit == oder Ungleichheit!= meist nicht sinnvoll. Für die Beschreibung komplizierterer Ausdrücke (besonders ohne Bruchschreibweise), empfiehlt sich die Kenntnis der Prioritäten unter den Operanden. Wollte Prioritätentabelle angeben, fand statt dessen: 45 / 6 46 Prioritäten der Java Operanden Grundregeln Für die Beschreibung komplizierterer Ausdrücke (besonders ohne Bruchschreibweise), empfiehlt sich die Kenntnis der Prioritäten unter den Operanden. Wollte Prioritätentabelle angeben, fand statt dessen: Kein Programmierer sucht nach seiner Präzedenz-Tabelle, um die Ausführungsreihenfolge von Operatoren zu überprüfen. Setzen Sie einfach Klammern, wenn Sie nicht sicher sind, und fertig. Der Zugriffsoperator. hat größte Priorität. Klammern haben zweithöchste Priorität und können jedem Ausdruck die gewünschte Priorität einräumen. Es gilt Punkt- vor Strichrechnung. Gerade komplizierte Ausdrücke werden mit Klammerung leserlicher. Bei Unsicherheit immer Klammern. 47 / 6 48
13 Beispiel Rundungsfehler (FloatErr.java) Beispiel Rundungsfehler (FloatErr.java) 3. float f1= e-7f, f=1, f3=-f; 4. float sum1,sum; 5. sum1=(f1+f)+f3; 6. sum=f1+(f+f3); 7. System.out.println( (f1+f)+f3: + sum1 ); 8. System.out.println( f1+(f+f3): + sum ); 9. } 3. float f1= e-7f, f=1, f3=-f; 4. float sum1,sum; 5. sum1=(f1+f)+f3; 6. sum=f1+(f+f3); 7. System.out.println( (f1+f)+f3: + sum1 ); 8. System.out.println( f1+(f+f3): + sum ); 9. } (f1+f)+f3: E-7 f1+(f+f3): E-7 (f1+f)+f3: E-7 f1+(f+f3): E-7 (f1+f)+f3 : Zu eine kleinen Zahl wird 1 addiert, dann wieder abgezogen: Präzisionsverlust 49 / 6 50 Beispiel Rundungsfehler (FloatErr.java) float Zuweisung 3. float f1= e-7f, f=1, f3=-f; 4. float sum1,sum; 5. sum1=(f1+f)+f3; 6. sum=f1+(f+f3); 7. System.out.println( (f1+f)+f3: + sum1 ); 8. System.out.println( f1+(f+f3): + sum ); 9. } (f1+f)+f3: E-7 f1+(f+f3): E-7 f1+(f+f3) : +1 und -1 werden zuerst addiert und ergeben exakt 0. Es wird quasi keine Addition auf f1 ausgeführt: Kein Präzisionsverlust Bei Zuweisung einer möglicherweise zu grossen/präzisen Konstante zu einer, gibt es (nur hier!) Möglichkeiten des expliziten Casts: float f = f float f = (float) Ohne eine dieser Varianten würde die Zahl als double interpretiert und ein Kompilierfehler ausgegeben. 51 / 6 5
14 Typumwandlung (Typecast) II Operanden und gemischte Typen I Expliziter Typecast ist wie bei den ganzen Zahlen auch hier und bei allen weiteren Datentypen möglich. Der erlaubte impliziter Typecast zwischen ganzzahligen numerischen Datentypen erweitert sich auf rationale Datentypen wie folgt: Erlaubt: byte short int long float double Nicht erlaubt: double float long int short byte Weitere Typen können erlaubt sein, aber Fehlerquellen beinhalten. Jeder Operator kann nur auf gleichartigen Datentypen arbeiten Operationen und Zuweisungen können trotzdem gemischte Typen enthalten: int i = 1; double d =, e; e = i/d; Dies ist so nur erlaubt, wenn alle beteiligten Typen standardmäß implizit in den gleichen Typ umgewandelt werden (Hier: double). Vor der Division i/d wird i automatisch in double umgewandelt. 53 / 6 54 Operanden und gemischte Typen II Abrunden mit int-cast Andernfalls muss zusätzlich ein explitizer Typecast auftreten: int i = 1; double d = ; float f = (float) i/d; Warum Cast (float) notwendig? 1. Bei Berechnung i/d wird i (erlaubterweise) implizit in double umgewandelt.. Das Ergebnis der Division ist damit auch automatisch ein double-wert. 3. Die Zuweisung f=i/d ist daher nicht erlaubt (obwohl 0.5 ohne Probleme als float- Wert darstellbar ist. Durch explizite Umwandlung von Gleitkommazahlen (double, float) in ganzzahlige Werte erhält man den ganzzahligen Anteil der Zahl: Das Programmfragment: double d = ; int i = (int) d; System.out.prinln(d); Gibt aus: Bei gemischten Zuweisungen können unerwünschte implizite Umwandlungen in int auftreten, die ebenfalls diesen Effekt haben / 6 56
15 Beispiel gemischte Typen (MixedType.java 3. int i = 1; 4. double d =, e, a, b; 5. e = i/d; 6. float f= (float) (i/d); 7. a = i/ ; 8. b = i/.0 ; 9. System.out.println( e: + e + f: + f); 10. System.out.println( a: + a + b: + b); 11. } e: 0.5 f: 0.5 a: 0.0 b: 0.5 Beispiel gemischte Typen (MixedType.java 3. int i = 1; 4. double d =, e, a, b; 5. e = i/d; 6. float f= (float) (i/d); 7. a = i/ ; 8. b = i/.0 ; 9. System.out.println( implizit e: in + double e + umgewandelt. f: + f); 10. System.out.println( a: + a + b: + b); 11. } e: 0.5 f: 0.5 a: 0.0 b: 0.5 wird als int interpretiert: / als ganzzahlige Division ergibt 0 und wird 57 / 6 58 Beispiel gemischte Typen (MixedType.java 3. int i = 1; 4. double d =, e, a, b; 5. e = i/d; 6. float f= (float) (i/d);.0 wird als double interpretiert: i wird implizit in double umgewandelt, 7. a = i/ ; 8. b = i/.0 ; so dass / als rationale Division 0.5 als 9. System.out.println( e: double-wert + e ergibt. + f: + f); 10. System.out.println( a: + a + b: + b); 11. } 4.6 Der alphanumerische Datentyp char char-variablen werden dazu verwendet, Zeichen darzustellen. Zeichen sind hier: Buchstaben, Ziffern, Sonderzeichen... Typischerweise sind chars 1 Byte groß und können daher 56 verschiedene Werte repräsentieren. Dabei entsprechen die ersten 18 Zeichen den Zeichen der ASCII-Tabelle (s.o.). Die nächsten 18 Zeichen sind Länderspezifischen Erweiterungen vorbehalten. Java verwendet einen Byte langen char-typen, der die des Unicode umfasst. So können quasi alle bis heute bekannten Schriftzeichen anhand einer Eindeutigen Unicode-Nummer dargestellt werden. e: 0.5 f: 0.5 a: 0.0 b: / 6 60
16 Nutzung von char char vs. String Zeichenkonstanten (Variablen vom Typ char) können wie folgt Werte zugewiesen werden: Zeichen in einfaches Hochkomma eingeschlossen: char c = A ASCII-Code des Zeichens: char c = 65 Ausgabe beider Zuweisungen: A Manche Zeichen müssen besonders codiert werden, z.b. werden die Zeichen, oder \ als \, \ und \\ dargestellt. Weiter gibt es Sonderzeichen wie \n für Zeilenvorschub und \t für ein Tabulatorzeichen. Bisher kennen wir haben wir Zeichenketten in Form des Datentyps String kennen gelernt. Unterschiede: String Zeichenkette, char einzelnes Zeichen. String in, char in String i. Ggs. zu char kein primitiver Datentyp. Der Datentyp String ist ein zusammengesetzter Datentyp. Ein String besteht aus einem Feld (Array) von char Variablen (später) und besitzt eigene Operatoren. Mehr im Kapitel Ein- und Ausgabe. 61 / 6 6
Kapitel 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
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
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
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",
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
MehrKapitel 3. Grunddatentypen, Ausdrücke und Variable
Kapitel 3 Grunddatentypen, Ausdrücke und Variable Grunddatentypen, Ausdrücke und Variable 1 Eine Datenstruktur besteht aus Grunddatentypen in Java einer Menge von Daten (Werten) charakteristischen Operationen
MehrPrimitive Datentypen und Felder (Arrays)
Primitive Datentypen und Felder (rrays) Primitive Datentypen Java stellt (genau wie Haskell) primitive Datentypen für Boolesche Werte, Zeichen, ganze Zahlen und Gleitkommazahlen zur Verfügung. Der wichtigste
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
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
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
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
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
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
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)
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
MehrVorlesung Programmieren
Vorlesung Programmieren 2. Typen und Variablen 27.10./03.11.2014 Prof. Dr. Ralf H. Reussner Version 1.2 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION
MehrJavaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden
Javaprogrammierung mit NetBeans Variablen, Datentypen, Methoden Programmieren 2 Java Bezeichner Bezeichner: Buchstabe _ $ Buchstabe _ $ Ziffer Groß- und Kleinbuchstaben werden strikt unterschieden. Schlüsselwörter
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
MehrKapitel 3. Programmierkurs. Arten von Anweisungen. 3.1 Was sind Anweisungen?
Kapitel 3 Programmierkurs Birgit Engels, Anna Schulze ZAIK Universität zu Köln Anweisungen, Variablen Arten von Anweisungen Variablen Konstanten Höchste Zeit für ein Programm Gültigkeitsbereich von Variablen
MehrNumerische Datentypen. Simon Weidmann
Numerische Datentypen Simon Weidmann 08.05.2014 1 Ganzzahlige Typen 1.1 Generelles Bei Datentypen muss man immer zwei elementare Eigenschaften unterscheiden: Zuerst gibt es den Wertebereich, zweitens die
MehrJava Kurs für Anfänger Einheit 2 Datentypen und Operationen
Java Kurs für Anfänger Einheit 2 Datentypen und Operationen Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 16. Mai 2009 Inhaltsverzeichnis
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
MehrEin erstes Java-Programm
Ein erstes Java-Programm public class Rechnung { public static void main (String [] arguments) { int x, y; x = 10; y = -1 + 23 * 33 + 3 * 7 * (5 + 6); System.out.print ("Das Resultat ist "); System.out.println
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
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).
MehrOperatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011
Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 Operatoren für elementare Datentypen 2 Bedingte Anweisungen 3 Schleifen Zuweisungsoperator Die Zuweisung von Werten an
MehrKompaktkurs Einführung in die Programmierung. 3. Fundamentale Datentypen, Ausdrücke
Kompaktkurs Einführung in die Programmierung 3. Fundamentale Datentypen, Ausdrücke Stefan Zimmer 4.3.2009-1- Objekte im Speicher Ein Objekt ist für uns zunächst einfach ein fester Bereich im Speicher unseres
MehrUnterlagen. CPP-Uebungen-08/
Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen
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
MehrMusterlösung 1. Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016
Musterlösung 1 Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016 Hinweis: Die folgenden Aufgaben erheben nicht den Anspruch, eine tiefergehende Kenntnis zu vermitteln; sie sollen lediglich den
MehrAlgorithmen & Programmierung. Ausdrücke & Operatoren (1)
Algorithmen & Programmierung Ausdrücke & Operatoren (1) Ausdrücke Was ist ein Ausdruck? Literal Variable Funktionsaufruf Ausdruck, der durch Anwendung eines einstelligen (unären) Operators auf einen Ausdruck
MehrDr. Monika Meiler. Inhalt
Inhalt 3 C-Ausdrücke...3-2 3.1 Arithmetische Ausdrücke...3-3 3.2 Wertzuweisungen...3-5 3.3 Inkrementieren und Dekrementieren...3-6 3.4 Logische Ausdrücke (Bedingungen)...3-7 3.5 Bedingte Ausdrücke...3-8
MehrProgrammieren in C / C++ Grundlagen C 2
Programmieren in C / C++ Grundlagen C 2 Hochschule Fulda FB AI Wintersemester 2016/17 http://c.rz.hs-fulda.de Peter Klingebiel, HS Fulda, FB AI Anweisung / Ausdruck 1 Programm setzt sich aus vielen Anweisungen
MehrKapitel 2. Zahlensysteme, Darstellung von Informationen
Kapitel 2 Zahlensysteme, Darstellung von Informationen 1 , Darstellung von Informationen Ein Computer speichert und verarbeitet mehr oder weniger große Informationsmengen, je nach Anwendung und Leistungsfähigkeit.
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
MehrInformationsmenge. Maßeinheit: 1 Bit. 1 Byte. Umrechnungen: Informationsmenge zur Beantwortung einer Binärfrage kleinstmögliche Informationseinheit
Informationsmenge Maßeinheit: 1 Bit Informationsmenge zur Beantwortung einer Binärfrage kleinstmögliche Informationseinheit 1 Byte Zusammenfassung von 8 Bit, kleinste Speichereinheit im Computer, liefert
Mehr2 Einfache Rechnungen
2 Einfache Rechnungen 2.1 Zahlen Computer, auch bekannt als Rechner, sind sinnvoller eingesetzt, wenn sie nicht nur feste Texte ausgeben, sondern eben auch rechnen. Um das Rechnen mit Zahlen zu verstehen,
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Literalkonstanten Übersicht 1 Ganzzahlige Konstanten 2 Gleitkommakonstanten 3 Zeichenkonstanten 4 Zeichenketten 5 Boolsche Konstanten 6 null Referenz Literalkonstanten Literalkonstanten
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?
MehrEinstieg in die Informatik mit Java
1 / 20 Einstieg in die Informatik mit Java Literalkonstanten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 20 1 Ganzzahlige Konstanten 2 Gleitkommakonstanten 3 Zeichenkonstanten
MehrProgrammiertechnik Operatoren, Kommentare, Ein-/Ausgabe
Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was sind Operatoren? Ein Operator ist eine in die Programmiersprache eingebaute Funktion,
MehrProgrammieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff
Programmieren in C C Syntax Datentypen, Operatoren und Kontrollstrukturen Prof. Dr. Nikolaus Wulff Elementare Typen Imperative und objektorientierte Programmiersprachen bieten i.d.r. einen Satz elementarer
MehrZahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = 1100110011 binär
Zahlensysteme Menschen nutzen zur Angabe von Werten und zum Rechnen vorzugsweise das Dezimalsystem Beispiel 435 Fische aus dem Teich gefischt, d.h. 4 10 2 + 3 10 1 +5 10 0 Digitale Rechner speichern Daten
MehrInformatik I Übung, Woche 41
Giuseppe Accaputo 8. Oktober, 2015 Plan für heute 1. Fragen & Nachbesprechung Übung 3 2. Zusammenfassung der bisherigen Vorlesungsslides 3. Tipps zur Übung 4 Informatik 1 (D-BAUG) Giuseppe Accaputo 2 Nachbesprechung
MehrModul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2
Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016
MehrII. Grundlagen der Programmierung
II. Grundlagen der Programmierung II.1. Zahlenssteme und elementare Logik 1.1. Zahlenssteme 1.1.1. Ganze Zahlen Ganze Zahlen werden im Dezimalsstem als Folge von Ziffern 0, 1,..., 9 dargestellt, z.b. 123
MehrWelche Informatik-Kenntnisse bringen Sie mit?
Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt
MehrPrimitive Datentypen in Haskell
Primitive Datentypen in Haskell Der Datentyp Bool Der Datentyp Bool dient zur Beschreibung von Wahrheitswerten und zum Rechnen mit solchen Werten. Bool hat nur zwei mögliche Werte True und False. Als Operationen
MehrKapitel 6. Programmierkurs. 6.0 Felder (Arrays) Deklaration von Feldern. Felder (Arrays) Mehrdimensionale Arrays. Birgit Engels, Anna Schulze WS 07/08
Kapitel 6 Programmierkurs Birgit Engels, Anna Schulze Felder (Arrays) Mehrdimensionale Arrays ZAIK Universität zu Köln WS 07/08 1/ 21 2/ 21 6.0 Felder (Arrays) Deklaration von Feldern Bisher haben wir
MehrProgrammieren I. Kapitel 5. Kontrollfluss
Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,
MehrJava Einführung Operatoren Kapitel 2 und 3
Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig
MehrÜbung Praktische Informatik II
Übung Praktische Informatik II FSS 2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 06.03.09 2-1 Heutige große Übung Allgemeines
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
MehrElementare Datentypen in C++
Elementare Datentypen in C++ bool signed/unsigned char signed/unsigned short int signed/unsigned int signed/unsigned long int (signed/unsigned long long int) float double long double void enum char Der
MehrProgrammierung. Grundlagen. Tina Wegener, Ralph Steyer. 2. Ausgabe, 1. Aktualisierung, April 2014
Programmierung Tina Wegener, Ralph Steyer 2. Ausgabe, 1. Aktualisierung, April 2014 Grundlagen PG 6 Programmierung - Grundlagen 6 Grundlegende Sprachelemente In diesem Kapitel erfahren Sie was Syntax und
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
MehrGrundlagen der Programmierung
Grundlagen der Programmierung 7. Vorlesung 18.05.2016 1 Konstanten Ganzzahlkonstante Dezimal: 42, 23, -2 Oktal (0 vorangestellt): 052 Hexadezimal (0x vorangestellt): 0x2A Gleitkommazahlen: 3.1415, 2.71,
MehrRO-Tutorien 3 / 6 / 12
RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
MehrSoftwareentwicklung Ausdrücke und Typkonversionen
Mag. iur. Dr. techn. Michael Sonntag Softwareentwicklung Ausdrücke und Typkonversionen E-Mail: sonntag@fim.uni-linz.ac.at http://www.fim.uni-linz.ac.at/staff/sonntag.htm Institut für Informationsverarbeitung
MehrPrimitive Datentypen
Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.
MehrRechnerorganisation. IHS 2015/2016 H.-D. Wuttke, K. Henke
Rechnerorganisation Mathematische Grundlagen (1) Boolesche Algebren: BMA, BAA (2,3) Kombinatorische Schaltungen (4,5) Automaten (6,7) Sequentielle Schaltungen (8) Programmierbare Strukturen (9) Rechneraufbau
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
Mehr8 Typwandlungen. 8.1 Automatische Typkonvertierungen
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
MehrEINI LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 15/16
EINI LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 15/16 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de
MehrEinführung in die Programmiertechnik
Einführung in die Programmiertechnik Darstellung von Zahlen Natürliche Zahlen: Darstellungsvarianten Darstellung als Text Üblich, wenn keine Berechnung stattfinden soll z.b. Die Regionalbahn 28023 fährt
MehrString-Konkatenation
YOU ARE HERE Ausdrücke und Anweisungen Einführung Objektorientierte Modellierung Java-Sprachkonstrukte Pakete und Zugriffskontrolle Deklaration von Methoden, Attributen, Variablen Ausdrücke und Anweisungen
MehrJava - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue
Java - Schleifen Bedingung wiederhole ja Anweisung Anweisung Anweisung Leibniz Universität IT Services Anja Aue Anweisung int zahl; zahl = 2; zahl = zahl * 10; int zahl; ; Jede Anweisung endet mit einem
MehrDie Programmiersprache C
Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,
MehrKapitel 5: Daten und Operationen
Kapitel 5: Daten und Operationen Felix Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung Praktische Informatik I im Herbstsemester 2007 Folien nach einer Vorlage von H.-Peter
MehrProgrammierung mit C Zeiger
Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch
MehrHaDePrak WS 05/ Versuch
HaDePrak WS 05/06 10. Versuch 1 Das IEEE-Format Das Ziel dieser letzten Übung ist es, ein Fließkommapaket für die DLXzu implementieren. Der Einfachheit halber vernachlässigen wir hier im Praktikum jeglichen
MehrRepräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen
Kapitel 4: Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Codierung von rationalen Zahlen Konvertierung
MehrEinführung in die Programmierung II. 2. Fundamentale Datentypen, Ausdrücke
Einführung in die Programmierung II 2. Fundamentale Datentypen, Ausdrücke Stefan Zimmer 3. 5. 2006-1- Objekte im Speicher Ein Objekt ist für uns zunächst einfach ein fester Bereich im Speicher unseres
MehrOO Programmierung in Java
OO Programmierung in Java Einführung WS 212/213 Prof. Dr. Margarita Esponda M. Esponda-Argüero 1 Homepage Homepage http://www.esponda.de/ws_12_13/jbk Vorlesungsfolien Literaturliste Übungen Zusätzliches
MehrEinführung in die C++ Programmierung für Ingenieure
Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF
MehrEinführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann
Einführung in die Informatik für Hörer aller Fakultäten II Andreas Podelski Stephan Diehl Uwe Waldmann 1 Einführung in die Informatik für Hörer aller Fakultäten II Andreas Podelski Stephan Diehl Uwe Waldmann
MehrWie entwerfe ich ein Programm?
Wie entwerfe ich ein Programm? Welche Objekte brauche ich? Flussdiagramme für Programmablauf Vorcode Testcode Hauptcode Wir spielen Lotto! Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 5 +
MehrNoch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean
01.11.05 1 Noch für heute: 01.11.05 3 primitie Datentypen in JAVA Primitie Datentypen Pseudocode Name Speichergröße Wertgrenzen boolean 1 Byte false true char 2 Byte 0 65535 byte 1 Byte 128 127 short 2
MehrAlgorithmen & Programmierung. Reelle Zahlen in C (2) Rechnen mit Gleitkommazahlen
Algorithmen & Programmierung Reelle Zahlen in C (2) Rechnen mit Gleitkommazahlen Norm für Gleitkommazahlen Die Darstellung von Gleitkommazahlen ist genormt (IEEE 754). Inhalte der Norm Es gibt zwei Grundformate
MehrHello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.
Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike
Mehr620.900 Propädeutikum zur Programmierung
620.900 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt Andreas.Bollin@uni-klu.ac.at Tel: 0463 / 2700-3516 Lösung der Aufgaben (1/2) Lösung Aufgabe
Mehr4. Datentypen. Einleitung Eingebaute Datentypen. Konversion / Type-Cast. Operatoren. Übersicht Die Datentypen char, float und double Standardwerte
4. Datentypen Einleitung Eingebaute Datentypen Übersicht Die Datentypen char, float und double Standardwerte Konversion / Type-Cast Datentyp von Literalen Operatoren Ausdrücke Allgemeine Informatik 2 SS09
MehrDer Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.
Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.
Mehr1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster
1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster Aufgabe: Bearbeitungszeit: ca. 1/4 Std) Schreiben Sie ein "objektorientiertes" Programm ("CuB_05_1") für das Sammeln der Körner. Aufgabenbeschreibung:
Mehr2 Darstellung von Zahlen und Zeichen
2.1 Analoge und digitale Darstellung von Werten 79 2 Darstellung von Zahlen und Zeichen Computer- bzw. Prozessorsysteme führen Transformationen durch, die Eingaben X auf Ausgaben Y abbilden, d.h. Y = f
MehrOperatoren und Ausdrücke
Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Überblick 1 2 / 11 Motivation Es gibt eine Reihe
Mehr2. Datentypen und Deklarationen
2. Datentypen und Deklarationen Programm = Datenstrukturen+Kontrollstruktur Programme verarbeiten Daten. Daten werden in C durch Datenstrukturen aus verschiedenen Datentypen beschrieben. Es gibt (wie in
MehrB: Basis des Zahlensystems 0 a i < B a i є N 0 B є (N > 1) Z = a 0 B 0 + a 1 B 1 + a 2 B a n-1 B n-1
Polyadisches Zahlensystem B: Basis des Zahlensystems 0 a i < B a i є N 0 B є (N > 1) Ganze Zahlen: n-1 Z= a i B i i=0 Z = a 0 B 0 + a 1 B 1 + a 2 B 2 +... + a n-1 B n-1 Rationale Zahlen: n-1 Z= a i B i
MehrComputerarithmetik ( )
Anhang A Computerarithmetik ( ) A.1 Zahlendarstellung im Rechner und Computerarithmetik Prinzipiell ist die Menge der im Computer darstellbaren Zahlen endlich. Wie groß diese Menge ist, hängt von der Rechnerarchitektur
MehrInhalt. 4.5 Arbeit mit Zeigern (engl. Pointer)
Inhalt Inhalt: 4. Programmiersprache C 4.1 Programmaufbau in C 4.2 Basisdatentypen und einfache Anweisungen 4.3 Steuerfluss-Konstrukte 4.4 Arbeit mit indizierten Größen (Felder) 4.5 Arbeit mit Zeigern
MehrVorlesung Programmieren
Vorlesung Programmieren 2. Typen und Variablen 02.11.2016 Jun.-Prof. Dr.-Ing. Anne Koziolek Version 1.0 ARBEITSGRUPPE ARCHITECTURE-DRIVEN REQUIREMENTS ENGINEERING (ARE) INSTITUT FÜR PROGRAMMSTRUKTUREN
MehrArbeitsblätter für die Lehrveranstaltung OOP JAVA 1
Fachhochschule Stralsund Fachbereich Maschinenbau Lehrgebiet Informatik Prof. Dr.-Ing. Ch.Wahmkow Arbeitsblätter für die Lehrveranstaltung OOP I. Aufbau eines Java-Programmes JAVA 1 Escape-Sequenzen zur
Mehr1. Grundlagen der Informatik Zahlensysteme und interne Informationsdarstellung
1. Grundlagen der Informatik Zahlensysteme und interne Informationsdarstellung Inhalt Grundlagen digitaler Systeme Boolesche Algebra / Aussagenlogik Organisation und Architektur von Rechnern Algorithmen,
MehrElementare Konzepte von
Elementare Konzepte von Programmiersprachen Teil 1: Bezeichner, Elementare Datentypen, Variablen, Referenzen, Zuweisungen, Ausdrücke Kapitel 6.3 bis 6.7 in Küchlin/Weber: Einführung in die Informatik Bezeichner
MehrÜbungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.
Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Daher ist y = x + 5.6; keine Gleichung, sondern die Anweisung den Wert
MehrMotivation und Überblick
Motivation und Überblick Drei große Bereiche der Vorlesung: Darstellung von Zahlen in Rechnern Verarbeitung von Binärdaten auf der Ebene digitaler Schaltungen Programmierung auf Maschinenebene und relativ
MehrL6. Operatoren und Ausdrücke
L6. Operatoren und Ausdrücke 1. Arithmetische Operatoren: +, -, *, /, %, --, ++ 2. Zuweisung-Operatoren: =, +=, -=, *=, /= 3. Vergleichsoperatoren: =, ==,!= 4. Logische Operatoren:!, &&, 5.
MehrBinäre Gleitkommazahlen
Binäre Gleitkommazahlen Was ist die wissenschaftliche, normalisierte Darstellung der binären Gleitkommazahl zur dezimalen Gleitkommazahl 0,625? Grundlagen der Rechnerarchitektur Logik und Arithmetik 72
MehrProgrammieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff
Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Textausgabe per printf Die Funktion printf ist kein Bestandteil der C Sprache sondern gehört zur C Bibliothek. printf
Mehr