Imperative Programmierung in Java. Algorithmen und Datenstrukturen II 1

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Imperative Programmierung in Java. Algorithmen und Datenstrukturen II 1"

Transkript

1 Imperative Programmierung in Java Algorithmen und Datenstrukturen II 1

2 Mini-Java Ein Mini-Java Programm besteht aus genau einer Klasse. In dieser Klasse gibt es genau eine main-methode. Folgende Konstrukte sind Anweisungen (statements gemäß Mini-Java-Syntax, vgl. Beispiel??): Algorithmen und Datenstrukturen II 2

3 Mini-Java Ein Mini-Java Programm besteht aus genau einer Klasse. In dieser Klasse gibt es genau eine main-methode. Folgende Konstrukte sind Anweisungen (statements gemäß Mini-Java-Syntax, vgl. Beispiel??): 1. Die Deklaration einer Variablen vom Typ int mit sofortiger Initialisierung: int ident = expression; Jeder Bezeichner (ident) darf in höchstens einer Variablendeklaration vorkommen. Diese kontextsensitive Bedingung lässt sich nicht in der EBNF-Definition formulieren. Algorithmen und Datenstrukturen II 2

4 Mini-Java Ein Mini-Java Programm besteht aus genau einer Klasse. In dieser Klasse gibt es genau eine main-methode. Folgende Konstrukte sind Anweisungen (statements gemäß Mini-Java-Syntax, vgl. Beispiel??): 1. Die Deklaration einer Variablen vom Typ int mit sofortiger Initialisierung: int ident = expression; Jeder Bezeichner (ident) darf in höchstens einer Variablendeklaration vorkommen. Diese kontextsensitive Bedingung lässt sich nicht in der EBNF-Definition formulieren. Algorithmen und Datenstrukturen II 2

5 2. Die Zuweisung eines Wertes an eine Variable: ident = expression; Diese Variable muss vorher deklariert worden sein und den gleichen Typ wie der Ausdruck haben. Diese Nebenbedingung ist ebenfalls nicht in der EBNF-Definition ausgedrückt. Algorithmen und Datenstrukturen II 3

6 2. Die Zuweisung eines Wertes an eine Variable: ident = expression; Diese Variable muss vorher deklariert worden sein und den gleichen Typ wie der Ausdruck haben. Diese Nebenbedingung ist ebenfalls nicht in der EBNF-Definition ausgedrückt. 3. Eine bedingte Anweisung (if-then Anweisung): if(condition) statement Der Bool sche Ausdruck (condition) wird ausgewertet; ist er true, so wird die Anweisung (statement) ausgeführt. Ist er false, so wird die Anweisung nicht ausgeführt und die Programmausführung mit der nächsten Anweisung hinter der if-then Anweisung fortgesetzt. Algorithmen und Datenstrukturen II 3

7 2. Die Zuweisung eines Wertes an eine Variable: ident = expression; Diese Variable muss vorher deklariert worden sein und den gleichen Typ wie der Ausdruck haben. Diese Nebenbedingung ist ebenfalls nicht in der EBNF-Definition ausgedrückt. 3. Eine bedingte Anweisung (if-then Anweisung): if(condition) statement Der Bool sche Ausdruck (condition) wird ausgewertet; ist er true, so wird die Anweisung (statement) ausgeführt. Ist er false, so wird die Anweisung nicht ausgeführt und die Programmausführung mit der nächsten Anweisung hinter der if-then Anweisung fortgesetzt. 4. Eine abweisende Schleife (while-schleife): Algorithmen und Datenstrukturen II 3

8 while(condition) statement Der Bool sche Ausdruck wird ausgewertet; ist er true, so wird die Anweisung so lange ausgeführt, bis der Bool sche Ausdruck false wird. Algorithmen und Datenstrukturen II 4

9 while(condition) statement Der Bool sche Ausdruck wird ausgewertet; ist er true, so wird die Anweisung so lange ausgeführt, bis der Bool sche Ausdruck false wird. 5. Ein Block. { statement1; statement2;... Die Statements in der geschweiften Klammer werden von links nach rechts nacheinander abgearbeitet. Algorithmen und Datenstrukturen II 4

10 while(condition) statement Der Bool sche Ausdruck wird ausgewertet; ist er true, so wird die Anweisung so lange ausgeführt, bis der Bool sche Ausdruck false wird. 5. Ein Block. { statement1; statement2;... Die Statements in der geschweiften Klammer werden von links nach rechts nacheinander abgearbeitet. 6. Eine Anweisung zum Schreiben auf der Standardausgabe: System.out.println(...); System ist eine Klasse, die klassenbezogene Methoden zur Darstellung des Zustandes des Systems bereitstellt. out ist eine Klassenvariable der Klasse System, ihr Inhalt ist der Standardausgabestrom. Die Methode println wird Algorithmen und Datenstrukturen II 4

11 also auf das klassenbezogene Datenfeld out angewendet es wird ein String mit abschließendem Zeilenvorschub auf dem Standardausgabestrom ausgegeben. Algorithmen und Datenstrukturen II 5

12 also auf das klassenbezogene Datenfeld out angewendet es wird ein String mit abschließendem Zeilenvorschub auf dem Standardausgabestrom ausgegeben. 7. Die leere Anweisung. ; Es geschieht nichts. Algorithmen und Datenstrukturen II 5

13 also auf das klassenbezogene Datenfeld out angewendet es wird ein String mit abschließendem Zeilenvorschub auf dem Standardausgabestrom ausgegeben. 7. Die leere Anweisung. ; Es geschieht nichts. 8. Die Deklaration eines eindimensionalen Feldes (Arrays) mit sofortiger Initialisierung: int[] array = new int[3]; deklariert ein Feld namens array, erzeugt ein Feld mit drei int-komponenten und weist dieses der Feldvariablen array zu. Beachte, dass die Dimension (3) einer Feldvariablen nicht bei der Deklaration (int[] array) angegeben wird, Algorithmen und Datenstrukturen II 5

14 sondern nur bei der Erzeugung (new int[3]). Die erste Komponente eines Feldes hat den Index 0. Die Länge des Feldes kann aus dessen Datenfeld length ausgelesen werden (array.length). Algorithmen und Datenstrukturen II 6

15 sondern nur bei der Erzeugung (new int[3]). Die erste Komponente eines Feldes hat den Index 0. Die Länge des Feldes kann aus dessen Datenfeld length ausgelesen werden (array.length). 9. Die Zuweisung eines Wertes an die i-te Komponente eines Feldes, wobei 0 i array.length 1: array[i] = expression; Algorithmen und Datenstrukturen II 6

16 class Echo { public static void main(string[] args) { int i = 0; while(i < args.length) { System.out.println(args[i]); i = i+1; Algorithmen und Datenstrukturen II 7

17 class Echo { public static void main(string[] args) { int i = 0; while(i < args.length) { System.out.println(args[i]); i = i+1; > java Echo > Algorithmen und Datenstrukturen II 7

18 class BadAddOne { public static void main(string[] args) { int i = 0; while(i < args.length) { int wert = args[i]; wert = wert+1; System.out.println(wert); i = i+1; Algorithmen und Datenstrukturen II 8

19 class BadAddOne { public static void main(string[] args) { int i = 0; while(i < args.length) { int wert = args[i]; wert = wert+1; System.out.println(wert); i = i+1; Algorithmen und Datenstrukturen II 8

20 > javac BadAddOne.java BadAddOne.java:6: Incompatible type for declaration. Can t convert java.lang.string to int. int wert = args[i]; > Algorithmen und Datenstrukturen II 9

21 class AddOne { public static void main(string[] args) { int i = 0; while(i < args.length) { int wert = Integer.parseInt(args[i]); wert = wert+1; System.out.println(wert); i = i+1; Algorithmen und Datenstrukturen II 10

22 class AddOne { public static void main(string[] args) { int i = 0; while(i < args.length) { int wert = Integer.parseInt(args[i]); wert = wert+1; System.out.println(wert); i = i+1; Algorithmen und Datenstrukturen II 10

23 > java AddOne > Algorithmen und Datenstrukturen II 11

24 Von Mini-Java zu Java Jedes Mini-Java Programm ist ein Java Programm. In diesem Abschnitt werden die Datentypen und imperativen Konstrukte von Java erläutert, die nicht bereits in Mini-Java vorhanden sind. Algorithmen und Datenstrukturen II 12

25 Elementare Datentypen Algorithmen und Datenstrukturen II 13

26 Elementare Datentypen Unicode: Java, als Sprache für das World Wide Web, benutzt einen 16-Bit Zeichensatz, genannt Unicode. Die ersten 256 Zeichen von Unicode sind identisch mit dem 8-Bit Zeichensatz Latin-1, wobei wiederum die ersten 128 Zeichen von Latin-1 mit dem 7-Bit ASCII Zeichensatz übereinstimmen. Algorithmen und Datenstrukturen II 13

27 Elementare Datentypen Unicode: Java, als Sprache für das World Wide Web, benutzt einen 16-Bit Zeichensatz, genannt Unicode. Die ersten 256 Zeichen von Unicode sind identisch mit dem 8-Bit Zeichensatz Latin-1, wobei wiederum die ersten 128 Zeichen von Latin-1 mit dem 7-Bit ASCII Zeichensatz übereinstimmen. Algorithmen und Datenstrukturen II 13

28 Elementare Datentypen und deren Literale: Algorithmen und Datenstrukturen II 14

29 Typ boolean true und false Typ int 29 (Dezimalzahl) oder 035 (Oktaldarstellung wegen führender 0) oder 0x1D (Hexadezimaldarstellung wegen führendem 0x) oder 0X1d (Hexadezimaldarstellung wegen führendem 0X) Typ long 29L (wegen angehängtem l oder L) Typ short short i = 29; (Zuweisung, es gibt kein short-literal) Typ byte byte i = 29; (Zuweisung, es gibt kein byte-literal) Typ double 18.0 oder 18. oder 1.8e1 oder.18e2 Typ float 18.0f (wegen angehängtem f oder F) Typ char Q, \u0022, \u0b87 Typ String "Hallo" (String ist kein elementarer Datentyp; s. Kapitel??) Algorithmen und Datenstrukturen II 15

30 Typ boolean true und false Typ int 29 (Dezimalzahl) oder 035 (Oktaldarstellung wegen führender 0) oder 0x1D (Hexadezimaldarstellung wegen führendem 0x) oder 0X1d (Hexadezimaldarstellung wegen führendem 0X) Typ long 29L (wegen angehängtem l oder L) Typ short short i = 29; (Zuweisung, es gibt kein short-literal) Typ byte byte i = 29; (Zuweisung, es gibt kein byte-literal) Typ double 18.0 oder 18. oder 1.8e1 oder.18e2 Typ float 18.0f (wegen angehängtem f oder F) Typ char Q, \u0022, \u0b87 Typ String "Hallo" (String ist kein elementarer Datentyp; s. Kapitel??) Algorithmen und Datenstrukturen II 15

31 Initialbelegungen: Während ihrer Deklaration kann eine Variable wie in Mini-Java initialisiert werden. final double PI = ; float radius = 1.0f; Sind für Datenfelder einer Klasse keine Anfangswerte angegeben, so belegt Java sie mit voreingestellten Anfangswerten. Der Anfangswert hängt vom Typ des Datenfeldes ab: Feld-Typ boolean char Ganzzahl (byte, short, int, long) 0 Gleitkommazahl andere Referenzen Anfangswert false \u f oder +0.0d null Algorithmen und Datenstrukturen II 16

32 Lokale Variablen Lokale Variablen in einer Methode (oder einem Konstruktor oder einem klassenbezogenen Initialisierungsblock) werden von Java nicht mit einem Anfangswert initialisiert. Vor ihrer ersten Benutzung muss einer lokalen Variablen ein Wert zugewiesen werden (ein fehlender Anfangswert ist ein Fehler). Algorithmen und Datenstrukturen II 17

33 Kommentare // Kommentar bis zum Ende der Zeile /* Kommentar zwischen */ Algorithmen und Datenstrukturen II 18

34 Kommentare // Kommentar bis zum Ende der Zeile /* Kommentar zwischen */ Achtung: /* */ können nicht geschachtelt werden! /* falsch /* geschachtelter Kommentar */ */ Algorithmen und Datenstrukturen II 18

35 Bool sche Operatoren && logisches und logisches oder! logisches nicht Algorithmen und Datenstrukturen II 19

36 Bool sche Operatoren && logisches und logisches oder! logisches nicht Die Auswertung eines Bool schen Ausdrucks erfolgt von links nach rechts, bis der Wert eindeutig feststeht. Folgender Ausdruck ist deshalb robust: if(index>=0 && index<array.length && array[index]!=0)... Algorithmen und Datenstrukturen II 19

37 Bitoperatoren Die Bitoperatoren & (und) und (oder) sind definiert durch: & int-zahlen werden durch diese Operatoren bitweise behandelt. Algorithmen und Datenstrukturen II 20

38 Bitoperatoren Die Bitoperatoren & (und) und (oder) sind definiert durch: & int-zahlen werden durch diese Operatoren bitweise behandelt. Algorithmen und Datenstrukturen II 20

39 Beispiel 0.1 Es seien x und y folgendermaßen gewählt: x = 60 (in Binärdarstellung ) und y = 15 (binär: ). In diesem Fall ist x&y = 12 und x y = 63: x & y (60) & (15) (12) x y (60) (15) (63) Algorithmen und Datenstrukturen II 21

40 Inkrement und Dekrement Man kann den Wert einer Variablen x (nicht den eines Ausdrucks) durch den Operator ++ um 1 erhöhen bzw. durch - um 1 erniedrigen. Es gibt Präfix- und Postfixschreibweisen, die unterschiedliche Wirkungen haben: Bei der Präfixschreibweise wird der Wert zuerst modifiziert und danach der veränderte Wert zurückgeliefert. Bei der Postfixschreibweise wird zuerst der Wert der Variablen zurückgeliefert, dann wird sie modifiziert. Algorithmen und Datenstrukturen II 22

41 int i = 10; int i = 10; int j = i++; int j = ++i; System.out.println(j); System.out.println(j); > > Der Ausdruck i++ ist gleichbedeutend mit i = i+1, jedoch wird i nur einmal ausgewertet! Algorithmen und Datenstrukturen II 23

42 Beispiel 0.2 (A) (B) arr[where()]++; Die Methode where() wird einmal aufgerufen. arr[where()] = arr[where()]+1; Hierbei wird die Methode where() jedoch zweimal aufgerufen. Algorithmen und Datenstrukturen II 24

43 Seiteneffekte Seiteneffekte können hier sogar das Ergebnis beeinflussen: In dem Kontext arr[0] = 0; arr[1] = 1; arr[2] = 2; und private static int zaehler = 0; private static int where() { zaehler = zaehler+1; return zaehler; liefert (A) arr[1] = 2 bzw. (B) arr[1] = 3. Algorithmen und Datenstrukturen II 25

44 Zuweisungsoperatoren i += 2; ist gleichbedeutend mit i = i+2; außer, dass der Ausdruck auf der linken Seite von i += 2; nur einmal ausgewertet wird (vgl. Inkrement und Dekrement). Entsprechend sind -=, &= und = definiert. Algorithmen und Datenstrukturen II 26

45 Die nichtabweisende Schleife Zusätzlich zur abweisenden Schleife gibt es eine nichtabweisende Schleife in Java: do statement while(condition); Die condition wird erst nach der Ausführung von statement ausgewertet. Solange sie true ist, wird statement wiederholt. Algorithmen und Datenstrukturen II 27

46 for-schleife for(init-statement; condition; increment-statement) statement Algorithmen und Datenstrukturen II 28

47 for-schleife for(init-statement; condition; increment-statement) statement ist gleichbedeutend mit (mit Ausnahme vom Verhalten bei continue): { init-statement while(condition) { statement increment-statement Algorithmen und Datenstrukturen II 28

48 Übliche Verwendung der for-schleife: for(int i=0; i<=10; i++) { System.out.println(i); Der Gültigkeitsbereich der (Lauf-)Variablen i beschränkt sich auf die for-schleife! Algorithmen und Datenstrukturen II 29

49 Übliche Verwendung der for-schleife: for(int i=0; i<=10; i++) { System.out.println(i); Der Gültigkeitsbereich der (Lauf-)Variablen i beschränkt sich auf die for-schleife! int i = 0; for(int i=0; i<=10; i++) { System.out.println(i); ist jedoch nicht möglich, da die Variable i vorher schon deklariert wurde. Algorithmen und Datenstrukturen II 29

50 Die Initialisierungs- bzw. Inkrementanweisung einer for-schleife kann eine durch Kommata getrennte Liste von Ausdrücken sein. Diese werden von links nach rechts ausgewertet. Beispiel 0.3 (Arnold & Gosling [?], S. 144) public static int zehnerpotenz(int wert) { int exp, v; for(exp=0,v=wert; v>0; exp++, v=v/10) ; // leere Anweisung return exp; Algorithmen und Datenstrukturen II 30

51 Alle Ausdrücke dürfen auch leer sein; dies ergibt eine Endlosschleife: for(;;) { System.out.println("Hallo"); Algorithmen und Datenstrukturen II 31

52 if-then-else Anweisung if(condition) statement1 else statement2 Algorithmen und Datenstrukturen II 32

53 If-else-Zuordnung public double positivesumme(double[] werte) { double sum = 0.0; if(werte.length > 1) for(int i=0; i<werte.length; i++) if(werte[i] > 0) sum += werte[i]; else // hoppla! sum = werte[0]; return sum; Algorithmen und Datenstrukturen II 33

54 public double positivesumme(double[] werte) { double sum = 0.0; if(werte.length > 1) for(int i=0; i<werte.length; i++) if(werte[i] > 0) sum += werte[i]; else // hoppla! sum = werte[0]; return sum; Algorithmen und Datenstrukturen II 34

55 public double positivesumme(double[] werte) { double sum = 0.0; if(werte.length > 1) { for(int i=0; i<werte.length; i++) if(werte[i] > 0) sum += werte[i]; else { sum = werte[0]; return sum; Algorithmen und Datenstrukturen II 35

56 Mehrdimensionale Felder Mehrdimensionale Felder werden in Java durch Felder von Feldern realisiert. Beispiel 0.4 (Jobst [?], S. 37) Algorithmen und Datenstrukturen II 36

57 public class Array2Dim { public static void main(string[] args) { int[][] feld = new int[3][3]; //Weise feld[i][j] den Wert (i+1)*10+j zu for(int i=0; i<feld.length; i++) { for(int j=0; j<feld[i].length; j++) { feld[i][j] = (i+1)*10+j; System.out.print(feld[i][j]+" "); System.out.println(); Algorithmen und Datenstrukturen II 37

58 > java Array2Dim Algorithmen und Datenstrukturen II 38

59 Beispiel 0.5 (Jobst [?], S. 38) Algorithmen und Datenstrukturen II 39

60 public class DemoArray { public static void main(string[] args) { int[][] feld = new int[3][]; for(int i=0; i<feld.length; i++) { feld[i] = new int[i+1]; for(int j=0; j<feld[i].length; j++) { feld[i][j] = (i+1)*10+j; System.out.print(feld[i][j]+" "); System.out.println(); Algorithmen und Datenstrukturen II 40

61 > java DemoArray Algorithmen und Datenstrukturen II 41

62 Felder können bei ihrer Deklaration sofort initialisiert werden: Algorithmen und Datenstrukturen II 42

63 Algorithmen und Datenstrukturen II 43 > java DemoFeldInitial Beispiel 0.6 (Jobst [?] S. 39) public class DemoFeldInitial { public static void main(string[] args) { int[][] feld = {{1,2,3,{4,5,{7,8,9,10; //Ausgabe des Feldes for(int i=0; i<feld.length; i++) { for(int j=0; j<feld[i].length; j++) System.out.print(feld[i][j]+" "); System.out.println();

64 switch-anweisung switch(expression) { case const1: statement1 break; case const2: statement2 break;... default: statement Algorithmen und Datenstrukturen II 44

65 Beispiel 0.7 (Jobst [?], S. 15) Algorithmen und Datenstrukturen II 45

66 public class DemoFuerSwitch { public static void main (String[] args) { for(int i=0; i<=10; i++) switch(i) { case 1: case 2: System.out.println(i+" Fall 1,2"); // Weiter bei Fall 3 case 3: System.out.println(i+" Fall 3"); // Weiter bei Fall 7 case 7: System.out.println(i+" Fall 7"); break; default: System.out.println(i+" sonst"); Algorithmen und Datenstrukturen II 46

67 Algorithmen und Datenstrukturen II 47

68 Algorithmen und Datenstrukturen II 48

69 > java DemoFuerSwitch 0 sonst 1 Fall 1,2 1 Fall 3 1 Fall 7 2 Fall 1,2 2 Fall 3 2 Fall 7 3 Fall 3 3 Fall 7 4 sonst 5 sonst 6 sonst 7 Fall 7 8 sonst 9 sonst Algorithmen und Datenstrukturen II 49

70 10 sonst > Algorithmen und Datenstrukturen II 50

Imperative Programmierung in Java. Algorithmen und Datenstrukturen II 1

Imperative Programmierung in Java. Algorithmen und Datenstrukturen II 1 Imperative Programmierung in Java Algorithmen und Datenstrukturen II 1 Mini-Java Ein Mini-Java Programm besteht aus genau einer Klasse. In dieser Klasse gibt es genau eine main-methode. Folgende Konstrukte

Mehr

Imperative Programmierung in Java. Algorithmen und Datenstrukturen II 1

Imperative Programmierung in Java. Algorithmen und Datenstrukturen II 1 Imperative Programmierung in Java Algorithmen und Datenstrukturen II 1 Mini-Java Ein Mini-Java Programm besteht aus genau einer Klasse. In dieser Klasse gibt es genau eine main-methode. Folgende Konstrukte

Mehr

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II AG Praktische Informatik Technische Fakultät Vorlesung Sommer 2009 Teil I Imperative Programmierung in Java Mini-Java Ein Mini-Java Programm besteht aus genau einer Klasse.

Mehr

Imperative Programmierung in Java

Imperative Programmierung in Java Kapitel 3 Imperative Programmierung in Java Im vorigen Kapitel haben wir generelle Eigenschaften der imperativen wie der objektorientierten Programmierung kennengelernt. Auch Teile der Syntax der objektorientierten

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

Grundlagen der Programmierung Teil1 Einheit III Okt. 2010

Grundlagen der Programmierung Teil1 Einheit III Okt. 2010 Grundlagen der Programmierung Teil1 Einheit III - 22. Okt. 2010 GDP DDr. Karl D. Fritscher basierend auf der Vorlesung Grundlagen der Programmierung von DI Dr. Bernhard Pfeifer Einschub Bevor wir mit den

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

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

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

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

3. Anweisungen und Kontrollstrukturen

3. Anweisungen und Kontrollstrukturen 3. Kontrollstrukturen Anweisungen und Blöcke 3. Anweisungen und Kontrollstrukturen Mit Kontrollstrukturen können wir den Ablauf eines Programmes beeinflussen, z.b. ob oder in welcher Reihenfolge Anweisungen

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

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

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1 Fachhochschule Stralsund Fachbereich Maschinenbau Lehrgebiet Informatik Prof. Dr.-Ing. Ch.Wahmkow Arbeitsblätter für die Lehrveranstaltung OOP I. Aufbau eines Java-Programmes JAVA 1 Escape-Sequenzen zur

Mehr

Die for -Schleife HEUTE. Schleifen. Arrays. Schleifen in JAVA. while, do reichen aus, um alle iterativen Algorithmen zu beschreiben

Die for -Schleife HEUTE. Schleifen. Arrays. Schleifen in JAVA. while, do reichen aus, um alle iterativen Algorithmen zu beschreiben 18.11.5 1 HEUTE 18.11.5 3 Schleifen Arrays while, do reichen aus, um alle iterativen Algorithmen zu beschreiben Nachteil: Steuermechanismus ist verteilt Übersicht nicht immer leicht dazu gibt es for (

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

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

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

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 6.11.07, Weitere Anweisungen Übersicht 1 Verbundanweisung 2 Bedingte Anweisung 3 Auswahlanweisung 4 for Schleife 5 while Schleife 6 do Schleife 7 break Anweisung 8 continue Anweisung 9 Leere

Mehr

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8 Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

Grundlagen der Programmierung Teil1 Einheit III Okt. 2009

Grundlagen der Programmierung Teil1 Einheit III Okt. 2009 Grundlagen der Programmierung Teil1 Einheit III - 23. Okt. 2009 GDP DDr. Karl D. Fritscher basierend auf der Vorlesung Grundlagen der Programmierung von DI Dr. Bernhard Pfeifer Ausdrücke & Anweisungen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 25.4.07, Anweisungen Übersicht 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for

Mehr

Elementare Konzepte von

Elementare Konzepte von Elementare Konzepte von Programmiersprachen Teil 2: Anweisungen (Statements) Kapitel 6.3 bis 6.7 in Küchlin/Weber: Einführung in die Informatik Anweisungen (statements) in Java Berechnung (expression statement)

Mehr

Anweisungen zur Ablaufsteuerung

Anweisungen zur Ablaufsteuerung Anweisungen zur Ablaufsteuerung if-else switch while do-while for Ausdrücke Ein Ausdruck ist eine Folge von Variablen, Operatoren und Methodenaufrufen, der zu einem einzelnen Wert ausgewertet wird. Operanden

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

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

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.3. Anweisungen und Kontrollstrukturen - 1 - Anweisung Anweisung Zuweisung Methodenaufruf

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 47 Einstieg in die Informatik mit Java Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung,

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

Sprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Sprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg Sprachkonstrukte Einführung in Java Folie 1 von 20 12. Mai 2011 Ivo Kronenberg Inhalt Kommentare Identifier (Bezeichner) Variablen Numerische Ausdrücke und Typen Kontrollstrukturen Verzweigungen Bedingungen

Mehr

Java - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue

Java - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue Java - Schleifen Bedingung wiederhole ja Anweisung Anweisung Anweisung Leibniz Universität IT Services Anja Aue Anweisung int zahl; zahl = 2; zahl = zahl * 10; int zahl; ; Jede Anweisung endet mit einem

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

2 Teil 2: Nassi-Schneiderman

2 Teil 2: Nassi-Schneiderman 2 Teil 2: Nassi-Schneiderman Wie kann man Nassi-Schneiderman in einer objektorientierten Sprache verwenden? Jedes Objekt besitzt Methoden, welche die Attribute des Objektes verändern. Das Verhalten der

Mehr

Abschnitt 5. Grundlagen der funktionalen & imperativen Programmierung

Abschnitt 5. Grundlagen der funktionalen & imperativen Programmierung Übersicht Abschnitt 5. Grundlagen der funktionalen & imperativen Programmierung Einführung in die Programmierung 5. Grundlagen der funktionalen & imperativen Programmierung 1 Übersicht 5.1 Sorten und Abstrakte

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

Schwerpunkte. 10. Felder (Arrays) Grundprinzip von Arrays. Klassifikation von Typen in Programmiersprachen

Schwerpunkte. 10. Felder (Arrays) Grundprinzip von Arrays. Klassifikation von Typen in Programmiersprachen Schwerpunkte 10. Felder (Arrays) Teil 1 Java-Beispiele: Echo.java Primzahlen.java Monate.java Klassifikation von Typen in Programmiersprachen Array: einziger strukturierter Typ in Java Deklaration, Erzeugung

Mehr

2.7 Anweisungen. x+2; // Java-Fehler, korrekt in C oder C++

2.7 Anweisungen. x+2; // Java-Fehler, korrekt in C oder C++ 2.7 Anweisungen Anweisungen (Statements) sind in Java die elementaren Einheiten des Kontrollflusses. Eine Anweisung stellt eine Aktivität dar, sie bewirkt etwas. Ausdrücke sind in Java keine Anweisungen

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

Java - Programmierung - Prozedurale Programmierung 1

Java - Programmierung - Prozedurale Programmierung 1 Java - Programmierung - Prozedurale Programmierung 1 // elementare Datentypen public class el_dt public static void main(string args []) byte b = 127; short s = 32767; int i = 2147483647; long l = 9223372036854775807L,

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

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7. CoMa 04 Java II Paul Boeck Humboldt Universität zu Berlin Institut für Mathematik 7. Mai 2013 Paul Boeck CoMa 04 7. Mai 2013 1 / 13 Verzweigungen Wenn-Dann Beziehungen if (BEDINGUNG) { else if (BEDINGUNG2)

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

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

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

Algorithmen zur Datenanalyse in C++

Algorithmen zur Datenanalyse in C++ Algorithmen zur Datenanalyse in C++ Hartmut Stadie 16.04.2012 Algorithmen zur Datenanalyse in C++ Hartmut Stadie 1/ 39 Einführung Datentypen Operatoren Anweisungssyntax Algorithmen zur Datenanalyse in

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

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22 C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven

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

Java-Applikationen (Java-Programme)

Java-Applikationen (Java-Programme) Java-Applikationen (Java-Programme) Eine erste Applikation: 1 2 3 4 5 6 7 8 9 10 // Quelltext HalloWelt.java // Programm gibt den Text Hallo Welt aus public class HalloWelt public static void main(string[]

Mehr

Java: Eine kurze Einführung an Beispielen

Java: Eine kurze Einführung an Beispielen Java: Eine kurze Einführung an Beispielen Quellcode, javac und die JVM Der Quellcode eines einfachen Java-Programms besteht aus einer Datei mit dem Suffix.java. In einer solchen Datei wird eine Klasse

Mehr

3.2 Datentypen und Methoden

3.2 Datentypen und Methoden Kap03.fm Seite 217 Dienstag, 7. September 2010 1:48 13 3.2 Datentypen und Methoden 217 3.2 Datentypen und Methoden Wie bei vielen höheren Programmiersprachen gibt es auch in Java einfache und strukturierte

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 04: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von

Mehr

EINFÜHRUNG IN DIE PROGRAMMIERUNG

EINFÜHRUNG IN DIE PROGRAMMIERUNG EINFÜHRUNG IN DIE PROGRAMMIERUNG GRUNDLAGEN Tobias Witt!! 24.03.2014 ORGANISATORISCHES 09:00-10:30! Täglich Übungen zur Vertiefung! Laptop hier nicht erforderlich! Linux, OS X! Freitag: http://hhu-fscs.de/linux-install-party/

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

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

Institut für Programmierung und Reaktive Systeme. Java 3. Markus Reschke Java 3 Markus Reschke 08.10.2014 Kommentare Kommentare nützlich zum späteren Verständnis Zwei Arten Einzeiliger Kommentar bis zum Zeilenende mit // Mehrzeiliger Kommentar mit /*Text*/ 1 double x = 5; //

Mehr

Schleifen Datenfelder (Arrays) Verzweigungen

Schleifen Datenfelder (Arrays) Verzweigungen Schleifen Datenfelder (Arrays) Verzweigungen Vektoren, Matrizen, Tabellen for, while, foreach, if-else und switch-case Dr. Beatrice Amrhein Überblick Schleifen o for, while, foreach Eindimensionale Arrays

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

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

9 Anweisungen und Kontrollstrukturen

9 Anweisungen und Kontrollstrukturen 9 Anweisungen und Kontrollstrukturen Hier beziehen wir uns auf Kapitel 6 von Go To Java 2. Die Steuerung des Programmablaufs geschieht durch sogenannte Anweisungen. Jede Anweisung bewirkt irgendwelche

Mehr

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]

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

Wo sind wir? Kontrollstrukturen

Wo sind wir? Kontrollstrukturen Wo sind wir? Java-Umgebung Lexikale Konventionen Datentypen Kontrollstrukturen Ausdrücke Klassen, Pakete, Schnittstellen JVM Exceptions Java Klassenbibliotheken Ein-/Ausgabe Collections Threads Applets,

Mehr

Kontrollstrukturen. Wo sind wir? Anweisung mit Label. Block. Beispiel. Deklarationsanweisung

Kontrollstrukturen. Wo sind wir? Anweisung mit Label. Block. Beispiel. Deklarationsanweisung Java-Umgebung Lexikale Konventionen Datentypen Kontrollstrukturen Ausdrücke Klassen, Pakete, Schnittstellen JVM Exceptions Java Klassenbibliotheken Ein-/Ausgabe Collections Threads Applets, Sicherheit

Mehr

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Daher ist y = x + 5.6; keine Gleichung, sondern die Anweisung den Wert

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

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

Einfache Datentypen in JAVA

Einfache Datentypen in JAVA 5.4.1. Einfache Datentypen in JAVA Ganzzahlige Datentypen byte 8 bits -128

Mehr

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 31. März 2009, c 2009 D.Rösner

Mehr

4.2 Programmiersprache C

4.2 Programmiersprache C 4.2.1. Elementare Datentypen (signed) int, unsigned int, (signed) short (int), unsigned short (int), (signed) long (int), unsigned long (int) Elementare Datentypen für ganze Zahlen mit oder ohne Vorzeichen.

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

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

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

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

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf  Seite 1 von 29 Kapitel 2 Einführung in C++ Seite 1 von 29 C++ Zeichensatz - Buchstaben: a bis z und A bis Z. - Ziffern: 0 bis 9 - Sonderzeichen: ; :,. # + - * / % _ \! < > & ^ ~ ( ) { } [ ]? Seite 2 von 29 Höhere Elemente

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester

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

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit anschaulichen Beispielen aus der Java-Welt apl. Prof. Dr. Achim Ebert Inhalt Kapitel 3: Kontrollstrukturen Einfache Anweisungen Anweisungsblöcke Steuerung

Mehr

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Blöcke. Beispiel: Variablen in Blöcken

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Blöcke. Beispiel: Variablen in Blöcken 4 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Blöcke Blöcke erweitern einzelne Anweisungen, etwa bei Kontrollstrukturen später Beispiel: Einzelne Anweisung: anweisung; Erweiterung

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

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 28 Einstieg in die Informatik mit Java Variablenarten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 28 1 Überblick: Variablenarten 2 Lokale Variablen 3 Lokale Variablen

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Schleifen und Arrays Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 06.10.2016 Technische Universität Braunschweig, IPS Überblick Kommentare Typen Kontrollstrukturen Arrays 06.10.2016 Dr. Werner

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

RO-Tutorien 15 und 16

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

Mehr

Java 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

Übungen zu Programmieren - Code-Formatierung -

Übungen zu Programmieren - Code-Formatierung - - Code-Formatierung - Tutoren: Sven Groppe Florian Frischat David Gregorczyk Dana Linnepe Sven-Erik Pfeiffer Markus Weigel Simon Werner groppe@ifis.uni-luebeck.de prog2@ifis.uni-luebeck.de prog6@ifis.uni-luebeck.de

Mehr

Programmiertechnik Kontrollstrukturen

Programmiertechnik Kontrollstrukturen Programmiertechnik Kontrollstrukturen Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was sind Kontrollstrukturen? Kontrollstrukturen erlauben es, ein Programm nicht nur Zeile für Zeile auszuführen,

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

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

Einführung in die Programmierung Wintersemester 2011/12

Einführung in die Programmierung Wintersemester 2011/12 Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Kontrollstrukturen Inhalt Wiederholungen - while

Mehr

Test zu Grundlagen der Programmierung Leitung: Susanne Guth/Michael Hahsler. 31. Jänner 2003

Test zu Grundlagen der Programmierung Leitung: Susanne Guth/Michael Hahsler. 31. Jänner 2003 Test zu Grundlagen der Programmierung Leitung: Susanne Guth/Michael Hahsler 1. Jänner 00 Name Martrikelnummer Unterschrift Bitte kreuzen Sie das Studium an, für das Sie diese Prüfung ablegen: O Bakkalaureat

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

Einführung in die Programmierung für NF. Algorithmen, Datentypen und Syntax

Einführung in die Programmierung für NF. Algorithmen, Datentypen und Syntax Einführung in die Programmierung für NF Algorithmen, Datentypen und Syntax Ziele Begriffsbildungen: InformaCk, Algorithmus, Programm, Compiler und andere Einordnung von Java Ein einfaches Java- Programm

Mehr

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15 EINI LW/ Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de

Mehr

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Kontrollstrukturen

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Kontrollstrukturen Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Kontrollstrukturen Was sind Kontrollstrukturen Kontrollstrukturen erlauben es, ein Programm nicht nur Zeile für Zeile auszuführen,

Mehr

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

Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3 Programmieren mit Java Modul 3 Arrays Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Eindimensionale Arrays 3 2.1 Arrays deklarieren.............................. 3 2.2 Arrays erzeugen................................

Mehr

Primitive Datentypen, Eingaben, Kontrollstrukturen und Methodendeklaration

Primitive Datentypen, Eingaben, Kontrollstrukturen und Methodendeklaration Primitive Datentypen, Eingaben, Kontrollstrukturen und Methodendeklaration CoMa-Übung III TU Berlin 30.10.2013 Primitive Datentypen, Eingaben, Kontrollstrukturen und Methodendeklaration 30.10.2013 1 /

Mehr

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.3. Anweisungen und Kontrollsttukturen - 1 - 3. Anweisungen und Kontrollstrukturen

Mehr

Objektorientierte Programmierung und Modellierung

Objektorientierte Programmierung und Modellierung Objektorientierte Programmierung und Modellierung Einführung, Teil 2 24.10.17 - WS17/18 Hakan Aksu 1 Raumänderung beachten Dienstag 14:15-15:45 Uhr in M001 (anstatt K101) 2 Ausfalltermine 31.10 Vorlesung

Mehr

4.4 Imperative Algorithmen Prozeduren

4.4 Imperative Algorithmen Prozeduren 4.4.2 Prozeduren Der Wert eines Ausdrucks u in Zustand z Z lässt sich damit auch leicht definieren (jetzt W Z statt W σ ) Dazu erweitern wir die rekursive Definition von Folie 57 (Wert eines Ausdrucks):

Mehr