Einführung in die Programmierung. 2.1 Methoden. Thomas R. Gross. Department Informatik ETH Zürich

Größe: px
Ab Seite anzeigen:

Download "Einführung in die Programmierung. 2.1 Methoden. Thomas R. Gross. Department Informatik ETH Zürich"

Transkript

1 Einführung in die Programmierung 2.1 Methoden Thomas R. Gross Department Informatik ETH Zürich

2 Uebersicht 2.0 Einfache Java Programme 2.1 Methoden Struktur 2.2 Typen und Variable Einfache (eingebaute) Typen Deklaration von Variablen 2

3 Zusammenfassung public class name { } public static void main(string[] args) { } statement; statement;... statement; class: ein Programm mit Namen method: Gruppe von Anweisungen mit Namen main statement: Anweisung die ausgeführt werden soll 3

4 Jedes (ausführbare) Java Programm besteht aus einer Klasse (class) die eine Methode main enthält, die eine Reihe von Anweisungen enthält Später arbeiten wir mit Programmen mit mehreren Klassen 4

5 println(), println( Hello ) Gross/Kleinschreibung wird unterschiedlich behandelt public class HelloWorld { } public static void main(string[] args) { } System.out.println("Hello World!"); System.out.println(); System.out.println("Hello World!"); Output: Hello World! Hello World! 5

6 Namen und Bezeichner Jedes Programm braucht einen Namen public class HelloWorld { Konvention: fängt mit Grossbuchstaben an Konvention: Grossbuchstaben zur verbesserten Lesbarkeit Regel: Dateiname gleich Programmname HelloWorld.java Gross/Kleinbuchstaben sind (in Java) unterschiedlich 6

7 Bezeichner: Name fürein Programmelement Muss mit einem Buchstaben (gross oder klein) anfangen oder mit _ (Unterstrich, underscore ) oder mit $ (Dollarzeichen) danachziffern oder obige Zeichen Konvention: Methodenname Kleinbuchstaben 7

8 Reservierte Symbole keyword: Ein Bezeichner ( identifier ) der reserviert ist (weil er für die Sprache eine besondere Bedeutung hat) abstract default if private this boolean do implements protected throw break double import public throws byte else instanceof return transient case extends int short try catch final interface static void char finally long strictfp volatile class float native super while const for new switch continue goto package synchronized 8

9 Kommentare Kommentare ( comments ) sind Notizen im Programmtext, die einem Leser beim Verstehen des Programmes helfen (sollen) Leser: kann auch der Author sein Kommentare werden nicht ausgeführt, haben keinen Einfluss auf Programm 2 Varianten // Text bis zum Ende der Zeile /* Text bis zum naechsten */ 9

10 Wo sollten Kommentare stehen Anfang des Programms Zweck Algorithmus Author Anfang jeder Methode Darüber spätermehr Für Code der nicht sofort verständlich ist Kommentare wichtig für grosse Projekte, Programme mit mehreren Authoren, Programme die sich oft ändern 10

11 Beispiel /* * Author: Ein Student; Herbst 2017, Uebung 1 * Entwurf uebernommen von einer Assistentin */ public class HelloWorld { public static void main(string[] args) { System.out.println("Hello World!"); } // end main } // end HelloWorld 11

12 Strings String: eine Folge von Zeichen ( characters ) eingeschlossen in und hello Hello 3+2 Einschränkungen: Nur eine Zeile lang Das ist kein Java String Darf nicht enthalten ( So etwas geht nicht ) 12

13 Sonderzeichen Und was machen wir wenn wir ein ausgeben wollen? Es gibt sogenannte Ersatzdarstellungen ( escape sequences ) mit denen ein Sonderzeichen ausgedrückt werden kann Fangen alle mit \ (Rückwärtsschrägstrich) ( backslash ) an \t Tab character \n Neue Zeile (new line character) \" Quotation mark (double quote) character \\ Backslash character 13

14 Beispiele Beispiel: System.out.println( \\Hallo\nWie\tgeht es \ Ihnen\?\\\\"); Output: \Hallo Wie geht es Ihnen"?\\ 15

15 Fragen Was drucken diese println Statements? System.out.println("\ta\tb\tc"); System.out.println("\\\\"); System.out.println("'"); System.out.println("\"\"\""); System.out.println("C:\neuer Spor\t Wagen"); Welches println Statement druckt diesen String? / \ // \\ /// \\\ 16

16 Antwort Output jedes println Statements : a b c \\ ' """ C: euer Spor Wagen 17

17 Antwort println Statement um die gewünschte Zeile Output zu erzeugen : System.out.println("/ \\ // \\\\ /// \\\\\\"); 18

18 2.1 Methoden Beispiel: main im Program HelloWorld 19

19 Methoden Methode: Sequenz von Anweisungen mit einem Namen (dem der Methode) Methoden strukturieren die Anweisungen Anstatt alle Anweisungen in einer Methode (main) unterzubringen Methoden erlauben es, Wiederholungen zu vermeiden Eine (neue) Methode stellt eine neue Anweisung zur Verfügung 22

20 static methods static methods: Methode mit weiteren Eigenschaften main ist eine static method (Keyword static vor Name) main wird automatisch aufgerufen Wir erklärengleich wie andere Methoden aufgerufenwerden 23

21 (Zu) Einfaches Beispiel public class PrintExample1 { public static void main(string[] args) { System.out.println("\n \n"); System.out.println("Warnung: sichern Sie die Daten\n"); System.out.println("\n \n"); System.out.println("Lange Erklaerung"); System.out.println("\n \n"); System.out.println("Warnung: sichern Sie die Daten\n"); System.out.println("\n \n"); } // main } 24

22 Output Warnung: sichern Sie die Daten Lange Erklaerung Warnung: sichern Sie die Daten

23 Wie entstehen Methoden? Entwickeln des Algorithmus Lösung des Problems Aufteilung in Teil-Probleme Deklaration des Algorithmus (aufschreiben, codieren) Ausführen (aufrufen, call, invoke ) der Methode(n) class method main n statement n statement n statement method one n statement n statement method two n statement n statement n statement 26

24 Wie entstehen Methoden? Entwickeln des Algorithmus Lösung des Problems Aufteilung in Teil-Probleme Deklaration des Algorithmus (aufschreiben, codieren) Ausführen (aufrufen, call, invoke ) der Methode(n) class method main n one n statement n two method two n statement n statement method three n statement n statement n statement 28

25 (Zu) Einfaches Beispiel public class PrintExample2 { public static void main(string[] args) { warning(); System.out.println("Lange Erklaerung"); warning(); } // main } public static void warning() { System.out.println("\n \n"); System.out.println("Warnung: sichern Sie die Daten\n"); System.out.println("\n \n"); } 29

26 Aufruf einer Methode Syntax: name(); Mehrfaches Aufrufen ist zulässig methodinvocation bezeichner ( ) ; Beispiel: printwarning(); printwarning(); 30

27 Aufruf einer Methode Wenn die Anweisung (für die Methode name) name(); // naechste Anweisung stmt ausgeführt wird, dann wird die Methode name aufgerufen ("invoked", "called") Damit beginnt die Ausführung der Methode name. Es gibt auch andere Wege, eine Ausführung zu starten, aber diese interessieren uns (noch) nicht. Wenn name fertig ist, geht es mit stmt weiter 31

28 Ausführung einer Methode Methode name wird aufgerufen 1. Anweisung ausgeführt Gibtesweitere Anweisungen? Nein: Ende der Ausführung von name Ja: Nächste Anweisungausgeführt Wir bezeichnen die Abfolge der Ausführung von Anweisungen als Kontrolfluss ( control flow ) geradliniger Kontrollfluss: die ausgeführten Anweisungen folgen im Programm aufeinander In Java: Anweisungsreihefolge ist explizit 32

29 Kontrollfluss bei Methodenaufruf Wenn eine Methode aufgerufen wird, dann springt die Ausführung zur Methode und führt die Anweisungen der Methode aus und danach springt" die Ausführung wieder zu dem Ort zurück von dem der Aufruf erfolgte Und es geht weiter mit der nächsten Anweisung Anordnung der Methoden im Programm(text) ohne Bedeutung

30 Methoden die Methoden aufrufen public class MethodsExample { public static void main(string[] args) { message1(); message2(); System.out.println("Ende von \"main\" "); } // main public static void message1() { System.out.println("Nachricht 1: Fertig"); } // message1 } public static void message2() { System.out.println("Die 2. Nachricht:"); message1(); System.out.println("Ende von Nachricht 2"); } // message2

31 Methoden die Methoden aufrufen public class MethodsExample { public static void main(string[] args) { message1(); message2(); System.out.println("Ende von \"main\" "); } // main public static void message1() { System.out.println("Nachricht 1: Fertig"); } // message1 } public static void message2() { System.out.println("Die 2. Nachricht:"); message1(); System.out.println("Ende von Nachricht 2"); } // message2

32 Methoden die Methoden aufrufen public class MethodsExample { public static void main(string[] args) { message1(); message2(); System.out.println("Ende von \"main\" "); } // main public static void message1() { System.out.println("Nachricht 1: Fertig"); } // message1 } public static void message2() { System.out.println("Die 2. Nachricht:"); message1(); System.out.println("Ende von Nachricht 2"); } // message2

33 Methoden die Methoden aufrufen public class MethodsExample { public static void main(string[] args) { message1(); message2(); System.out.println("Ende von \"main\" "); } // main public static void message1() { System.out.println("Nachricht 1: Fertig"); } // message1 } public static void message2() { System.out.println("Die 2. Nachricht:"); message1(); System.out.println("Ende von Nachricht 2"); } // message2

34 Methoden die Methoden aufrufen public class MethodsExample { public static void main(string[] args) { message1(); message2(); System.out.println("Ende von \"main\" "); } // main public static void message1() { System.out.println("Nachricht 1: Fertig"); } // message1 } public static void message2() { System.out.println("Die 2. Nachricht:"); message1(); System.out.println("Ende von Nachricht 2"); } // message2

35 Methoden die Methoden aufrufen Hier geht es weiter public class MethodsExample { public static void main(string[] args) { } message1(); message2(); System.out.println("Ende von \"main\" "); } // main public static void message1() { System.out.println("Nachricht 1: Fertig"); } // message1 public static void message2() { System.out.println("Die 2. Nachricht:"); message1(); System.out.println("Ende von Nachricht 2"); } // message2

36 Methoden die Methoden aufrufen public class MethodsExample { public static void main(string[] args) { message1(); message2(); System.out.println("Ende von \"main\" "); } // main public static void message1() { System.out.println("Nachricht 1: Fertig"); } // message1 } public static void message2() { System.out.println("Die 2. Nachricht:"); message1(); System.out.println("Ende von Nachricht 2"); } // message2

37 Methoden die Methoden aufrufen public class MethodsExample { public static void main(string[] args) { message1(); message2(); System.out.println("Ende von \"main\" "); } // main public static void message1() { System.out.println("Nachricht 1: Fertig"); } // message1 } public static void message2() { System.out.println("Die 2. Nachricht:"); message1(); System.out.println("Ende von Nachricht 2"); } // message2

38 Methoden die Methoden aufrufen public class MethodsExample { public static void main(string[] args) { message1(); message2(); System.out.println("Ende von \"main\" "); } // main public static void message1() { System.out.println("Nachricht 1: Fertig"); } // message1 } public static void message2() { System.out.println("Die 2. Nachricht:"); message1(); System.out.println("Ende von Nachricht 2"); } // message2

39 Methoden die Methoden aufrufen public class MethodsExample { public static void main(string[] args) { message1(); message2(); System.out.println("Ende von \"main\" "); } // main public static void message1() { System.out.println("Nachricht 1: Fertig"); } // message1 } public static void message2() { System.out.println("Die 2. Nachricht:"); message1(); System.out.println("Ende von Nachricht 2"); } // message2

40 Methoden die Methoden aufrufen public class MethodsExample { public static void main(string[] args) { message1(); message2(); System.out.println("Ende von \"main\" "); } // main public static void message1() { System.out.println("Nachricht 1: Fertig"); } // message1 } public static void message2() { System.out.println("Die 2. Nachricht:"); message1(); System.out.println("Ende von Nachricht 2"); } // message2

41 Methoden die Methoden aufrufen public class MethodsExample { public static void main(string[] args) { message1(); message2(); System.out.println("Ende von \"main\" "); } // main public static void message1() { System.out.println("Nachricht 1: Fertig"); } // message1 } public static void message2() { System.out.println("Die 2. Nachricht:"); message1(); System.out.println("Ende von Nachricht 2"); } // message2

42 Methoden die Methoden aufrufen public class MethodsExample { public static void main(string[] args) { message1(); message2(); System.out.println("Ende von \"main\" "); } // main public static void message1() { System.out.println("Nachricht 1: Fertig"); } // message1 Hier geht es weiter } public static void message2() { System.out.println("Die 2. Nachricht:"); message1(); System.out.println("Ende von Nachricht 2"); } // message2

43 Methoden die Methoden aufrufen public class MethodsExample { public static void main(string[] args) { message1(); message2(); System.out.println("Ende von \"main\" "); } // main public static void message1() { System.out.println("Nachricht 1: Fertig"); } // message1 } public static void message2() { System.out.println("Die 2. Nachricht:"); message1(); System.out.println("Ende von Nachricht 2"); } // message2

44 Methoden die Methoden aufrufen Hier geht es weiter public class MethodsExample { public static void main(string[] args) { message1(); } message2(); System.out.println("Ende von \"main\" "); } // main public static void message1() { System.out.println("Nachricht 1: Fertig"); } // message1 public static void message2() { System.out.println("Die 2. Nachricht:"); message1(); System.out.println("Ende von Nachricht 2"); } // message2

45 Methoden die Methoden aufrufen public class MethodsExample { public static void main(string[] args) { message1(); message2(); System.out.println("Ende von \"main\" "); } // main public static void message1() { System.out.println("Nachricht 1: Fertig"); } // message1 } public static void message2() { System.out.println("Die 2. Nachricht:"); message1(); System.out.println("Ende von Nachricht 2"); } // message2

46 Output Nachricht 1: Fertig Die 2. Nachricht: Nachricht 1: Fertig Ende von Nachricht 2 Ende von "main" 50

47 public class MethodsExample { Kontrollfluss } public static void main(string[] args) { }... message1(); message2(); public static void message1() { System.out.println("Nachricht 1: Fertig"); } public static void message2() { System.out.println(" Die 2. Nachricht:"); message1(); System.out.println("Ende von Nachricht 2"); } System.out.println("Done with main."); public static void message1() { System.out.println("Nachricht 1: Fertig"); }

48 Einfaches Beispiel (Wir verwenden jetzt println weil es einfach ist. Spätere Java Programme benutzen eine andere Schnittstelle für Benutzer) 52

49 Beispiel mit static methods Schreiben Sie ein Programm um diese Figuren zu drucken / \ / \ \ / \ / \ / \ / / \ / \ STOP \ / \ / / \ / \

50 Entwicklungsschritte / \ / \ \ / \ / \ / \ / / \ / \ STOP \ / \ / / \ / \ Version 1: (ohne Ausnutzen der Struktur) n n n Erstellen Sie ein Programm mit leerer main Methode. Kopieren Sie den erwünschten Output in main und schreiben für jede Zeile eine entsprechende System.out.println Anweisung. Führen Sie die Methode aus um den Output mit der gewünschten Figur zu vergleichen

51 Program Version 1 public class Figures1 { public static void main(string[] args) { System.out.println(" "); System.out.println(" / \\"); System.out.println("/ \\"); System.out.println("\\ /"); System.out.println(" \\ /"); System.out.println(); System.out.println("\\ /"); System.out.println(" \\ /"); System.out.println(" "); System.out.println(); System.out.println(" "); System.out.println(" / \\"); System.out.println("/ \\"); System.out.println(" STOP "); System.out.println("\\ /"); System.out.println(" \\ /"); System.out.println(); System.out.println(" "); System.out.println(" / \\"); System.out.println("/ \\"); System.out.println(" "); } // main } // Figures1

52 Entwicklungsschritte / \ / \ \ / \ / \ / \ / / \ / \ STOP \ / \ / Version 2: (mit Ausnutzen der Struktur, mit Redundanz) n n n Identifizieren Sie (eventuell vorhandene) Strukture(n). Unterteilen Sie die main Methode basierend auf Ihrer Strukturierung. Führen Sie die Methode aus um den Output mit der gewünschten Figur zu vergleichen / \ / \

53 Struktur des Output / \ / \ \ / \ / \ / \ / / \ / \ STOP \ / \ / / \ / \ Strukturen in dieser Figur n n n n oben: Sechseck (Hexagon) (oder Ball ) darunter: Wanne (oder Suppentasse ) drittens STOP Schild" Figur viertens Trapez" (oder Hut Figur ) Struktur à Methoden : n hexagon n wanne n stopsign n hut

54 Program Version 2 public class Figures2 { public static void main(string[] args) { hexagon(); wanne(); stopsign(); hut(); } //main...

55 Program Version 2, Fortsetzung... public static void hexagon() { System.out.println(" "); System.out.println(" / \\"); System.out.println("/ \\"); System.out.println("\\ /"); System.out.println(" \\ /"); System.out.println(); } public static void wanne() { System.out.println("\\ /"); System.out.println(" \\ /"); System.out.println(" "); System.out.println(); }...

56 Program Version 2, Fortsetzung... public static void stopsign() { System.out.println(" "); System.out.println(" / \\"); System.out.println("/ \\"); System.out.println(" STOP "); System.out.println("\\ /"); System.out.println(" \\ /"); System.out.println(); } public static void hut() { System.out.println(" "); System.out.println(" / \\"); System.out.println("/ \\"); System.out.println(" "); } } //Figures2

57 Entwicklungsschritte / \ / \ \ / \ / \ / \ / / \ / \ STOP \ / \ / Version 3 (mit Ausnutzen der Struktur, ohne Redundanz) n n n Identifizieren Sie (eventuell vorhandene) Strukture(n) und Redundanz Erstellen Sie Methoden um (soweit möglich) Redundanz zu vermeiden Kommentieren Sie den Code / \ / \ n Führen Sie die Methode aus 61

58 Redundanz im Output / \ / \ \ / \ / \ / \ / / \ / \ STOP \ / \ / / \ / \ n n n n Hexagon oberer Teil: im Stop Schild und Hut wiederverwendet Hexagon unterer Teil: in Wanne und Stop Schild Trennlinie: in Wanne und Hut Diese Redundanz kann durch diese Methoden ausgenutzt (d.h. eliminiert) werden: n n n hexagontop hexagonbottom line 62

59 Program Version 3 // Ihr Name, , Herbst 2020 // Prints several figures, with methods for structure and redundancy. public class Figures3 { public static void main(string[] args) { hexagon(); wanne(); stopsign(); hut(); } // Draws the top half of an an hexagon. public static void hexagontop() { System.out.println(" "); System.out.println(" / \\"); System.out.println("/ \\"); }...

60 Program Version 3, Fortsetzung... // Draws the bottom half of an hexagon. public static void hexagonbottom() { System.out.println("\\ /"); System.out.println(" \\ /"); } // Draws a complete hexagon. public static void hexagon() { hexagontop(); hexagonbottom(); System.out.println(); }...

61 Program Version 3, Fortsetzung... // Draws a tub ( Wanne ) figure. public static void wanne() { hexagonbottom(); line(); System.out.println(); } // Draws a stop sign figure. public static void stopsign() { hexagontop(); System.out.println(" STOP "); hexagonbottom(); System.out.println(); }

62 Program Version 3, Fortsetzung... // Draws a figure that looks sort of like a hat ( Hut ). public static void hut() { hexagontop(); line(); } // Draws a line of dashes. public static void line() { System.out.println(" "); } } //Figures3

63 Typen und Variable 67

64 Typen Typen ( types ) beschreiben Eigenschaften von Daten Ein Typ beschreibt eine Menge (oder Kategorie) von Daten Werten. Bestimmt (beschränkt) die Operationen, die mit diesen Daten gemacht werden können Viele Programmiersprachen erfordern die Angabe (Spezifikation) von Typen Typen Beispiele: ganze Zahlen, reelle Zahlen, Strings Typen sind Teil der Dokumentation (was verarbeitet diese Methode?)

65 Typen Die Programmiersprache legt fest, wie ein Typ implementiert ist Die interne Darstellung eines Types beruht auf Kombinationen von 1s und 0s 104 à "hi" à

66 Typen Die Programmiersprache legt fest, wie ein Typ implementiert ist Die interne Darstellung eines Types beruht auf Kombinationen von 1s und 0s 104 à "hi" à ASCII Tabelle h i

67 Wer definiert Typen? Verlangen alle Programmiersprachen die Spezifikation von Typen? Nein. (Mit manchmal überraschenden Folgen) Java verlangt die Spezifikation. Welche Typen kann ein Java Programm verwenden? Typen die in der Sprache definiert sind: eingebaute Typen ( primitive types, integrierte Typen) Beispiel: ganze Zahlen Typen aus Bibliotheken, die immer verfügbar sind (z.b. Strings) Benutzer-definierte Typen 71

68 Eingebaute Typen in Java Integrierte Typen ( primitive types ): 8 einfache Typen für Zahlen, Text, etc. Name Beschreibung Beispiele int ganze Zahlen 42, -3, 0, double reelle Zahlen 3.1, -0.25, 9.4e3 char (einzelne) Buchstaben 'a', 'X', '?', '\n' boolean Logische Werte true, false

69 Warum Typen Programme manipulieren Symbole Beispiel EBNF: Symbole aus Zeichen aus einer Menge ( Alphabet ) Legal oder nicht Programme übersetzen Sprachen, spielen Schach, berechnen die Steuerschuld Symbole werden verknüpft, verglichen, geändert, gelesen,. Typen verhindern Fehler Kann nicht die AHV Nummer zum Gehalt addieren Kann nicht Volumen und Fläche addieren 73

70 Ausdrücke ( Expressions ) Ausdruck ( expression ): Ein Wert oder eine Operation die einen Wert berechnet Beispiele: * 5 (7 + 2) * 6 / 3 42 Der einfachste Ausdruck ist ein Literal ( literal value ). Komplexe Ausdrücke können Operatoren und Klammern enthalten

71 Arithmetische Operatoren Operator: Verknüpft mehrere Werte oder Ausdrücke. + Addition - Subtraktion (oder Negation) * Multiplikation / Division % Modulus (Rest) Während der Ausführung eines Programms werden seine Ausdrücke ausgewertet ( evaluated ) ergibt 2 System.out.println(3 * 4); ergibt (druckt) 12 Wie würden wir den Text 3 * 4 drucken?

72 int Division mit / Wenn wir ganze Zahlen dividieren ist der Quotient auch wieder eine ganze Zahl. 14 / 4 ergibt 3, nicht ) ) )

73 int Division mit / Weitere Beispiele: 32 / 5 ergibt 6 84 / 10 ergibt / 100 ergibt 1-4 / 3 ergibt / 9 ergibt -11 Division durch 0 führt zu einem Fehler während der Ausführung des Programmes

74 int Rest mit % Der % Operator liefert den Rest der Division ganzer Zahlen 14 % 4 is % 5 is ) 14 5 )

75 int Rest mit % Einsatz des % Operators: Finde letzte Ziffer einer ganzen Zahl : % 10 is 7 Finde letzte 4 Ziffern: % is 6489 Entscheide ob Zahl gerade ist: 7 % 2 ergibt 1, 42 % 2 ergibt 0

76 82

77 Rang Ordnung Rang Ordnung ( precedence ): Reihenfolge in der Operatoren ausgewertet ( evaluiert ) werden. Normalerweise werden Operatoren von links nach rechts ausgewertet ist (1-2) - 3 ergibt -4 Aber * / % haben eine höhere Precedence (einen höheren Rang) als * 4 ergibt / 2 * * ergibt 18

78 Rang Ordnung Rang Ordnung ( precedence ): Reihenfolge in der Operatoren ausgewertet ( evaluiert ) werden. Klammern bestimmen die Reihenfolge der Auswertung: (1 + 3) * 4 ergibt 16 Leerzeichen (oder Kommentare) haben keinen Einfluss auf die Reihenfolge der Auswertung 1+3 * 4-2 ergibt 11

79 Precedence Beispiele 1 * * 5 % 4 \_/ * 5 % 4 \_/ % 4 \ / \ / 5 n % 3 * 2-9 n \_/ * 2-9 n \ / n \ / 5-9 n \ / -4

80 Precedence Beispiele Welche Werte ergeben die Auswertung dieser Ausdrücke? 9 / % * 5 7 * % 100 / 5 6 * 3-9 / 4 (5-7) * (18 % (17-12))

81 Reelle Zahlen (Typ double) Beispiele: 6.022, -42.0, 2.143e17 Hinzufügen von.0 oder. an eine ganze Zahl macht diese zu double. Die Operatoren + - * / % () sind auch für double definiert. / berechnet ein genaues Resultat: 15.0 / 2.0 is 7.5 Rang Ordnung (der Auswertung) ist die selbe: () vor * / % vor + -

82 Beispiel mit reellen Zahlen 2.0 * * 4.0 / 2.0 \ / * 4.0 / 2.0 \ / / 2.0 \ / \ / 9.3

83 Kombinationen von Typen Wenn int und double kombiniert werden dann ist das Ergebnis double. 4.2 * 3 ergibt 12.6 Auch dann wenn das Result als int darstellbar wäre 4.5 * 2 ergibt 9.0 Umwandlung ( conversion ) von einem Typ in einen anderen Wird für jeden Operator separat gemacht und beeinflusst nur dessen Operanden Automatisch (werden später sehen wie wir Umwandlungen erzwingen können)

84 Ausdrücke mit verschiedenen Typen Umwandlung geschieht für jeden Operator separat 7 / 3 * / 2 \_/ 2 * / 2 \ / / 2 \_/ \ / / 2 ergibt 1 nicht / 3 * / 4 \ / * / 4 \ / / 4 \_/ \ / \ / 8.5

85 92

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

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

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

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

Java-Schulung Grundlagen Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings

Mehr

5 Grundlagen der Java-Syntax

5 Grundlagen der Java-Syntax 5 Grundlagen der Java-Syntax Es sollen nun einige Grundregeln besprechen, die in jeder Java-Programmdatei berücksichtigt werden müssen. 5.1 Grundsätzliches zur Syntax von Java Programmen Zunächst sollten

Mehr

Java für Anfänger Teil 2: Java-Syntax. Programmierkurs Manfred Jackel

Java für Anfänger Teil 2: Java-Syntax. Programmierkurs Manfred Jackel Java für Anfänger Teil 2: Java-Syntax Programmierkurs 11.-15.10.2010 Manfred Jackel 1 Syntax für die Sprache Java public class Welcome { } Schlüsselworte Reservierte Worte Keywords Wortsymbol Syntax: griech.

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

Java für Anfänger Teil 2: Java-Syntax. Programmierkurs Manfred Jackel

Java für Anfänger Teil 2: Java-Syntax. Programmierkurs Manfred Jackel Java für Anfänger Teil 2: Java-Syntax Programmierkurs 06.-10.10.2008 Manfred Jackel 1 Syntax für die Sprache Java public class Welcome { } Schlüsselworte Reservierte Worte Keywords Wortsymbol Syntax: griech.

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

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

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

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

Programmierung. Grundlagen. Tina Wegener, Ralph Steyer. 2. Ausgabe, 1. Aktualisierung, April 2014 Programmierung Tina Wegener, Ralph Steyer 2. Ausgabe, 1. Aktualisierung, April 2014 Grundlagen PG 6 Programmierung - Grundlagen 6 Grundlegende Sprachelemente In diesem Kapitel erfahren Sie was Syntax und

Mehr

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

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

Elementare Konzepte von

Elementare Konzepte von Elementare Konzepte von Programmiersprachen Teil 1: Bezeichner, Elementare Datentypen, Variablen, Referenzen, Zuweisungen, Ausdrücke Kapitel 6.3 bis 6.7 in Küchlin/Weber: Einführung in die Informatik Bezeichner

Mehr

Programmieren I + II Regeln der Code-Formatierung

Programmieren I + II Regeln der Code-Formatierung Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme WS 2016/2017, SS 2017 Programmieren I + II Regeln der Code-Formatierung In diesem Dokument finden

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

Einführung in die Programmierung mit BlueJ

Einführung in die Programmierung mit BlueJ Einführung in die Programmierung mit BlueJ Thema 1 Grundlagen der Programmierung mit BlueJ Dr. Henry Herper Otto-von-Guericke-Universität Magdeburg - WS 2013/14 Java 1991-92 Java (1995) Anwendungsgebiet:

Mehr

2.5 Primitive Datentypen

2.5 Primitive Datentypen 2.5 Primitive Datentypen Wir unterscheiden 5 primitive Datentypen: ganze Zahlen -2, -1, -0, -1, -2,... reelle Zahlen 0.3, 0.3333..., π, 2.7 10 4 Zeichen a, b, c,... Zeichenreihen "Hello World", "TIFI",

Mehr

JAVA - Methoden

JAVA - Methoden Übungen Informatik I JAVA - http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 sind eine Zusammenfassung von Deklarationen und Anweisungen haben einen Namen und können

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

Übungen Informatik I. JAVA - Einführung. elga Gabler, Holger Vogelsang, Christian Pape. Übungen Informatik 1 Folie 1

Übungen Informatik I. JAVA - Einführung. elga Gabler, Holger Vogelsang, Christian Pape. Übungen Informatik 1 Folie 1 Übungen Informatik I JAVA - Einführung Übungen Informatik 1 Folie 1 Warum Java? Java ist derzeit die Programmiersprache für das Internet. Java ist ein Programmierkonzept der Zukunft. Objekt-orientierte

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

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

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

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

1. Der Einstieg in Java

1. Der Einstieg in Java 1. Der Einstieg in Java Lernziele: Am Ende dieses Kapitels wirst Du wissen, aus welchen Bestandteilen ein Java-Programm besteht, Java-Programme ü bersetzen und ausfü hren kö nnen, Mö glichkeiten der Kommentierung

Mehr

3. Grundlegende Sprachkonstruktionen imperativer Programme

3. Grundlegende Sprachkonstruktionen imperativer Programme 3. Grundlegende Sprachkonstruktionen imperativer Programme Java-Beispiele: Temperature.java Keyboard.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 4. Nov. 2015 2 Schwerpunkte

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

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Einführung in den Einsatz von Objekt-Orientierung mit C++ I Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen

Mehr

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

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue Java - Zahlen, Wahrheitswerte und Zeichen Leibniz Universität IT Services Anja Aue Kommentare Hilfe für den Entwickler. Wer hat wann welche Änderung vorgenommen? Warum werden diese Anweisungen hier ausgeführt?

Mehr

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

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

Programmierkurs. Manfred Jackel

Programmierkurs. Manfred Jackel Java für Anfänger Teil 7: Methoden Programmierkurs 06.-10.10.2008 Manfred Jackel 1 Methoden In der imperativen Programmierung sind Funktionen ein wichtiges Mittel zur Modularisierung. [Oft benötigter]

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

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

Musterlösungen zur Klausur Informatik 3

Musterlösungen zur Klausur Informatik 3 Musterlösungen zur Klausur Informatik 3 Justus-Liebig-Universität Gießen Wintersemester 2003/2004 Aufgabe 1 (6 Punkte) Man kreuze bei den folgenden Deklarationen und Definitionen jeweils an, ob sie aus

Mehr

Einführung in die Programmierung 1

Einführung in die Programmierung 1 Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener

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

2 Imperative Sprachkonzepte

2 Imperative Sprachkonzepte 2 Imperative Sprachkonzepte Dieses Kapitel beschreibt die imperativen Sprachkonzepte von Java. Insbesondere werden einfache Datentypen, Variablen, Operatoren und Anweisungen zur Ablaufsteuerung (so genannte

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

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 4 Einführung in die Programmiersprache Java (Teil II)... 4-2 4.4 Strukturierte Programmierung... 4-2 4.4.1 Strukturierung im Kleinen... 4-2 4.4.2 Addierer (do-schleife)... 4-3 4.4.3 Ein- Mal- Eins

Mehr

Einführung in die Programmierung mit Java

Einführung in die Programmierung mit Java Einführung in die Programmierung mit Java Martin Wirsing 2 Ziele Geschichte der OO-Programmiersprachen Warum Java als Programmiersprache verwenden? Ein einfaches Java-Programm erstellen, übersetzen und

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

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens Grundlagen von C Jonas Gresens Proseminar C Grundlagen und Konzepte Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität

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

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

Objektorientierte Programmierung

Objektorientierte Programmierung Stefan Brass: OOP (Java), 15. Überladene Methoden 1/22 Objektorientierte Programmierung Kapitel 15: Überladene Methoden Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2013/14 http://www.informatik.uni-halle.de/

Mehr

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean 01.11.05 1 Noch für heute: 01.11.05 3 primitie Datentypen in JAVA Primitie Datentypen Pseudocode Name Speichergröße Wertgrenzen boolean 1 Byte false true char 2 Byte 0 65535 byte 1 Byte 128 127 short 2

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

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

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Einfache Programme: Programm-Argument, Bedingte Anweisungen, Switch, Enum Boolesche Werte und Ausdrücke Seite 1 Beispiel: Umrechnen

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

Ü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

3. Algorithmenentwurf und JAVA. Informatik II für Verkehrsingenieure

3. Algorithmenentwurf und JAVA. Informatik II für Verkehrsingenieure 3. Algorithmenentwurf und JAVA Informatik II für Verkehrsingenieure Schwerpunkt 1 ALGORITHMEN UND UMSETZUNG Aufgabe Algorithmus Programm Eigentliche Entwicklung der Verfahrensidee Codierung Algorithmenentwurf

Mehr

Programmierung WS12/13 Lösung - Übung 1 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder

Programmierung WS12/13 Lösung - Übung 1 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder Prof. aa Dr. J. Giesl Programmierung WS12/13 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder Tutoraufgabe 1 (Syntax und Semantik): 1. Was ist Syntax? Was ist Semantik? Erläutern Sie den Unterschied. 2.

Mehr

Die Programmiersprache C Eine Einführung

Die Programmiersprache C Eine Einführung Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert

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

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

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine

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

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

Übersicht. Vorstellung des OO-Paradigmas

Übersicht. Vorstellung des OO-Paradigmas Java, OO und UML Vorstellung des OO-Paradigmas Übersicht Umsetzung des OO-Paradigmas in Java Einführung (seeeeeehr rudimenter) in UML zur graphischen Darstellung von OO Grammatik und Semantik von Java

Mehr

6. Iteration (Schleifenanweisungen)

6. Iteration (Schleifenanweisungen) 6. Iteration (Schleifenanweisungen) Java-Beispiel: TemperatureTable.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 9. Nov. 2015 2 Schwerpunkte While-Anweisung: "abweisende"

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 Einführung ABLAUFSTEUERUNG Kapitel 3 und 4

Java Einführung ABLAUFSTEUERUNG Kapitel 3 und 4 Java Einführung ABLAUFSTEUERUNG Kapitel 3 und 4 Inhalt dieser Einheit Merkmale und Syntax der verschiedenen Kontrollstrukturen: if else switch while do while for break, continue EXKURS: Rekursion 2 Kontrollstrukturen

Mehr

JAVA - Methoden - Rekursion

JAVA - Methoden - Rekursion Übungen Informatik I JAVA - Methoden - Rekursion http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 1 Methoden Methoden sind eine Zusammenfassung von Deklarationen und Anweisungen

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

Python Programmieren. Variablen, Ausdrücke und Anweisungen

Python Programmieren. Variablen, Ausdrücke und Anweisungen Python Programmieren Funktionen Module und Namensräume Datentypen in Python Was noch zu sagen bleibt... richard rascher-friesenhausen Programmierung SS 12 Daten: Wert und Typ Variablen Variablennamen und

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Dateien lesen und schreiben 2 Übersicht der heutigen Inhalte File Streams try-with-resources Properties csv-dateien 3 Klasse File Die Klasse java.io.file bietet Unterstützung im Umgang

Mehr

Smalltalk vs. Java c Chris Burkert 2002. Smalltalk versus Java

Smalltalk vs. Java c Chris Burkert 2002. Smalltalk versus Java Smalltalk versus Java Gliederung Einführung Geschichte sprachliche Aspekte technische Aspekte theoretische Aspekte praktische Aspekte Fazit Einführung - Merkmale Objektorientierung Einführung - Merkmale

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1 Kapitel 11 Fehler und Ausnahmen Fehler und Ausnahmen 1 Ziele Fehlerquellen in Programmen und bei der Programmausführung verstehen Das Java-Konzept der Ausnahmen als Objekte kennenlernen Ausnahmen auslösen

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

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

AKTUEL ZU JAVA 8 PROGRAMMIEREN IN JAVA. 7. Auflage. Im Internet: Alle Beispielprogramme und Lösungen

AKTUEL ZU JAVA 8 PROGRAMMIEREN IN JAVA. 7. Auflage. Im Internet: Alle Beispielprogramme und Lösungen L AKTUEL ZU fritz JOBST JAVA 8 PROGRAMMIEREN IN JAVA 7. Auflage Im Internet: Alle Beispielprogramme und Lösungen 4 1 Der Einstieg in Java keinem Fall zulässig. Die Schreibweisen Hello.java für den Namen

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

Java Cheatsheet. Mehrzeiliger Kommentar (beginnt mit /* und endet mit */)

Java Cheatsheet. Mehrzeiliger Kommentar (beginnt mit /* und endet mit */) Good code is its own best documentation. (Steve McConnell) Java Cheatsheet Java Grundlagen Aufbau einer Klasse Name der Klasse public class MeineKlasse { Textdatei MeineKlasse.java (muss dem Namen der

Mehr

3 Die Programmiersprache Java

3 Die Programmiersprache Java 3 Die Programmiersprache Java Im letzten Kapitel haben wir die theoretischen Grundlagen der Programmierung diskutiert. Jetzt werden wir mit Java eine konkrete Programmiersprache kennen lernen. Die Sprache

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Objektorientierte Programmierung OOP Programmieren mit Java

Objektorientierte Programmierung OOP Programmieren mit Java Übungen: 6 Schleifen Objektorientierte Programmierung OOP Programmieren mit Java 1. do-schleife 2. while-schleife 3. a) c) Verschiedene for-schleifen 6 Schleifen Übungen 4. for-schleife: halber Tannenbaum

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

AuD-Tafelübung T-B5b

AuD-Tafelübung T-B5b 6. Übung Sichtbarkeiten, Rekursion, Javadoc Di, 29.11.2011 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit 3 Stack und Heap Stack Heap 4 Blatt 6 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit

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

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

Prinzipielle Ausführungsvarianten I

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

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

Primitive Datentypen und Felder (Arrays)

Primitive Datentypen und Felder (Arrays) Primitive Datentypen und Felder (rrays) Primitive Datentypen Java stellt (genau wie Haskell) primitive Datentypen für Boolesche Werte, Zeichen, ganze Zahlen und Gleitkommazahlen zur Verfügung. Der wichtigste

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 4 Anweisungen... 4-2 4.1 Strukturierte Programmierung... 4-2 4.1.1 Geschichte... 4-2 4.1.2 Strukturierung im Kleinen... 4-2 4.2 Einige Beispielanwendungen... 4-4 4.2.1 Addierer (do-schleife)...

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

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

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

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

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

Anwendungsentwicklung mit Java. Grundlagen der OOP, Variablen, Klassen und Objekte, Methoden

Anwendungsentwicklung mit Java. Grundlagen der OOP, Variablen, Klassen und Objekte, Methoden Anwendungsentwicklung mit Java Grundlagen der OOP, Variablen, Klassen und Objekte, Methoden Erste Schritte 2 Programmaufruf Ausgabe 3 Aufbau eines Java Programms (1) Paketdeklaration Klassendeklaration

Mehr

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen 1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.2 Methoden, Unterprogramme und Parameter - 1 - 2. Methoden

Mehr

Delegatesund Ereignisse

Delegatesund Ereignisse Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses

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

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

Programmierkurs Java

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

Mehr