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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Java Kurs für Anfänger Einheit 2 Datentypen und Operationen

Java 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Numerische Datentypen. Simon Weidmann

Numerische 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

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

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 3 / 6 / 12

RO-Tutorien 3 / 6 / 12 RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 3 AM 13./14.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

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

Rückblick. Addition in der b-adischen Darstellung wie gewohnt. Informatik 1 / Kapitel 2: Grundlagen

Rückblick. Addition in der b-adischen Darstellung wie gewohnt. Informatik 1 / Kapitel 2: Grundlagen Rückblick Addition in der b-adischen Darstellung wie gewohnt 5 0 C E + D 4 2 D = 44 Rückblick Multiplikation in der b-adischen Darstellung wie gewohnt 1 0 1 0 1 0 1 = 45 Rückblick Darstellung negativer

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

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 30 Einstieg in die Informatik mit Java Datentypen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 30 1 Überblick 2 Ganzzahlige Typen 3 Gleitkommatypen 4 Zeichen, char

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

Programmiertechnik Skalare Typen,Variablen, Zuweisungen

Programmiertechnik Skalare Typen,Variablen, Zuweisungen Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Skalare Typen,Variablen, Zuweisungen int int i; i; long long j; j; boolean boolean isempty; isempty; double double average; average;

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

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-16-17/infoeinf WS16/17 Action required

Mehr

Informatik I Übung, Woche 41

Informatik 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

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

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 5.11.07, Weitere Ausdrücke Übersicht 1 Vergleichsoperatoren 2 Kombinierte Zuweisungsoperatoren 3 Logische Operatoren 4 Weitere Operatoren 5 Klassifizierung von Operatoren 6 Typumwandlungen

Mehr

DuE-Tutorien 16 und 17

DuE-Tutorien 16 und 17 Tutorien zur Vorlesung Digitaltechnik und Entwurfsverfahren Tutorienwoche 2 am 12.11.2010 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der

Mehr

Kapitel 2: Python: Ausdrücke und Typen. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2016/2017. Inhaltsverzeichnis 1

Kapitel 2: Python: Ausdrücke und Typen. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2016/2017. Inhaltsverzeichnis 1 Kapitel 2: Python: Ausdrücke und Typen Grundlagen der Programmierung 1 Holger Karl Wintersemester 2016/2017 Inhaltsverzeichnis Inhaltsverzeichnis 1 Abbildungsverzeichnis 2 Liste von Definitionen u.ä. 2

Mehr

Elementare Datentypen in C++

Elementare 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

Mehr

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow zietlow@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.

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, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren 5. Jun.-Prof. Dr.-Ing. Anne Koziolek Version 1.1 ARBEITSGRUPPE ARCHITECTURE-DRIVEN REQUIREMENTS ENGINEERING (ARE) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD), KIT-FAKULTÄT

Mehr

Einfache Rechenstrukturen und Kontrollfluß

Einfache Rechenstrukturen und Kontrollfluß 2 Ziele Einfache Rechenstrukturen und Kontrollfluß Verstehen der Grunddatentypen von Java Verstehen von Typkonversion in Java Lernen lokale Variablen und Konstanten zu initialisieren Verstehen der Speicherorganisation

Mehr

Die Programmiersprache C

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

Mehr

Die einfachsten Anweisungen

Die 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

Mehr

Welche Informatik-Kenntnisse bringen Sie mit?

Welche 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

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

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? zunehmend weit verbreitet einfach und (relativ) sicher keine Adressrechnung, aber Pointer keine gotos kein Präprozessor keine globalen Variablen garbage

Mehr

Inhalt. 4.5 Arbeit mit Zeigern (engl. Pointer)

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

Mehr

Physische Datenstrukturen

Physische Datenstrukturen Elementare Datentypen Strukturierte Datentypen Zeiger Seite 1 Einfache Datentypen Datentyp char Verwendung: ASCII-Zeichen Wertebereich: alle darstellbaren Zeichen, 8 bit lange Ganzzahlen im Intervall -128

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Zahlendarstellung Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Agenda Zahlendarstellung Oder: wie rechnen

Mehr

Vorlesung Programmieren

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

Mehr

Einführung in die Programmierung I. 8. Prozedurale Konzepte in Java, Teil1. Stefan Zimmer

Einführung in die Programmierung I. 8. Prozedurale Konzepte in Java, Teil1. Stefan Zimmer Einführung in die Programmierung I 8. Prozedurale Konzepte in Java, Teil1 Stefan Zimmer 17.12.2007 Von Maple zu Java Maple ist für größere Projekte kaum die geeignete Sprache Daher wenden wir das Gelernte

Mehr

Prinzipielle Ausführungsvarianten I

Prinzipielle Ausführungsvarianten I Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter Unser erstes Java Programm AG Softech FB Informatik TU Kaiserslautern Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 39 Hello World!

Mehr

Einführung in die Informatik. Processing Numbers. Motivation. Primitive Datentypen. Operatoren versus Methoden

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

Mehr

Einführung in die Informatik. Processing Numbers

Einführung in die Informatik. Processing Numbers Einführung in die Informatik Processing Numbers Wolfram Burgard 5/1 Motivation Computer bzw. Rechenmaschinen wurden ursprünglich gebaut, um schnell und zuverlässig mit Zahlen zu rechnen. Erste Anwendungen

Mehr

Einführung in C. EDV1-04C-Einführung 1

Einführung in C. EDV1-04C-Einführung 1 Einführung in C 1 Helmut Erlenkötter C Programmieren von Anfang an Rowohlt Taschenbuch Verlag ISBN 3-4993 499-60074-9 19,90 DM http://www.erlenkoetter.de Walter Herglotz Das Einsteigerseminar C++ bhv Verlags

Mehr

Kompaktkurs Einführung in die Programmierung. 3. Fundamentale Datentypen, Ausdrücke

Kompaktkurs 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

Mehr

Ein erstes Java-Programm

Ein 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

Mehr

Informatik I Übung, Woche 41

Informatik I Übung, Woche 41 Giuseppe Accaputo 9. Oktober, 2014 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

Mehr

Informatik I Processing Numbers. Cyrill Stachniss Wolfram Burgard

Informatik I Processing Numbers. Cyrill Stachniss Wolfram Burgard Informatik I Processing Numbers Cyrill Stachniss Wolfram Burgard Motivation Computer bzw. Rechenmaschinen wurden ursprünglich gebaut, um schnell und zuverlässig mit Zahlen zu rechnen. Erste Anwendungen

Mehr

Objekttypen. Referenzen, Objekte, Gleichheit, Wrapper, Arrays, mehr-dimensionale Arrays, Bildbearbeitung, krumme Arrays

Objekttypen. Referenzen, Objekte, Gleichheit, Wrapper, Arrays, mehr-dimensionale Arrays, Bildbearbeitung, krumme Arrays Objekttypen Referenzen, Objekte, Gleichheit, Wrapper, Arrays, mehr-dimensionale Arrays, Bildbearbeitung, krumme Arrays Primitive- und Objekt-Datentypen Primitive Datentypen benötigen einen vorher genau

Mehr

5.1 Mehr Basistypen. (Wie viele Werte kann man mit n Bit darstellen?)

5.1 Mehr Basistypen. (Wie viele Werte kann man mit n Bit darstellen?) 5.1 Mehr Basistypen Außer int, stellt Java weitere Basistypen zur Verfügung. Zu jedem Basistyp gibt es eine Menge möglicher Werte. Jeder Wert eines Basistyps benötigt die gleiche Menge Platz, um ihn im

Mehr

Abschnitt 6: Klassen, Objekte und Methoden in Java

Abschnitt 6: Klassen, Objekte und Methoden in Java Abschnitt 6: Klassen, Objekte und Methoden in Java 6. Klassen, Objekte und Methoden in Java 6.1 Klassen 6.2 Objekte 6.3 Methoden 6.4 Zusammenfassung 6 Klassen, Objekte und Methoden in Java Informatik 2

Mehr

Einführung in die Programmierung WS 2009/10. Übungsblatt 5: Typen, Variablen und einfache Methoden in Java

Einführung in die Programmierung WS 2009/10. Übungsblatt 5: Typen, Variablen und einfache Methoden in Java Ludwig-Maximilians-Universität München München, 20.11.2009 Institut für Informatik Prof. Dr. Christian Böhm Annahita Oswald, Bianca Wackersreuther Einführung in die Programmierung WS 2009/10 Übungsblatt

Mehr

Ganze Zahlen. Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren

Ganze Zahlen. Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren Ganze Zahlen Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren Celsius to Fahrenheit // Program: fahrenheit.cpp // Convert temperatures from Celsius to Fahrenheit.

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 IT Services Anja Aue Kommentare Hilfe für den Entwickler. Wer hat wann welche Änderung vorgenommen? Warum werden diese Anweisungen hier ausgeführt?

Mehr

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen Kurs C/C++ Programmierung, WS 2008/2009 Dipl.Inform. R. Spurk Arbeitsgruppe Programmierung FR 6.2 Informatik

Mehr

Lösung 2. Übungsblatt

Lösung 2. Übungsblatt Fakultät Informatik, Technische Informatik, Professur für Mikrorechner Lösung 2. Übungsblatt Bildung von Gleitkommazahlen nach IEEE 754 und arithmetische Operationen mit Binärzahlen ANSI/IEEE 754-1985

Mehr

Unterlagen. CPP-Uebungen-08/

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

Mehr