Vorlesung Programmieren

Größe: px
Ab Seite anzeigen:

Download "Vorlesung Programmieren"

Transkript

1 Vorlesung Programmieren 2. Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek Version 1.0 ARBEITSGRUPPE ARCHITECTURE-DRIVEN REQUIREMENTS ENGINEERING (ARE) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD), KIT-FAKULTÄT FÜR INFORMATIK are.ipd.kit.edu KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

2 Literaturhinweis - Weiterlesen Dietmar Ratz, Jens Scheffler, Detlef Seese und Jan Wiesenberger Grundkurs Programmieren in Java, 7. Auflage, 2014 (mit Java 8), Hansa-Verlag Kapitel 3 Aller Anfang ist schwer Abschnitt 4.3 Einfache Datentypen Abschnitt 4.4 Der Umgang mit einfachen Datentypen Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

3 Interactive Talk (InTa) Werkzeug zur Integration von Publikumsinteraktion Entwickelt am Forschungszentrum Informatik (FZI) Abstimmen über Online-Oberfläche (bspw. Smartphone) Beispiel: Haben Sie BoGy (Berufsorientierung an Gymnasien) absolviert? Link: Umfrage-ID: Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

4 Datentypen Definition: In Java: Ein Datentyp (kurz: Typ) bezeichnet eine Menge gleichartiger Werte Datentypen legen die möglichen Werte von Variablen, Attributen (und Methoden) fest Datentypen bestimmen auch, welche Operationen auf den Werten möglich sind 8 elementare Datentypen ( primitive data types ) Zahlen: ganze Zahlen, Fließkommazahlen ( reelle Zahlen ) Wahrheitswerte (wahr/falsch) Zeichen Jede Klasse bildet einen Datentyp Erweiterung der elementaren Datentypen um eigene, benutzerdefinierte dadurch möglich Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

5 Die elementaren Datentypen in Java Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

6 Wertebereiche der elementaren Datentypen Wertedarstellung in verschiedenen Zahlensystemen Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

7 Vordefinierte Operationen auf elementaren Datentypen Präzedenz: Je kleiner der Wert, desto stärker bindet der Operator! Kurzschlussauswertung (short-circuit-evaluation) möglich bei && und Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

8 Umrechnung von Zahlensystemen ganze Zahlen Quotient Quotient Quotient Quotient Umrechnen der Dezimalzahl 21 in die äquivalente Binärzahl 21 % 2 = 1 10 % 2 = 0 5 % 2 = 1 2 % 2 = 0 1 % 2 = 1 Rest Rest Rest Rest Rest Umrechnen der Binärzahl in die äquivalente Dezimalzahl *2 4 +0*2 3 +1*2 2 +0*2 1 +1*2 0 = = Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

9 Operatoren auf ganzen Zahlen: Beispiele Linksshift: << 1 = << 2 = Rechtsshift (Vorzeichenkonform) : Eine negative Zahl : Eine positive Zahl >> 1 = >> 2 = >> 1 = >> 2 = Rechtsshift (Ohne Vorzeichen) >>> 1 = >>> 2 = Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

10 Präzedenz: Beispiele Präzedenzregeln helfen, unnötige Klammern zu vermeiden Beispiel: Der Ausdruck x < 2*y+1 &&!(x >= y % z) wird so ausgewertet: (x < ((2*y)+1)) && (!(x >= (y % z))) Präzedenz Operator 1 +x, -x 2 x*y, x/y, x%y 3 x+y, x-y 5 x<y, x<=y, x>y, x>=y 6 x==y, x!=y 1!x 10 x && y 11 x y Präzedenz: Je kleiner der Wert, desto stärker bindet der Operator! Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

11 Die Wahrheitswerte: boolean Werte: true, false Operatoren: Dabei gilt: 1 ist Abkürzung für true 0 ist Abkürzung für false Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

12 Die ganzen Zahlen: byte, short, int, long Operatoren: +, -, * und Vergleichs-Operatoren (fast) wie in der Mathematik / und % ganzzahlig Z.B: 17 / 5 = 3 und 17 % 5 = 2 Über- und Unterlauf: Ist das (mathematisch) exakte Ergebnis einer Operation nicht im Wertebereich eines Typs, werden die höchstwertigen Bits ignoriert Beispiele (Typ int): Achtung: = = Das Ergebnis von arithmetischen Operationen mit Operanden vom Typ byte und short ist vom Typ int! Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

13 Die ganzen Zahlen: byte, short, int, long Weitere Operatoren: ++: Inkrement-Operator: erhöht Variable um eins --: Dekrement-Operator: verringert Variable um eins Prä- und Post-Inkrement/Dekrement ++ und -- können in Präfix- und Postfix-Notation verwendet werden: Präfix: Postfix: Semantik: y = ++x ++x, --y x++, y-- entspricht x = x + 1; y = x y = x++ entspricht y = x; x = x + 1 analog für Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

14 Die Fließkommazahlen: float und double Implementierung des IEEE-754-Standards Werte: Teilmenge der reellen Zahlen (R) Notation: Mit Dezimalpunkt: Wissenschaftliche Darstellung: 6.022e23 (steht für ) Interne Darstellung mittels Vorzeichen, Exponent und Mantisse: Basis 2 in der Exponentiation x = (-1) VZ M 2 EXP Beispiel: VZ = 1, EXP = -1, M = 5 ergibt x = (-1) = Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

15 Die Fließkommazahlen: float und double Besondere Werte: NaN (Not-a-Number), POSITIVE_INFINITY, NEGATIVE_INFINITY +0.0 und -0.0 Mathematische Operationen werden gerundet Java stellt eine Klasse Math bereit mit typischen Fließkommaoperationen: abs, sin, cos, sqrt,... Gleichheit (==) und Ungleichheit (!=) nur selten sinnvoll nutzbar Statt x == y besser Math.abs(x-y) < 0.1E-8 Statt x!= y besser Math.abs(x-y) >= 0.1E Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

16 IEEE Gleitkommazahlen Standardisierte Darstellung für Gleitkommazahlen im Rechner, u.a.: Single Precision (32 Bit) 1 Bit Vorzeichen 8 Bit Exponent 23 Bit Mantisse Double Precision (64 Bit) 1 Bit Vorzeichen 11 Bit Exponent 52 Bit Mantisse Grund: Jede Gleitkommazahl kann wie folgt geschrieben werden: Zahl = Vorzeichen.Mantisse.Basis Exponent Bei binären Zahlen entspricht Basis immer 2 Die Zahl vor dem Komma ist immer 1 wird nicht explizit gespeichert. Positive Zahl Vorzeichen=0, negative Zahl Vorzeichen=1 Exponent muss stets positiv sein (biased representation) Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

17 IEEE Gleitkommazahlen Grund für "biased representation : Das Vorzeichen eines Exponenten sagt aus, ob eine Zahl groß oder klein ist. Das Vorzeichen eines Exponenten sagt nicht aus, ob eine Zahl positiv oder negativ ist. Ein vorzeichenbehafteter Exponent erschwert die Vergleichsoperationen Exponent muss positiv sein Mit 8 Bit können 256 darstellbar Exponent und sind reserviert. Exponent = und Mantisse = 0..0 Unendlich Exponent = und Mantisse > 0 Keine Zahl (NaN) = 254 verfügbare Exponenten Addition mit 127 (single precision) Kleinen Zahlen sind durch kleine Exponenten dargestellt und umgekehrt Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

18 Nachteile In IEEE 754 gibt es sowohl +0, als auch -0: Vorzeichen=0, Exponent=0, Mantisse=0 +0 Vorzeichen=1, Exponent=0, Mantisse=0-0 Rundungsfehler, Beispiel: float i = 1.05; float j = 0.05; i j = Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

19 IEEE 754 Gleitkommazahlen: Beispiel Umrechnen der Zahl 21,4 in IEEE 754 Single Precision Umrechnen der Vorkommazahl % 2 = 1 10 % 2 = 0 5 % 2 = 1 2 % 2 = 0 1 % 2 = Umrechnen der Nachkommazahl 0,4 0,4 * 2 = 0,8 0 0,8 * 2 = 1,6 1 0,6 * 2 = 1,2 1 0,2 * 2 = 0,4 0 0,4 * 2 = 0, ,4=10101, *2 0 = 1, * Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

20 IEEE 754 Gleitkommazahlen: Beispiel 21,4=10101, *2 0 = 1, *2 4 Neuer Exponent (Charakteristik) = Alter Exponent = 131 Umrechnen der Charakteristik: 131 % 2 = 1 65 % 2 = 1 32 % 2 = 0 16 % 2 = 0 8 % 2 = 0 4 % 2 = 0 2 % 2 = 0 1 % 2 = Vorzeichen: Positiv = 0 Gleitkommazahl: Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

21 Jetzt sind Sie gefragt! Was ist die größte darstellbare positive Gleitkommazahl nach IEEE 754 Single Precision in binärer Darstellung? * Was ist die zweit größte darstellbare positive Gleitkommazahl nach IEEE 754 Single Precision in binärer Darstellung? * Was ist die Differenz zwischen den beiden Zahlen? * * = 2 * Umfrage-IDs: 97, 98, Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

22 ASCII- und Unicode-Zeichen: char Werte: Zeichen-Literale: A, 3, % Escape-Sequenzen: \n, \007, \u05d0 Operatoren: Wie bei Ganzzahl-Typen (Werte entsprechen ASCII- bzw. Unicode-Nummern) Beispiele: a + 1 = 98 a * b = Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

23 Datentyp String Datentyp (Klasse) für Zeichenketten: String Beispiele: String text = Das ist ein Text String greeting = Hallo! String address = Am Fasanengarten 5\n76131 Karlsruhe Operationen: U.a. Konkatenation ( Verkettung ) String result = Dies ist + eine Konkatenation String greetingandaddress = greeting + address String result = Dies ist + keine Konkatenation Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

24 Aufzählungs-Datentyp: enum Werte: Benutzerdefiniert Eine Liste der möglichen Werte des Typs wird explizit angegeben Beispiele: enum CompassDirection { NORTH, EAST, SOUTH, WEST } enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY } enum Color { RED, GREEN, BLUE } Schema (analog zu Klassendeklaration): enum Name { Liste der Werte } Operationen: Müssen vom Benutzer angegeben werden (analog zu Klassenmethoden; mehr dazu in einer späteren Vorlesung) Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

25 Quiz Warum ist der Wert von 10^6 nicht sondern 12? 2. Kann man mit (a < b < c) testen, ob diese drei Zahlen geordnet sind? 3. Kann man die Operatoren < und > verwenden, um String- Variablen zu vergleichen? 4. Was ist das Ergebnis von 1/0 in Java? Was ist das Ergebnis von 1.0/0.0 in Java? Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

26 Variablen Eine Variable ist ein Platzhalter für Werte eines Datentyps Z.B.: x + y > 4 Variablendeklaration: Notwendig vor Verwendung einer Variablen; legt Name und Typ der Variablen fest Schema: Typ Name; oder Typ Name 1,..., Name n ; Beispiele: float a; int x, y, z; Zuweisung: Setzen eines Wertes Schema: Name = Wert; Initialisierung: Kombination von Deklaration und Zuweisung Anstelle von float a; a = 2.5; kann man float a = 2.5f; schreiben Schema: Typ Name = Wert; Wo sind uns Variablen bisher begegnet? In Ausdrücken und als Attribute in Klassen Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

27 Zuweisung Variablen können ihren Wert ändern z.b.: Änderung des Zustands eines Objekts Zuweisung: Setzen eines Wertes Zuweisungsoperator: = Beispiele: x = y; ändert den Wert der Variablen x und setzt ihn auf den Wert der Variablen y. x = x + 1; nimmt den bisherigen Wert von x, addiert 1 und setzt Variable x auf den neuen, eins größeren Wert Anweisung x Wert der Variable initial 10 6 x = x x = y 6 6 y = 2*x y Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

28 Zuweisung: Anmerkungen Die Notation x = x + 1 hat nichts mit mathematischer Gleichheit zu tun! Die Zuweisung ist keine symmetrische Operation! x = y; ändert den Wert von Variable x y = x; ändert den Wert von Variable y Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

29 Zuweisung: Attribute setzen Attribute werden mit Objektname.Attributname angesprochen Beispiele: Vector2D p = new Vector2D(); p.x = 4.0; p.y = 22.5; Vector2D q = new Vector2D(); q.x = 1.2E5; q.y = -0.36;... Vector2D p x 4.0 y 22.5 Vector2D q x 1.2E5 y Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

30 Mehr zu Variablen Eine Variable ist ein Name für einen Speicherplatz x 0 int Variablenname Wert ( Gefäßinhalt ) Typ Speicherplatz ( Gefäß ) Nach einer Zuweisung ist der neue Wert in der Variable gespeichert, der alte wird überschrieben x 0 int Zuweisung: x = 4295 x 4295 int Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

31 Variablen und Speicher: Speicherabbild Der Hauptspeicher besteht aus einer Reihung von Speicherplätzen Die Speicherplätze sind durchnummeriert ( Speicher-Adressen ) Anmerkung: x 0 int y 3 int z 12 int a 44 int b 0 int Wir haben hier eine abstrakte Sicht auf den Speicher angenommen In Wirklichkeit kann an jeder Speicheradresse nur 1 Byte (8 Bit) gespeichert werden. Größere Datentypen werden auf mehrere aufeinanderfolgende Adressen verteilt (z.b. benötigt ein int vier aufeinanderfolgende Adressen). Für unsere Zwecke ist die abstrakte Sicht jedoch ausreichend c 20 int d 3.4 float e 0 int f -2 int Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

32 Objekt-Variablen / Referenzen Bei Objekten werden die Attribute an aufeinanderfolgenden Speicheradressen abgelegt ( Objekt-Identität ) Beispiel: Objekt des Typs Vector2D mit den Attributen x=2.0 und y=3.5 x 2.0 float y 3.5 float Objekt-Variablen selbst sind Referenzen auf Objekt-Identitäten, d.h. in der Objekt-Variable wird die Speicheradresse der Objekt-Identität (genauer: des ersten Attributs) abgelegt Beispiel: Variable pos des Typs Vector2D pos 17 Vector2D x 2.0 float y 3.5 float Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

33 Beispiel Objekt-Referenzen Betrachten wir die folgende Situation: p = new Vector2D(2.0, 3.5); q = new Vector2D(1.2, 9.4); r = p; p 17 Vector2D q 20 Vector2D r 17 Vector2D x 2.0 float y 3.5 float x 1.2 float y 9.4 float Dann Zuweisung p = q: p 20 Vector2D q 20 Vector2D r 17 Vector2D x 2.0 float y 3.5 float x 1.2 float y 9.4 float Mehrere Referenzen können auf dieselbe Objekt-Identität verweisen! Die Objekt-Identität vom ursprünglichen p (an Speicheradresse 17) wird bei der Zuweisung p = q nicht verändert! Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

34 Objekt-Identitäten und Zuweisung vorher Zuweisung p = q nachher Objekt- Referenzen Objekt- Identitäten Objekt- Referenzen Objekt- Identitäten 14 p: x: p: x: y: y: q: x: q: x: r: y: r: y: 9.4 Bei Zuweisungen von Objekt-Variablen werden nur die Objektreferenzen verändert! Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

35 Objekt-Identitäten und Zuweisung vorher Zuweisung p.x = 7.5 nachher Objekt- Referenzen Objekt- Identitäten Objekt- Referenzen Objekt- Identitäten 14 p: x: p: x: y: y: q: x: q: x: r: y: r: y: 9.4 Mehrere Referenzen (hier: p und r) können auf dieselbe Objekt-Identität verweisen. Man spricht dann von Aliasing. Bei Zuweisungen von Objekt-Attributen können durch Aliasing die Attribute anderer Objekte verändert werden: nach der Zuweisung p.x = 7.5 gilt auch r.x == Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

36 null, Konstantendeklaration null: Objektvariablen können den speziellen Wert null annehmen, z.b.: Vector2D p = null; Die Objektreferenz null steht für kein Objekt, d.h. es ist kein Zugriff auf Attribute oder Methoden über diese Referenz möglich Die Objektidentität wird erst mit Aufruf des new-operators erstellt, z.b.: p = new Vector2D(); Konstantendeklaration: Analog zu Variablendeklaration unter Verwendung des Zusatzes final Schema: final Typ Name = Wert; Beispiele: final float gravitationearth = ; final float Pi = ; Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

37 Überprüfung der Datentypen In Java haben alle Variablen einen Datentyp. Der Datentyp muss zur Compile-Zeit bekannt sein. Der Typüberprüfung wird vom Compiler und von der JVM überprüft. Die erlaubten Operatoren hängen vom jeweiligen Datentyp ab Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

38 Zusammenfassung Typen: Java kennt 8 elementare Datentypen (int, float,...) Klassen sind auch Datentypen Mit jedem Datentyp sind Operationen bzw. Methoden verbunden Variablen: Variablen sind Namen für Speicherplätze Variablen können durch Zuweisung verändert werden Objekt-Variablen sind Referenzen, d.h. Speicheradressen von Objekt- Identitäten Der spezielle Objekt-Referenzwert null steht für kein Objekt Vorlesung Programmieren: Typen und Variablen Jun.-Prof. Dr.-Ing. Anne Koziolek, Arbeitsgruppe Architecture-Driven Requirements

Vorlesung Programmieren

Vorlesung 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

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren 2. Typen und Variablen 28.10.2015 Prof. Dr. Ralf H. Reussner Version 1.2 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD),

Mehr

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

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

Mehr

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Datentypen und Operatoren Ganzzahlige Numerische Datentypen Logischer Datentyp

Kapitel 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

Mehr

Java I Vorlesung Imperatives Programmieren

Java 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.

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen } } Beispiele für Anweisungen Wiederholung Ausgabe

Mehr

Informatik Vorkurs - Vorlesung 2

Informatik 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

Mehr

Kapitel 3. Grunddatentypen, Ausdrücke und Variable

Kapitel 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

Mehr

4. Zahlendarstellungen

4. Zahlendarstellungen 121 4. Zahlendarstellungen Wertebereich der Typen int, float und double Gemischte Ausdrücke und Konversionen; Löcher im Wertebereich; Fliesskommazahlensysteme; IEEE Standard; Grenzen der Fliesskommaarithmetik;

Mehr

3. Datentypen, Ausdrücke und Operatoren

3. 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

Mehr

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

Einfü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

Mehr

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Primitive Datentypen Fließkommazahlen float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Vorzeichen Exponent 8 bit Mantisse 23 bit double: Fließkommazahl nach IEEE 754 Standard mit 64 bit Vorzeichen

Mehr

Schwerpunkte. 8. Ausdrücke, Operatoren (einfache Typen) Beispiel: Schaltjahr Test. Einführendes Beispiel: Grundprobleme

Schwerpunkte. 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

Mehr

5.1 Basistypen. Wie viele Werte kann man mit n Bit darstellen? 30. Jan Felix Brandt, Harald Räcke 70/596

5.1 Basistypen. Wie viele Werte kann man mit n Bit darstellen? 30. Jan Felix Brandt, Harald Räcke 70/596 5.1 Basistypen Primitive Datentypen Zu jedem Basistypen gibt es eine Menge möglicher Werte. Jeder Wert eines Basistyps benötigt den gleichen Platz, um ihn im Rechner zu repräsentieren. Der Platz wird in

Mehr

Basiswissen in Informatik

Basiswissen 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

Mehr

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

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

Mehr

2.1 Fundamentale Typen

2.1 Fundamentale Typen 2. Elementare Typen 2.1 Fundamentale Typen C++ stellt die wichtigsten Datentypen mit passender Form der Abspeicherung und zugehörigen Rechenoperationen zur Verfügung : Boolscher Datentyp (bool) für logische

Mehr

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

Institut 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

Mehr

Java Referenzdatentypen genauer betrachtet

Java Referenzdatentypen genauer betrachtet Informatik 1 für Nebenfachstudierende Grundmodul Java Referenzdatentypen genauer betrachtet Kai-Steffen Hielscher Folienversion: 23. Januar 2018 Informatik 7 Rechnernetze und Kommunikationssysteme Referenzdatentypen

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs 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

Mehr

Kapitel 05. Datentypen. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Kapitel 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

Mehr

Vorkurs Informatik WiSe 17/18

Vorkurs 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

Mehr

Java Datentypen und Variablen

Java Datentypen und Variablen Informatik 1 für Nebenfachstudierende Grundmodul Java Datentypen und Variablen Kai-Steffen Hielscher Folienversion: 24. Januar 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren 3. Kontrollstrukturen 09.11.2016 Jun.-Prof. Dr.-Ing. Anne Koziolek Version 1.1 ARBEITSGRUPPE ARCHITECTURE-DRIVEN REQUIREMENTS ENGINEERING (ARE) INSTITUT FÜR PROGRAMMSTRUKTUREN UND

Mehr

C-Programmierung: Ausdrücke und Operatoren#Division.2F

C-Programmierung: Ausdrücke und Operatoren#Division.2F C-Programmierung: Ausdrücke und Operatoren#Division.2F http://de.wikibooks.org/wiki/c-programmierung:_ausdrücke_und_operatoren#division_.2f This Book Is Generated By Wb2PDF using RenderX XEP, XML to PDF

Mehr

3. Operatoren und Ausdrücke

3. Operatoren und Ausdrücke 3. Operatoren und Ausdrücke Ausdruck (expression) Verarbeitungsvorschrift zur Ermittlung eines Wertes besteht aus Operanden und Operatoren wichtigste Ausdrücke: arithmetische und logische (boole'sche)

Mehr

3. Operatoren und Ausdrücke

3. Operatoren und Ausdrücke 3. Operatoren und Ausdrücke Ausdruck (expression): Verarbeitungsvorschrift zur Ermittlung eines Wertes besteht aus Operanden und Operatoren wichtigste Ausdrücke: arithmetische und logische (Boole'sche)

Mehr

3. Operatoren und Ausdrücke

3. Operatoren und Ausdrücke 3. Operatoren und Ausdrücke Ausdruck (expression) Verarbeitungsvorschrift zur Ermittlung eines Wertes besteht aus Operanden und Operatoren wichtigste Ausdrücke: arithmetische und logische (boole'sche)

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren 6. Arrays 23.11.2016 Jun.-Prof. Dr.-Ing. Anne Koziolek Version 1.1 ARBEITSGRUPPE ARCHITECTURE-DRIVEN REQUIREMENTS ENGINEERING (ARE) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION

Mehr

3/4/2009. Schalter: Ein vs. Aus Lochkarten: Loch vs. Kein Loch Boolean/Wahrheitswerte: true vs. false

3/4/2009. Schalter: Ein vs. Aus Lochkarten: Loch vs. Kein Loch Boolean/Wahrheitswerte: true vs. false Ablauf Informatik I (D-MAVT) Übungsstunde 2, 4.3.2009 simonmayer@student.ethz.ch ETH Zürich Besprechung/Vertiefung der Vorlesung [26.2.2009] Vorbesprechung Übung 2 Variablen + Scopes Zahlensysteme Bits&Bytes

Mehr

Programmierkurs C++ Variablen und Datentypen

Programmierkurs C++ Variablen und Datentypen Programmierkurs C++ Variablen und Datentypen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Überblick Welche Datentypen gibt es in

Mehr

Einstieg in die Informatik mit Java

Einstieg 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

Mehr

Programmiervorkurs Einführung in Java Tag 1

Programmiervorkurs Einführung in Java Tag 1 Programmiervorkurs Einführung in Java Tag 1 Sebastian Glutsch SS 2018 namen Inhaltsübersicht Vorkurs Tag 1:,, en,, Einführung Tag 2: Boolesche Ausdrücke,, If-Abfragen, Switch-Case Tag 3: Arrays, (Do-)While-Schleife,

Mehr

Teil I. Konzepte imperativer Programmierung

Teil I. Konzepte imperativer Programmierung Teil I Konzepte imperativer Programmierung 175 Abschnitt 4: Imperative Programmierung 4. Imperative Programmierung 4.1 Grunddatentypen und Ausdrücke 4.2 Imperative Variablenbehandlung 4.3 Anweisungen,

Mehr

Abschnitt 2: Daten und Algorithmen

Abschnitt 2: Daten und Algorithmen Abschnitt 2: Daten und Algorithmen 2. Daten und Algorithmen 2.1 Zeichenreihen 2.2 Datendarstellung durch Zeichenreihen 2.3 Syntaxdefinitionen 2.4 Algorithmen 2 Daten und Algorithmen Einf. Progr. (WS 08/09)

Mehr

Primitive Datentypen und Felder (Arrays)

Primitive 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

Mehr

2.5 Primitive Datentypen

2.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",

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 5. Vorlesung 06.11.2018 1 Zahlendarstellungen 2 Speicherinhalte: Bits Hardware Spannung Ladung Magnetisierung Codierung 0V ungeladen unmagnetisiert 0 5V geladen magnetisiert

Mehr

3. Datentypen, Ausdrücke und Operatoren

3. 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

Mehr

Kapitel 5. Datentypen und Operatoren

Kapitel 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

Mehr

RO-Tutorien 3 / 6 / 12

RO-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

Mehr

Elementare Konzepte von

Elementare 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

5.3 Auswertung von Ausdrücken

5.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

Mehr

JAVA-Datentypen und deren Wertebereich

JAVA-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).

Mehr

Informatik I (D-MAVT)

Informatik I (D-MAVT) Informatik I (D-MAVT) Übungsstunde 2 simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich Ablauf Besprechung der Vorlesung Vorbesprechung Übung 2 Variablen + Scopes Zahlensysteme Bits&Bytes Datentypen

Mehr

Hello World! Eine Einführung in das Programmieren Variablen

Hello 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?

Mehr

Programmieren I. Kapitel 5. Kontrollfluss

Programmieren 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,

Mehr

4. Zahlendarstellungen

4. Zahlendarstellungen Bin are Zahlendarstellungen Binäre Darstellung ("Bits" aus {0, 1) 4. Zahlendarstellungen bn bn 1... b1 b0 entspricht der Zahl bn 2n + + b1 2 + b0 Wertebereich der Typen int, float und double Gemischte

Mehr

Wertebereiche, Overflow und Underflow

Wertebereiche, Overflow und Underflow Wertebereiche, Overflow und Underflow s exponent fraction 1 Bit 8 Bits 23 Bits Kleinste darstellbare nicht negative Zahl annähernd 2,0 * 10 38 Größte darstellbare Zahl annähernd 2,0 * 10 38 Was, wenn die

Mehr

Beispiele elementarer Datentypen Ganze Zahlen (integer) Unterbereiche Gleitkommazahlen Festkommazahlen

Beispiele elementarer Datentypen Ganze Zahlen (integer) Unterbereiche Gleitkommazahlen Festkommazahlen Beispiele elementarer Datentypen Ganze Zahlen (integer) - Werte sind ganze Zahlen in vorgegebenen Bereich (z. B. -2 31 bis 2 31-1) - Übliche Operationen: Arithmetik (z. B. +,-,*, Division mit Rest, Rest

Mehr

Software Entwicklung 1

Software 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

Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen Darstellung ganzer Zahlen

Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen Darstellung ganzer Zahlen 3 Zahlendarstellung - Zahlensysteme - b-adische Darstellung natürlicher Zahlen - Komplementbildung - Darstellung ganzer und reeller Zahlen Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen......

Mehr

Einstieg in die Informatik mit Java

Einstieg 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

Mehr

Wertebereich und Genauigkeit der Zahlendarstellung

Wertebereich 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

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren 3. Kontrollstrukturen 04.11.2015 Prof. Dr. Ralf H. Reussner Version 1.1 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD),

Mehr

Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein

Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache Dr. Beatrice Amrhein Überblick Speicherverwaltung: Stack und Heap Ein- und Ausgabe über die Console Variablen und Operatoren Parameter

Mehr

Die Zahl ist: (z 2, z 1, z 0 ) (z ) : 7 = 0 Rest z 2

Die Zahl ist: (z 2, z 1, z 0 ) (z ) : 7 = 0 Rest z 2 Übungen zur Vorlesung Technische Informatik I, SS Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 4 Rechnerarithmetik Aufgabe : a) Bestimmen Sie die Darstellung der Zahl 3 zur Basis 7. 3 = 7 (Sehen Sie

Mehr

Projekt 3 Variablen und Operatoren

Projekt 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.

Mehr

2.8 Klassen. Nichtgleichartige Elemente können in Klassen zu einem neuen Typ zusammengefasst werden. Beispiel: Die drei Komponenten

2.8 Klassen. Nichtgleichartige Elemente können in Klassen zu einem neuen Typ zusammengefasst werden. Beispiel: Die drei Komponenten 2.8 Klassen Frage: Arrays fassen gleichartige Elemente (d.h. Elemente von gleichem Typ) zusammen. Wie kann man nichtgleichartige Elemente zu einem neuen Typ zusammenfassen? Nichtgleichartige Elemente können

Mehr

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

Javaprogrammierung 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

Mehr

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Java 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

Mehr

Kapitel 3: Variablen

Kapitel 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

Mehr

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

Teil II. Datentypen. T. Neckel Einführung in die wissenschaftliche Programmierung IN8008 Wintersemester 2017/ Teil II Datentypen T. Neckel Einführung in die wissenschaftliche Programmierung IN8008 Wintersemester 2017/2018 25 Konzept von Teil II: Datentypen Hinweis: Die Erklärung des Konzepts im Sinne des Constructive

Mehr

1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r

1. 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

Mehr

1. Referenzdatentypen: Felder und Strings

1. 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

Mehr

N Bit Darstellung von Gleitkommazahlen

N Bit Darstellung von Gleitkommazahlen N Bit Darstellung von Gleitkommazahlen Normalisierte, wissenschaftliche Darstellung zur Basis 2. Beispiel: Allgemein: Sign and Magnitude Darstellung für beispielsweise 32 Bits: (s=0 für + und s=1 für )

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren 11 Rekursion Jun.-Prof. Dr.-Ing. Anne Koziolek Version 1.1 ARBEITSGRUPPE ARCHITECTURE-DRIVEN REQUIREMENTS ENGINEERING (ARE) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION

Mehr

RO-Tutorien 15 und 16

RO-Tutorien 15 und 16 Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 2 am 04.05.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Java ist statisch typisiert, d.h., Variablen, Ergebnisse von Ausdrücken, etc. haben einen Datentyp, der schon bei der Kompilierung festgelegt wird.

Java ist statisch typisiert, d.h., Variablen, Ergebnisse von Ausdrücken, etc. haben einen Datentyp, der schon bei der Kompilierung festgelegt wird. 5 Mehr Java Java ist statisch typisiert, d.h., Variablen, Ergebnisse von Ausdrücken, etc. haben einen Datentyp, der schon bei der Kompilierung festgelegt wird. Java unterscheidet zwei Arten von Typen:

Mehr

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Organisatorisches Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Nächste Woche VO und UE am Dienstag, den 30.10.! UE im CR IL/IT Wissensüberprüfung am Zettel 25.10.2018 IT I - VO 3 1 Organisatorisches

Mehr

C-Programmierkurs Mathematik

C-Programmierkurs Mathematik Mathematik WS 2018/2019 Dr. Bodo Kalthoff Speicher für Werte Variablen Über Variablennamen ansprechbar Sprechende Namen vergeben! Variablen können Zahlen, Buchstaben oder komplexere Werte enthalten Der

Mehr

Kapitel 4: Elementare Konzepte von Programmiersprachen. Variablen Referenzen Zuweisungen

Kapitel 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

Mehr

Grunddatentypen, Ausdrücke und Variablen Typkonversion, Überprüfen und Auswerten von Ausdrücken

Grunddatentypen, Ausdrücke und Variablen Typkonversion, Überprüfen und Auswerten von Ausdrücken Typkonversion, Überprüfen und Auswerten von Ausdrücken Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Grunddatentypen

Mehr

7. Übung zur Vorlesung Grundlagen der Informatik

7. Übung zur Vorlesung Grundlagen der Informatik 7. Übung zur Vorlesung Grundlagen der Informatik 13.Interne Darstellung von Daten In der Vorlesung wurde bereits darauf hingewiesen, dass ein Rechner intern lediglich die Zustände 0 (kein Signal liegt

Mehr

Der Zahlenformatstandard IEEE 754

Der Zahlenformatstandard IEEE 754 Der Zahlenformatstandard IEEE 754 Single Precision Double Precision Insgesamt 32 Bits s exponent fraction 1 Bit 8 Bits 23 Bits Insgesamt 64 Bits s exponent fraction 1 Bit 11 Bits 52 Bits Bit Aufteilungen

Mehr

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download Organisatorisches Folien (u.a.) gibt's auf der Lva-Homepage zum Download Diesen Mi erstes Tutorium (15-17) Ab nächster Woche montags 10-12 (jeweils im Computerraum) 17.10.2017 IT I - VO 3 1 Organisatorisches

Mehr

3.8 Objekttypen und Arrays. Wir werden uns in diesem Kapitel näher mit den Objekttypen in Java beschäftigen.

3.8 Objekttypen und Arrays. Wir werden uns in diesem Kapitel näher mit den Objekttypen in Java beschäftigen. 3.8 Objekttypen und Arrays Wir werden uns in diesem Kapitel näher mit den Objekttypen in Java beschäftigen. Praktische Informatik I Wolfgang Effelsberg 3. Die Programmiersprache Java 3.8-1 Primitive Datentypen

Mehr

Operatoren und Ausdrücke

Operatoren 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

Mehr

RO-Tutorien 17 und 18

RO-Tutorien 17 und 18 RO-Tutorien 17 und 18 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery TUTORIENWOCHE 2 AM 10.05.2012 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der

Mehr

Ganze Zahlen, Ausdrücke Variablen/Konstanten

Ganze Zahlen, Ausdrücke Variablen/Konstanten Ganze Zahlen, Ausdrücke Variablen/Konstanten InE1 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? Programmieren in C ganze Zahlen, Konstanten und Variablen 2 Lernziele Siekönnen

Mehr

Kapitel 4. Programmierkurs. Arten von Datentypen. Datentypen

Kapitel 4. Programmierkurs. Arten von Datentypen. Datentypen 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

Mehr

Informationsdarstellung 2.2

Informationsdarstellung 2.2 Beispiele für die Gleitkommadarstellung (mit Basis b = 2): 0,5 = 0,5 2 0-17,0 = - 0,53125 2 5 1,024 = 0,512 2 1-0,001 = - 0,512 2-9 3,141592... = 0,785398... 2 2 n = +/- m 2 e Codierung in m Codierung

Mehr

Repetitorium Programmieren I + II

Repetitorium Programmieren I + II Repetitorium Programmieren I + II Stephan Gimbel Johanna Mensik Michael Roth 6. März 2012 Agenda 1 Operatoren 2 Datentypen Gleitpunkt Zahl Typkonvertierung 3 Strommanipulatoren 4 Bedingungen if-else switch-case

Mehr

1.2 Typsystem (I) - Einfache Typen, Ausdrücke, Variablenvereinbarungen -

1.2 Typsystem (I) - Einfache Typen, Ausdrücke, Variablenvereinbarungen - 1.2 Typsystem (I) - Einfache Typen, Ausdrücke, Variablenvereinbarungen - Getypte Sprache (strongly typed language, strong typing): Jeder Wertbezeichner hat einen Typ Jede Variable/Konstante hat einen Typ

Mehr

Programmierung. Grundlagen. Tina Wegener, Ralph Steyer. 2. Ausgabe, 1. Aktualisierung, April 2014

Programmierung. 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

Mehr

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

Zum Nachdenken. Wenn die Zahl (123) hat, was könnte dann (123,45) 10 TECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Zum Nachdenken Wenn die Zahl (123) 10 den Wert 1. 10 2 +2. 10 1 +3. 10 0 hat, was könnte dann (123,45) 10 bedeuten? Wenn Sie beliebige reelle Zahlenwerte

Mehr

3. Java - Sprachkonstrukte I

3. 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,

Mehr

Grundlagen 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 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

Mehr

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3

Objekte. 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.......................

Mehr

Grunddatentypen, Ausdrücke und Variablen Typkonversion, Überprüfen und Auswerten von Ausdrücken

Grunddatentypen, Ausdrücke und Variablen Typkonversion, Überprüfen und Auswerten von Ausdrücken 1 Typkonversion, Überprüfen und Auswerten von Ausdrücken Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/

Mehr

Prof. 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 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

Mehr

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue

Java - 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

Mehr

2. Programmierung in C

2. 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)

Mehr