1 Programmiersprachen

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "1 Programmiersprachen"

Transkript

1 1 Programmiersprachen Um einen Algorithmus in einer von einer Maschine ausführbaren Form beschreiben zu können, verwenden wir eine formale Sprache. formale Beschreibung des Aufbaus der Worte und Sätze, die zur Sprache gehören Anfällig gegenüber Mehrdeutigkeit, Veränderungen und Spontanität Eine Beschreibung eines Algorithmus in einer formalen (formal beschriebenen) Sprache heisst ein Programm, die formale Sprache eine Programmiersprache 1

2 Programmiersprache vs. natürliche Sprache Eine natürliche Sprache ist ein komplexes System aus Lauten und Zeichen Historisch gewachsen Ständig im Wandel Robust, Mehrdeutig, Ungenau Verwendung willkürlicher gesprochener Symbole mit festgelegter Bedeutung (Wörterbücher, Rechtschreibregeln, Trennungsregeln, Grammatikregeln, Ausnahme-Listen, Sprach- Gefühl ) 2

3 Eine Programmiersprache soll: Datenstrukturen anbieten zum Speichern und effizienten Bearbeitung von Daten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen. 3

4 In dieser Vorlesung diskutieren wir Imperative Programmiersprachen, die eng mit dem von Neumann schen Maschinenmodell verknüpft sind. Ein imperatives Programm beschreibt eine Berechnung durch eine Folge von Anweisungen, die den Programmstatus (Speicherzellen, Programmzähler) verändern. Der Programmzähler der CPU arbeitet Anweisung nach Anweisung sequentiell ab (der Programmierer hat seine Anweisungen explizit aufzureihen und Wiederholungen/Sprünge zu kodieren) Der Speicher der Maschine dient zur Zustandsprotokollierung (der Zustand eines Algorithmus wird durch Variablenzuweisung bzw. -auslesen explizit kontrolliert) Diese Vorgehensweise ist unterschiedlich zur Programmierung in einer ( funktionalen Programmiersprache) 4

5 1.1 Java - eine Programmiersprache 5

6 Ein erstes Java-Programm: public class Hello { public static void main ( String[] args ) { int zahl, quadrat; zahl = 4; quadrat = zahl * zahl; // offensichtlich eine Operation String text = "Das Quadrat von "; } } System.out.println(text + zahl + " ist " + quadrat); 6

7 Erläuterungen: Jedes Programm hat einen Namen (hier: Hello). Der Name steht hinter dem Schlüsselwort class (was eine Klasse, was public ist, lernen wir später. Der Name der Datei, die den Programmtext speichert, muss zum Namen des Programms passen, d.h. in diesem Fall Hello.java heißen. Das Programm ist der Rumpf des Hauptprogramms, d.h. der Funktion main(). Die Programm-Ausführung eines Java-Programms startet stets mit einem Aufruf von dieser Funktion main(). 7

8 Jedes Programm sollte Kommentare enthalten, damit man sich selbst später noch darin zurecht findet! Ein Kommentar in Java hat etwa die Form: // Das ist ein Kommentar!!! Wenn er sich über mehrere Zeilen erstrecken soll, kann er auch so aussehen: /* Dieser Kommentar geht über mehrere Zeilen! */ 8

9 Der Edit-Compile-Run -Zyklus: Erstellen (Editieren) des Programms mit einem Text-Editor z.b. Editor, Emacs, Word, etc. Speichern des Programms als Textdatei Übersetzen (Kompilieren) des Programms in eine maschinennnahe Sprache Ausführen des übersetzten Programms 9

10 Java Programm Übersetzung: Stufe 1: Übersetzen des Quelltextes duch den Java-Compiler javac in Bytecode c net.de/tutorials/java/notes/chap05/ch05_3.html 10

11 Java Programm Übersetzung: Stufe 2: Der Java-Interpreter java führt den Code aus Interpreter und CPU bilden eine Java Virtual Machine (JVM) c net.de/tutorials/java/notes/chap05/ch05_4.html 11

12 1.2 Variablen Um Daten zu speichern und auf gespeicherte Daten zugreifen zu können, stellt Java Variablen zur Verfügung. Variablen beziehen sich auf Speicherstellen im Hauptspeicher, die Daten eines ganz bestimmten Typs speichern können. Variablen müssen erst einmal eingeführt, d.h. deklariert werden. 12

13 Beispiel: int zahl, quadrat; String text = "Das Quadrat von "; Diese Deklaration führt die drei Variablen mit den Namen zahl, quadrat und text ein. 13

14 Erklärung: Das Schlüsselwort int besagt, dass diese Variablen ganze Zahlen ( Integers ) der Typ der Variablen speichern sollen. Das Schlüsselwort String besagt, dass diese Variable Zeichenketten speichern soll. Variablen können dann benutzt werden, um anzugeben, auf welche Daten Operationen angewendet werden sollen. Variablen in einer Aufzählung sind durch Kommas, getrennt. Am Ende steht ein Semikolon ;. 14

15 Java-Datentypen In Java können unterschiedliche Arten von Datentypen verwendet werden: Primitive Datentypen Ganzzahlige numerische Datentypen: short, int, long,... Logischer Datentyp: boolean Rationale numerische Datentypen: float, double,... Alphanumerischer Datentyp: char Vordefinierte Datentypen (z.b. : String, BufferedReader, InputStreamReader) Selbstdefinierte Datentypen 15

16 Java-Basistypen Der Typ int gehört zu den Basistypen (primitive Datentypen), die von Java bereitgestellt werden. Zu jedem Basistyp gibt es eine Menge möglicher Werte. Jeder Wert eines Basistyps benötigt die gleiche Menge Platz, um ihn im Rechner zu repräsentieren. Der Platz wird in Bit gemessen. (Wie viele Werte kann man mit n Bit darstellen?) 16

17 Es gibt vier primitive Datentypen für ganze Zahlen: Typ Platz kleinster Wert größter Wert byte short int long Die Benutzung kleinerer Typen wie byte oder short spart Platz. 17

18 Es gibt zwei primitive Datentypen für Gleitkommazahlen: Typ Platz kleinster Wert größter Wert float 32 ca. -3.4e+38 ca. 3.4e+38 7 signifikante Stellen double 64 ca. -1.7e+308 ca. 1.7e signifikante Stellen Für die Auswahl des geeigneten Typs sollte die gewünschte Genauigkeit des Ergebnisses berücksichtigt werden. Eine Konstante gilt als Gleitkommazahl, wenn sie einen Dezimalpunkt oder einen Exponenten (durch E oder e eingeleitet) enthält (z.b.: 2.34, 1.7e+308, 3.2E-2). Durch Anhängen von f oder F bzw. d oder D werden Gleitkomma-Konstanten als float- bzw. double-werte kenntlich gemacht (z.b.: 2.34f, 1.7e8D). Ohne Zusatz werden Konstanten als double interpretiert. 18

19 ... weitere Basistypen: Typ Platz Werte boolean 1 true, false char 16 alle Unicode-Zeichen Unicode ist ein Zeichensatz, der alle irgendwo auf der Welt gängigen Alphabete umfasst, also zum Beispiel: die Zeichen unserer Tastatur (inklusive Umlaute); die chinesischen Schriftzeichen; die ägyptischen Hieroglyphen... char-konstanten schreibt man mit Hochkommas: 'A', ';', '\n'. 19

20 Weitere Java-Datentypen Der Datentyp String für Wörter ist kein Basistyp, sondern eine Klasse (dazu kommen wir später...) Hier behandeln wir nur zwei Eigenschaften: Man kann Wörter in Variablen vom Typ String abspeichern. String-Konstanten haben die Form "Hello World!"; Man kann Wörter mithilfe des Operators + konkatenieren. 20

21 Beispiel: String s0 = ""; String s1 = "Hel"; String s2 = "lo Wo"; String s3 = "rld!"; System.out.println(s0 + s1 + s2 + s3);... schreibt Hello World! auf die Ausgabe 21

22 1.3 Operationen Die Operationen sollen es gestatten, die Werte von Variablen zu modifizieren. Operationen auf ganzen Zahlen: Negation - Addition, Subtraktion, Multiplikation +, -, * Ganzzahlige Division /, Modulo (Divisionsrest) % Gleichheit, Ungleichheit ==,!= Größer, größer gleich, kleiner, kleiner gleich >, >=, <, <= Bitoperationen (später) 22

23 Operationen auf Gleitkommazahlen: Negation - Addition, Subtraktion, Multiplikation +, -, * Division /, Modulo (Divisionsrest) % Gleichheit, Ungleichheit ==,!= Größer, größer gleich, kleiner, kleiner gleich >, >=, <, <= 23

24 Operationen auf Variablen vom Typ boolean: Kann bei Zuweisungen von logischen Ausdrücken verwendet werden und wird implizit bei Kontrollstrukturen verwendet. Logische Operatoren: logische Negation:! logisches UND: && (a && b) ist nur dann wahr, wenn a und b beide wahr sind. logisches ODER: (a b) ist nur dann falsch, wenn a und b beide falsch sind. Beachte: Das Ergebniss einer Vergleichsoperation auf Ganz- oder Gleitkommazahlen liefert einen booleschen Wert. 24

25 Eine wichtige Operation ist die Zuweisung. Die Zuweisung weist der Variablen auf der linken Seite den Wert des Ausdrucks auf der rechten Seite zu. Ein Ausdruck ist eine Kombination von Literalen Zeichen, die einen Wert darstellen, z.b.: 3.456, Operatoren Symbole, wie + oder *, die Operationen auf Operanden darstellen, Variablen Klammern ( und ), die verwendet wird, um einen Wert zu berechnen. 25

26 Beispiele: x = 7; Die Variable x erhält den Wert 7. result = x; Der Wert der Variablen x wird ermittelt und der Variablen result zugewiesen. result = x + 19; Der Wert der Variablen x wird ermittelt, 19 dazu gezählt und dann das Ergebnis der Variablen result zugewiesen. 26

27 result = x - 5; Der Wert der Variablen x wird ermittelt, 5 abgezogen und dann das Ergebnis der Variablen result zugewiesen. result = (x - 5) * (x + 3) + -x; Beachte die richtige Klammerung und die Unterscheidung zwischen unären und binären Operatoren. 27

28 Inkrementieren und Dekrementieren Die unären Operatoren ++ und - inkrementieren bzw. dekrementieren eine Ganz- oder Gleikommazahl um und - können vor (prefix) oder nach (postfix) dem Operanden stehen. Wird die Prefix-Version in einem Ausdruck verwendet, so wird der bereits inkrementierte/dekrementierte Wert verwendet. Wird die Postfix-Version in einem Ausdruck verwendet, so wird der initiale Wert verwendet. Die Operation wird erst nach der Ausdrucksauswertung durchgeführt. 28

29 Beispiel class PrePostDemo { public static void main(string[] args){ } } int i = 3; i++; System.out.println(i); // "4" ++i; System.out.println(i); // "5" System.out.println(++i); // "6" System.out.println(i++); // "6" System.out.println(i); // "7" 29

30 Präzedenz (Auswertereihenfolge) der Operatoren Unäre Operatoren ++, -, +, - binäre arithmetische Operatoren *, /, +, - Vergleichsoperatoren <, <=, >, >=, ==!= Logische Operatoren &&, Zuweisungs-Operator = 30

31 Achtung: Java warnt nicht vor Überlauf/Unterlauf!! Beispiel: int x; x = ; // grösstes int x = x+1;... setzt x auf

32 Achtung: Java bezeichnet die Zuweisung mit = anstelle von := (Erbschaft von C...) Jede Zuweisung wird mit einem Semikolon ; beendet. In der Zuweisung x = x + 1; greift das x auf der rechten Seite auf den Wert vor der Zuweisung zu. Zuweisung können auch direkt bei der Variablendeklaration durchgeführt werden, z.b.: String name = Hello World!; Konstanten ändern ihren Wert während der Laufzeit des Programms nicht, z.b.: final float PI = ; 32

33 1.4 Typen und Casts Werden die Operatoren +, -, *, /, % auf ein Paar von Argumenten verschiedenen Typs angewendet, wird automatisch vorher der speziellere in den allgemeineren umgewandelt (implizite Typumwandlung oder implicit Type Cast) a a 33

34 float double Gleitkomma-Zahlen long short int ganze Zahlen byte char 34

35 Implizite Typumwandlung: Eine Variable wird einer anderen von anderem, erlaubten Typ zugewiesen oder eine Operation eines solchen Typs auf sie angwandt. Beispiel: short s = 123; int i; int j = 1024; i = s; i = j + s; 35

36 Beispiel: short xs = 1; int x = ; (x + xs) liefert den int-wert float xs = 1.0f; int x = ; (x + xs) liefert den float-wert 1.0E9 36

37 Achtung: Das Ergebnis einer Operation auf float kann aus dem Bereich von float herausführen. Dann ergibt sich der Wert Infinity oder -Infinity. Das gleiche gilt für double. Das Ergebnis einer Operation auf Basistypen, die in int enthalten sind (außer char), liefern ein int. Wird das Ergebnis einer Variablen zugewiesen, sollte deren Typ dies zulassen Mithilfe von expliziten Type Casts lässt sich das (evt. unter Verlust von Information) stets bewerkstelligen. Java lässt keine Konvertierung von boolean zu anderen Datentypen zu. 37

38 Beispiel: int i, j; double d;... i = j + d; i = (int) (j+d); // Fehler: i ist int, aber j + d ist double /* Korrekt: aber Verluste bei der Konversion werden in Kauf genommen */ 38

39 Beispiel: byte x = 1;... x++; // Korrekt: x ist nun 2 x = x + 1; 39

40 Beispiel: byte x = 1;... x++; // Korrekt: x ist nun 2 x = x + 1; // Fehler: Auswertung von x+1 liefert int-wert 40

41 Beispiele: (float) 1.7e+308 liefert Infinity (long) 1.7e+308 liefert (d.h. den größten long-wert) (int) 1.7e+308 liefert (d.h. den größten int-wert) (short) 1.7e+308 liefert -1 (int) 1.0e9 liefert (int) 1.11 liefert 1 (int) liefert -2 41

42 Beachte: Jeder Wert in Java hat eine Darstellung als String. Wird der Operator + auf einen Wert vom Typ String und einen anderen Wert x angewendet, wird x automatisch in seine String-Darstellung konvertiert... ==... liefert einfache Methode, um float oder double auszugeben!!! Beispiel: double x = -0.55e13; System.out.println("Eine Gleitkommazahl: " + x);... schreibt Eine Gleitkommazahl: -0.55E13 auf die Ausgabe 42

43 1.5 Java-IO (Input/Output) Sehr häufig benötigen wir Operationen, um Daten (Zahlen) einlesen bzw. ausgeben zu können. System.out.println(Meine Ausgabe); Diese Operation schreibt den Text Meine Ausgabe auf die Ausgabe. System.out.println(42); Diese Operation schreibt 42 auf die Ausgabe. System.out.println(result); Diese Operation bestimmt den Wert der Variablen result und schreibt dann diesen auf die Ausgabe. 43

44 Das Einlesen von Daten ist komplizierter! 44

45 import java.io.*; class ReadMe { public static void main (String[] args) throws IOException { // Catch me if you can BufferedReader stdin = new BufferedReader (new InputStreamReader(System.in)); String indata; indata = stdin.readline(); } } // indata in int konvertieren int zahl = Integer.parseInt(inData); 45

46 Online-Tutorial Java IO 46

47 Bemerkung Zur Vereinfachung werden wir im Folgenden oft zum Lesen von Daten die Funktion read() und zum Schreiben des Wertes einer Variablen die Funktion write(varname) oder write(literal)verwenden. Beide Funktionen sind nicht Bestandteil von Java und werden nur zur Vereinfachung eingeführt! 47

48 1.6 Kontrollstrukturen Sequenz: int x, y, result; x = read(); y = read(); result = x + y; write(result); 48

49 Zu jedem Zeitpunkt wird nur eine Anweisung (Statement) ausgeführt. Jede Anweisung wird genau einmal ausgeführt. Keine wird wiederholt, keine ausgelassen. Die Reihenfolge, in der die Anweisungen ausgeführt werden, ist die gleiche, in der sie im Programm stehen (d.h. nacheinander). Mit Beendigung der letzten Anweisung endet die Programm-Ausführung. == Sequenz alleine erlaubt nur sehr einfache Programme. 49

50 Selektion (bedingte Auswahl): Allgemein: if ( cond ) stmt else stmt 50

51 Selektion (bedingte Auswahl): int x, y, result; x = read(); y = read(); if (x > y) else result = x - y; result = y - x; System.out.println(result); Zuerst wird die Bedingung ausgewertet. Ist sie erfüllt, wird die nächste Anweisung ausgeführt. Ist sie nicht erfüllt, wird die Anweisung nach dem else ausgeführt. 51

52 Beachte: Anweisungen können selbst wieder aus Selektionen bestehen: int x; x = read(); if (x == 0) write(0); else if (x < 0) write(-1); else write(+1); 52

53 ... oder aus (geklammerten) Folgen von Anweisungen: int x, y; x = read(); if (x!= 0) { y = read(); if (x > y) write(x); else write(y); } else write(0); 53

54 Beachte: ein else bezieht sich immer auf das zuletzt öffnende if im selben Block if (x > 0) if (x < 10) write("aaa"); else write("bbb"); 54

55 Beachte: durch Klammerung wird ein seprater Block definiert if (x > 0) { if (x < 10) write("aaa"); } else write("bbb"); 55

56 Iteration (wiederholte Ausführung): Auch mit Sequenz und Selektion kann noch nicht viel berechnet werden... oder wie sollten sich wiederholende Aktionen mit sich ändernden Werten durchgeführt werden? Allgemein: while ( cond ) stmt 56

57 Iteration (wiederholte Ausführung): int x, y; x = read(); y = read(); while (x!= y) if (x < y) y = y - x; else x = x - y; write(x); 57

58 Zuerst wird die Bedingung ausgewertet. Ist sie erfüllt, wird der Rumpf des while-statements ausgeführt. der Rumpf besteht aus einer Anweisung oder aus einer geklammerten Sequenz von Anweisungen Nach Ausführung des Rumpfs wird das gesamte while-statement erneut ausgeführt. Ist die Bedingung nicht erfüllt, fährt die Programm-Ausführung hinter dem while-statement fort. 58

59 Jede (partielle) Funktion auf ganzen Zahlen, die überhaupt berechenbar ist, läßt sich mit Selektion, Sequenz, Iteration, berechnen Beweis: Berechenbarkeitstheorie. Idee: Eine Turing-Maschine kann alles berechnen... Versuche, eine Turing-Maschine zu simulieren! 59

60 Und nun der Euklidische Algorithmus in Java import java.io.*; public class GGT { public static void main (String[] args) throws IOException { BufferedReader stdin = new BufferedReader (new InputStreamReader(System.in)); } } int x, y; String indata = stdin.readline(); x = Integer.parseInt(inData); indata = stdin.readline(); y = Integer.parseInt(inData); while (x!= y) if (x < y) y = y - x; else x = x - y; System.out.println(x); 60

61 2 Mehr Java Oft müssen viele Werte gleichen Typs gespeichert werden. Idee: Lege sie konsekutiv ab! Greife auf einzelne Werte über ihren Index zu! Feld: Index:

62 Beispiel: Einlesen eines Felds int[] a; // Deklaration int n = read(); a = new int[n]; // Anlegen des Felds int i = 0; while (i < n) { a[i] = read(); i = i+1; } 62

63 type [] name ; deklariert eine Variable für ein Feld (array), dessen Elemente vom Typ type sind. Alternative Schreibweise: type name []; Das Kommando new legt ein Feld einer gegebenen Größe an und liefert einen Verweis darauf zurück: a a = new int[6]; a 63

64 Der Wert einer Feld-Variable ist also ein Verweis. int[] b = a; kopiert den Verweis der Variablen a in die Variable b: a int[] b = a; a b 64

65 Die Elemente eines Felds sind von 0 an durchnumeriert. Die Anzahl der Elemente des Felds name ist name.length. Auf das i-te Element des Felds name greift man mittels name[i] zu. Bei jedem Zugriff wird überprüft, ob der Index erlaubt ist, d.h. im Intervall {0,..., name.length-1} liegt. Liegt der Index außerhalb des Intervalls, wird die ArrayIndexOutofBoundsException ausgelöst ( Exceptions). 65

66 Mehrdimensionale Felder Java unterstützt direkt nur ein-dimensionale Felder. Ein zwei-dimensionales Feld ist ein Feld von Feldern a a 66

67 a a = new int[5][6]; a 67

68 2.1 Mehr Kontrollstrukturen Typische Form der Iteration über Felder: Initialisierung des Laufindex; while-schleife mit Eintrittsbedingung für den Rumpf; Modifizierung des Laufindex am Ende des Rumpfs. 68

69 Beispiel (Forts.): Bestimmung des Minimums int result = a[0]; int i = 1; // Initialisierung while (i < a.length) { if (a[i] < result) result = a[i]; i = i+1; // Modifizierung } write(result); 69

70 Mithilfe des for-statements: int result = a[0]; for (int i = 1; i < a.length; ++i) if (a[i] < result) result = a[i]; write(result); 70

71 Allgemein: for ( init; cond; modify ) stmt... entspricht: { init ; while ( cond ) { stmt modify ;} }... wobei ++i äquivalent ist zu i = i+1 71

72 Warnung: Die Zuweisung x = x+1 ist in Wahrheit ein Ausdruck. Der Wert ist der Wert der rechten Seite. Die Modifizierung der Variable x erfolgt als Seiteneffekt. Der Semikolon ; hinter einem Ausdruck wirft nur den Wert weg... ==... fatal für Fehler in Bedingungen... boolean x = false; if (x = true) write("sorry! This must be an error..."); 72

73 Die Operatoranwendungen ++x und x++ inkrementieren beide den Wert der Variablen x. ++x tut das, bevor der Wert des Ausdrucks ermittelt wird (Pre-Increment). x++ tut das, nachdem der Wert ermittelt wurde (Post-Increment). a[x++] = 7; entspricht: a[x] = 7; x = x+1; a[++x] = 7; entspricht: x = x+1; a[x] = 7; 73

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

4 Kontrollfluss-Diagramme

4 Kontrollfluss-Diagramme 4 Kontrollfluss-Diagramme In welcher Weise die Operationen eines Programms nacheinander ausgeführt werden, läßt sich anschaulich mithilfe von Kontrollfluss-Diagrammen darstellen. Ingredienzien: Start Stop

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

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

Beispiel: Start. Stop

Beispiel: Start. Stop Achtung: Zu jedem MiniJava-Programm lässt sich ein Kontrollfluss-Diagramm konstruieren :-) die umgekehrte Richtung gilt zwar ebenfalls, liegt aber nicht so auf der Hand. 107 Beispiel: Start no yes no yes

Mehr

Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was sind Operatoren? Ein Operator ist eine in die Programmiersprache eingebaute Funktion,

Mehr

Primitive Datentypen

Primitive Datentypen Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.

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

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3. Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike

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

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen

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

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

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

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel. Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

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

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Zusammenfassung Was ist eine Programmiersprache? Eine Sprache, die Formal eindeutig in Maschinenbefehle übersetzbar ist Für Menschen einfacher verständlich ist als Bytecode Zur Formulierung von Datenstrukturen

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

Java Einführung Operatoren Kapitel 2 und 3

Java Einführung Operatoren Kapitel 2 und 3 Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig

Mehr

5.4 Arrays. Oft müssen viele Werte gleichen Typs gespeichert werden. Idee: Lege sie konsekutiv ab! Greife auf einzelne Werte über ihren Index zu!

5.4 Arrays. Oft müssen viele Werte gleichen Typs gespeichert werden. Idee: Lege sie konsekutiv ab! Greife auf einzelne Werte über ihren Index zu! 5.4 Arrays Oft müssen viele Werte gleichen Typs gespeichert werden. Idee: Lege sie konsekutiv ab! Greife auf einzelne Werte über ihren Index zu! Feld: Index: 17 3-2 9 0 1 0 1 2 3 4 5 Harald Räcke 114/656

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? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert

Mehr

620.900 Propädeutikum zur Programmierung

620.900 Propädeutikum zur Programmierung 620.900 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt Andreas.Bollin@uni-klu.ac.at Tel: 0463 / 2700-3516 Lösung der Aufgaben (1/2) Lösung Aufgabe

Mehr

2 Einfache Rechnungen

2 Einfache Rechnungen 2 Einfache Rechnungen 2.1 Zahlen Computer, auch bekannt als Rechner, sind sinnvoller eingesetzt, wenn sie nicht nur feste Texte ausgeben, sondern eben auch rechnen. Um das Rechnen mit Zahlen zu verstehen,

Mehr

II.1.1. Erste Schritte - 1 -

II.1.1. Erste Schritte - 1 - ! 1. Grundelemente der Programmierung! 2. Objekte, Klassen und Methoden! 3. Rekursion und dynamische Datenstrukturen! 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1

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

Diana Lange. Generative Gestaltung Operatoren

Diana Lange. Generative Gestaltung Operatoren Diana Lange Generative Gestaltung Operatoren Begriffserklärung Verknüpfungsvorschrift im Rahmen logischer Kalküle. Quelle: google Operatoren sind Zeichen, die mit einer bestimmten Bedeutung versehen sind.

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

1. Der Einstieg in Java

1. Der Einstieg in Java 1. Der Einstieg in Java Was heißt Programmieren? 1. Der Einstieg in Java Lernziele: Am Ende dieses Kapitels sollen Sie wissen, aus welchen Bestandteilen ein Java-Programm besteht, Java-Programme übersetzen

Mehr

Programmiervorkurs. Organisation: Steffen Gebert, Alexander Wolff. Tutoren: Jürgen Zöller, Jonathan Stoll. Wintersemester 2012/2013

Programmiervorkurs. Organisation: Steffen Gebert, Alexander Wolff. Tutoren: Jürgen Zöller, Jonathan Stoll. Wintersemester 2012/2013 Programmiervorkurs Wintersemester 2012/2013 Organisation: Steffen Gebert, Alexander Wolff Tutoren: Jürgen Zöller, Jonathan Stoll Kontakt (für Organisatorisches, Fehler auf Folien...): Steffen Gebert steffen.gebert@informatik.uni-wuerzburg.de

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

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Kontrollstrukturen, Pseudocode und Modulo-Rechnung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 29.10.2012 CoMa-Übung III (TU Berlin) Kontrollstrukturen, Pseudocode und Modulo-Rechnung 29.10.2012 1 / 1 Themen der Übung 1

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Der hat die früher handschriftlichen Folien lesbar gemacht. Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Heutige Themen Hello World!

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

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Java 1 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 12.10.2015 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello! 12.10.2015 Dr. Werner Struckmann / Stephan

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 1 - Variablen und Kontrollstrukturen main Methode Startpunkt jeder Java Anwendung String[] args ist ein Array aus Parametern, die beim Aufruf über die Kommandozeile

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

OO Programmierung in Java

OO Programmierung in Java OO Programmierung in Java Einführung WS 212/213 Prof. Dr. Margarita Esponda M. Esponda-Argüero 1 Homepage Homepage http://www.esponda.de/ws_12_13/jbk Vorlesungsfolien Literaturliste Übungen Zusätzliches

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

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015 Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

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

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz 4.5. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz 4.5. www.kit.edu. Institut für Angewandte Informatik Programmieren I Kontrollstrukturen Heusch 8 Ratz 4.5 KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Arten von Kontrollstrukturen

Mehr

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7 Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

4. Datentypen. Einleitung Eingebaute Datentypen. Konversion / Type-Cast. Operatoren. Übersicht Die Datentypen char, float und double Standardwerte

4. Datentypen. Einleitung Eingebaute Datentypen. Konversion / Type-Cast. Operatoren. Übersicht Die Datentypen char, float und double Standardwerte 4. Datentypen Einleitung Eingebaute Datentypen Übersicht Die Datentypen char, float und double Standardwerte Konversion / Type-Cast Datentyp von Literalen Operatoren Ausdrücke Allgemeine Informatik 2 SS09

Mehr

1 Polymorphie (Vielgestaltigkeit)

1 Polymorphie (Vielgestaltigkeit) 1 Polymorphie (Vielgestaltigkeit) Problem: Unsere Datenstrukturen List, Stack und Queue können einzig und allein int-werte aufnehmen. Wollen wir String-Objekte, andere Arten von Zahlen oder andere Objekttypen

Mehr

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer) Programmieren I Grundlagen von JAVA Dr. Klaus Höppner Hello World in JAVA Hochschule Darmstadt WS 2007/2008 Elementare Datentypen 1 / 17 2 / 17 Eigenschaften von JAVA Prinzipieller Ablauf Plattform-und

Mehr

System.out.println("TEXT");

System.out.println(TEXT); Inhaltsübersicht - Erstes Beispiel - Datentypen - Ausdrücke und Operatoren - Schleifen / Bedinungen - Struktogramme - Grundgerüst eines Programms in JAVA - Einlesen von Daten Erstes Beispiel public class

Mehr

5.4 Klassen und Objekte

5.4 Klassen und Objekte 5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen

Mehr

1. Der Einstieg in Java. Was heißt Programmieren?

1. Der Einstieg in Java. Was heißt Programmieren? 1. Der Einstieg in Java Lernziele: Am Ende dieses Kapitels sollen Sie wissen, aus welchen Bestandteilen ein Java-Programm besteht, Java-Programme übersetzen und ausführen können, Möglichkeiten der Kommentierung

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 5 Referenzdatentypen - Felder... 5-2 5.1 Eindimensionale Felder - Vektoren... 5-3 5.1.1 Vereinbarung... 5-3 5.1.2 Referenzen sind keine Felder... 5-4 5.1.3 Kopieren eindimensionaler Felder... 5-6

Mehr

Themen der Übung. Java. Java installieren. Java installieren. Installation (Fortsetzung)

Themen der Übung. Java. Java installieren. Java installieren. Installation (Fortsetzung) Themen der Übung Java CoMa-Übung II TU Berlin 1 Java-Installation Hello World 3 Temperature 4.10.01 CoMa-Übung II (TU Berlin) Java 4.10.01 1 / 8 CoMa-Übung II (TU Berlin) Java 4.10.01 / 8 Java installieren

Mehr

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff Programmieren in C C Syntax Datentypen, Operatoren und Kontrollstrukturen Prof. Dr. Nikolaus Wulff Elementare Typen Imperative und objektorientierte Programmiersprachen bieten i.d.r. einen Satz elementarer

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

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

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2011/2012 1 / 25 Operatoren für elementare Datentypen Bedingte Schleifen 2 / 25 Zuweisungsoperator Die Zuweisung von Werten an Variablen

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

Java Einführung Programmcode Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:

Mehr

Grundlagen. Die Komponenten eines C Programms. Das erste Programm

Grundlagen. Die Komponenten eines C Programms. Das erste Programm Grundlagen 1. Die Komponenten eines C Programms 2. Ein Programm erzeugen und übersetzen 3. Variablen Deklarieren und Werte zuweisen 4. Zahlen eingeben mit der Tastatur 5. Arithmetische Ausdrücke und Berechnungen

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

Einführung in die Programmierung mit VBA

Einführung in die Programmierung mit VBA Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 16

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 16 Kapitel 5 Arithmetische Operatoren Seite 1 von 16 Arithmetische Operatoren - Man unterscheidet unäre und binäre Operatoren. - Je nachdem, ob sie auf einen Operanden wirken, oder eine Verknüpfung zweier

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Rückblick Datentypen (int, long, double, boolean, String) Variablen und Variablendeklarationen

Mehr

Algorithmische Kernsprache. Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging.

Algorithmische Kernsprache. Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging. Algorithmische Kernsprache Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging. Ausdrücke Anweisungen Ausdrücke bezeichnen einen Wert Kontext stellt Werte von Variablen Werte

Mehr

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

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2 Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Tutoraufgabe 1 (Zweierkomplement): a) Sei x eine ganze Zahl. Wie unterscheiden sich die Zweierkomplement-Darstellungen

Mehr

Datentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache

Datentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache Agenda für heute, 4. März, 2010 Zusammengesetzte if-then-else-anweisungen Datentypen Pascal ist eine streng typisierte Programmiersprache Für jeden Speicherplatz muss ein Datentyp t (Datenformat) t) definiert

Mehr

Informatik I - Einstiegskurs

Informatik I - Einstiegskurs Informatik I - Einstiegskurs Dr. Henrik Brosenne Georg-August-Universität Göttingen Institut für Informatik Basiert auf dem Einstiegskurs im Wintersemester 2009/10 von Markus Osterhoff Wintersemester 2012/13

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

Ein String ist in Java eigentlich eine Klasse, wir können ihn aber zunächst als Datentyp betrachten, der zur Speicherung von Zeichenketten dient.

Ein String ist in Java eigentlich eine Klasse, wir können ihn aber zunächst als Datentyp betrachten, der zur Speicherung von Zeichenketten dient. Strings Ein String ist in Java eigentlich eine Klasse, wir können ihn aber zunächst als Datentyp betrachten, der zur Speicherung von Zeichenketten dient. Beispiel: String zeile = "Cusanus-Gymnasium Wittlich";

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

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

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

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

Datenbankanwendungsprogrammierung Crashkurs Java

Datenbankanwendungsprogrammierung Crashkurs Java Datenbankanwendungsprogrammierung Crashkurs Java Denny Priebe Datenbankanwendungsprogrammierung p. Unterschiede zu C, C++ typedefs, Präprozessor Strukturen, Unions globale Funktionen Mehrfachvererbung

Mehr

Erster Kontakt mit Java und Pseudocode

Erster Kontakt mit Java und Pseudocode Erster Kontakt mit Java und Pseudocode CoMa-Übung II TU Berlin 23.10.2013 CoMa-Übung II (TU Berlin) Erster Kontakt mit Java und Pseudocode 23.10.2013 1 / 27 Themen der Übung 1 Java auf meinem Rechner 2

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

Einfache Rechenstrukturen und Kontrollfluss II

Einfache Rechenstrukturen und Kontrollfluss II Einfache Rechenstrukturen und Kontrollfluss II Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer http://www.pst.informatik.uni-muenchen.de/lehre/ss06/infoii/ SS 06 Ziele Lernen imperative

Mehr

Reihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03

Reihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 Reihungen Martin Wirsing in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende Algorithmen auf Reihungen

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Übungsblatt 1. Java Vorkurs (WS 2017)

Übungsblatt 1. Java Vorkurs (WS 2017) Übungsblatt 1 Java Vorkurs (WS 2017) Aufgabe 1 Hallo-Welt Erstelle ein neues Projekt mit dem Namen HelloJava. Erzeuge in diesem Projekt eine neue Klasse HelloJava. (a) Schreibe die main-methode in die

Mehr

Einführung in die C++ Programmierung für Ingenieure

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

Fragenkatalog ESOP WS 16/17

Fragenkatalog ESOP WS 16/17 Fragenkatalog ESOP WS 16/17 1. Einleitung 1.1 Was ist Programmieren? 1.2 Was ist ein Programm? 1.3 Welche Schritte werden bei der Programmerstellung benötigt? 1.4 Was ist ein Algorithmus? 1.5 Was sind

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

Grundlagen von JAVA Hello World in JAVA Elementare Datentypen. Grundlagen von JAVA Hello World in JAVA Elementare Datentypen

Grundlagen von JAVA Hello World in JAVA Elementare Datentypen. Grundlagen von JAVA Hello World in JAVA Elementare Datentypen Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 / 24 Grundlagen von JAVA Hello World in JAVA Elementare Datentypen 2 / 24 Eigenschaften von JAVA Plattform-und Betriebssystem-unabhängig

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

Distributed Computing Group

Distributed Computing Group JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

Grundlagen von JAVA Hello World in JAVA Elementare Datentypen. Grundlagen von JAVA Hello World in JAVA Elementare Datentypen

Grundlagen von JAVA Hello World in JAVA Elementare Datentypen. Grundlagen von JAVA Hello World in JAVA Elementare Datentypen Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2011/2012 1 / 24 Grundlagen von JAVA Hello World in JAVA Elementare Datentypen 2 / 24 Eigenschaften von JAVA Plattform-und Betriebssystem-unabhängig

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

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

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm

Mehr

Intensivübung zu Algorithmen und Datenstrukturen

Intensivübung zu Algorithmen und Datenstrukturen Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche

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 Wiederholung Anweisungen durch Methodenaufrufe Ausgabe

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

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

Tag 4 Repetitorium Informatik (Java)

Tag 4 Repetitorium Informatik (Java) Tag 4 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Arrays (Reihungen)

Mehr

Primitive Datentypen. Dr. Wolfgang Süß Thorsten Schlachter

Primitive Datentypen. Dr. Wolfgang Süß Thorsten Schlachter Dr. Wolfgang Süß Thorsten Schlachter Java-Bezeichner Für Variablen, Methoden, Klassen und Schnittstellen werden Bezeichner auch Identifizierer (von engl. identifier) genannt vergeben. Ein Bezeichner ist

Mehr

3 Syntax von Programmiersprachen

3 Syntax von Programmiersprachen 3 Syntax von Programmiersprachen Syntax ( Lehre vom Satzbau ) formale Beschreibung des Aufbaus der Worte und Sätze, die zu einer Sprache gehören; im Falle einer Programmiersprache Festlegung, wie Programme

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr