Strukturierung von Programmen. Strukturierung von Programmen. Parameterlose Methoden. Blöcke

Größe: px
Ab Seite anzeigen:

Download "Strukturierung von Programmen. Strukturierung von Programmen. Parameterlose Methoden. Blöcke"

Transkript

1 Strukturierung von Programmen Programme sind im Allgemeinen viel zu groß um in einem einzigen Stück geschrieben zu Damit mehrere Programmierer gleichzeitig an einem Programm arbeiten können ist die Zerlegung eines Programms notwendig Zerlegung in kleinere Anweisungsfolgen, die logisch zusammengehören und Teilaufgaben erledigen Aufteilung in logische Einheiten erleichtert die Programm-Entwicklung und Wartung Einzelne Anweisungsfolgen erhalten Namen und können dann beliebig oft unter diesem Namen (evtl. sogar in anderen Programmen) verwendet Strukturierung von Programmen Ein gutes Programm teilt ein Problem in die richtigen Teile (Teilprobleme) auf Richtige Aufteilung erfordert Erfahrung Es gibt kein Kochrezept dafür!!! Java bietet verschiedene Möglichkeiten um ein Programm in kleinere Teile aufzuteilen Blöcke Klassen Methoden Pakete Im Folgenden wir Blöcke und Methoden näher betrachten Pakete und Klassen später (Programmieren 2) FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke 2 Blöcke Parameterlose Methoden Eine Folge von Anweisungen kann zu einem Block zusammengefasst Dazu die Anweisungen in geschweiften Klammern eingeschlossen Alle Anweisungen eines Blocks zusammen gelten als eine Anweisung Ein Block kann Variablendeklararationen enthalten Variablen die in einem Block deklariert wurden sind nur innerhalb gültig und sichtbar (Lokale) Variablen dürfen sich nicht gegenseitig verdecken Schon existierende Variablen dürfen nicht neu deklariert // Variablen in Bloecken int n = 10; int x = 1, y = 2; if(x<y) int n =20; int m = x; x = y; y = m; m = 3; // O.K. //leerer Block // Fehler Dublicate local variable n // Fehler m cannot be resolved int m=10; System.out.println(m); Einfachste Form einer Methode (Funktion) Ein Block der mehrfach verwendet soll Ein Block (Anweisungsfolge) erhält einen Namen Er wird als Methode deklariert Anschließend kann er beliebig oft unter seinem Namen aufgerufen Aufruf des Namens anstatt Copy and Paste Logische Einheiten bekommen einen Namen Der Block (die Methode) kann einen Ergebnis-Wert liefern static void printinfo() String i = Kalender.\n ; i += Berechnet zu einem Datum ; i += den Wochentag. ; System.out.println(i); static int eingabe() String s = ""; try s = new java.io.bufferedreader( new java.io.inputstreamreader( System.in)).readLine(); catch (java.io.ioexception e) return java.lang.integer.parseint(s); printinfo(); int i= eingabe(); FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke 4

2 Deklaration einer Methode Namenskonvention für Methoden Deklaration einer Methode besteht aus Methoden-Kopf (header) Methoden-Rumpf (body) Kopf (header) Name der Methode und aller vorhandenen Parameter Schlüsselwort bestimmen Eigenschaften der Methode void besagt, dass die Methode keinen Wert zurückliefert static gibt an, dass die Methode statisch aufgerufen wird Rumpf (body) Block mit Deklarationen und Anweisungen Methoden-Kopf static void printinfo() String i = Kalender.\n ; i += Berechnet zu einem Datum ; i += den Wochentag. ; System.out.println(i); Methoden-Rumpf Methoden können beliebige Namen haben Gleiche Einschränkungen wie bei Variablen-Namen Empfehlungen Der Name einer Methode sollte ausdrücken, was die Methode macht Methodenname sollte mit einem Verb beginnen Methodenname sollten klein geschrieben Besteht ein Methodenname aus mehreren Worten, sollten die Folgeworte mit einem Großbuchstaben anfangen Besser als static int X(); static int Eingabe(); static int funktionzureingabe(); static int inputinteger() String s = ""; try s = new java.io.bufferedreader( new java.io.inputstreamreader( System.in)).readLine(); catch (java.io.ioexception e) return java.lang.integer.parseint(s); FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke 6 Einbinden von Methoden Methoden mit Parametern Methoden-Deklaration An beliebiger Stelle Innerhalb des Blocks class Ausserhalb der Methode main() Ein Programm kann beliebig viele Methoden haben Methoden können in anderen Methoden aufgerufen Aufgerufene Methoden können wiederum Methoden aufrufen, usw. static void m1() m2(); class Program printname(); // calls method printname(); // calls again static void printname() static void m2() m3(); String name = Anna ; System.out.println(name); static void m3() Parameter sind Werte die an eine Methode übergeben Parameter wie Variablendeklarationen zwischen die Parameterklammern des Methodenkopfes geschrieben Typendeklaration analog zu den Variablendeklarationen Parameterdeklarationen mittels Kommata getrennt (nicht mittels Semikolon) static void printmin(int x, int y) if(x<y) else printmin hat die beiden Parameter x und y Der Parameter x hat den Typ int y hat den Typ int FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke 8

3 Schnittstelle (Methodenkopf) Formale Parametern Der Methodenkopf mit der Parameterliste definiert die Schnittstelle der Methode Bestimmt, wie die Methode benutzt wird Der Methodenkopf bestimmt, wieviele Parameter der Methode mitgegeben müssen von welchem Typ die Parameter sein müssen Durch Verwendung von Parametern kann ein und derselbe Programmcode einer Methode in verschiedenem Kontext benutzt class Program static void printmin(int x, int y) if(x<y) else Der Parameter x bekommt Wert 47 y bekommt Wert 11 printmin(47,11); int n=inputinteger(); printmin(17,4*n); Der Parameter x bekommt Wert 17 y bekommt Wert 4*n Werden bei Deklaration einer Methode angegeben Werden wie Variablen behandelt Sind also benannte Speicherzellen Sind lokal zur Methode, in der sie deklariert sind Sind nur in dieser Methode bekannt Können gleichen Namen haben wie außerhalb der Methode deklarierte Variablen Zugehörige Speicherstelle existiert nur solange die Methode ausgeführt wird Formale Parameter static void printmin( int x, int y ) if(x<y) else FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke 10 Aktuelle Parametern Übergabe von Parametern Werden beim Aufruf der Methode übergeben Können beliebige Ausdrücke sein nicht nur einfache Variablen, sondern auch Arithmetische Ausdrücke Boolesche Ausdrücke Beim Aufruf einer Methode erfolgt die Übergabe der aktuellen an die formalen Parameter Von links nach rechts die Ausdrücke der aktuellen Parameter berechnet Die Werte der Ausdrücke den formalen Parametern zugewiesen Formale Parameter static void printmin( int x, int y ) if(x<y) else Aktuelle Parameter printmin( 47, 11 ); printmin( 17, 4*n ); Es gelten die gleichen Kompatibilitätsregeln wie bei der Zuweisung Zuweisung erzeugt im formalen Parameter eine Kopie des aktuellen Parameters Ändert eine Methode den Wert des formalen Parameters wird nur die Kopie geändert, nicht aber der aktuelle Parameter Was gibt nebenstehendes Beispiel aus? Innen: (4,3) Aussen: (3,4) printmin( 3.14, 314 ); static void swap(int a, int b) int t = a; a = b; b = t; String result = Innen: ( ; result += a +, + b + ) ; System.out.println(result); int a=3, b=4; swap(a,b); Typ- Fehler!!! String result = Aussen: ( ; result += a +, + b + ) ; System.out.println(result); FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke 12

4 Variable Parameterlisten (Array) Variable Parameterlisten (Varargs) Anzahl der formalen Parameter legt die Anzahl der aktuellen Parameter fest Eine Funktion muss also immer mit der durch die formalen Parameter festgelegten Parameterzahl aufgerufen Eine Funktion, die unterschiedlich viele Parameter haben kann, lässt sich realisieren mit dem Mechanismus des Überladens von Methoden Aufwändig und erlaubt nicht wirklich beliebig viele Parameter mit Hilfe eines Arrays Unschön, da immer explizit ein Array aufgebaut muss ab Java 5.0 mit Hilfe der neuen Varargs-Syntax () class Rechner /* Variable Parameteranzahl mittels Array */ public static int sum(int[] v) int sum = 0; for (int e: v) sum+=e; return sum; /* Beim Aufruf von sum() muss explizit ein int-array aufgebaut. */ int s = sum(new int [] 1,2,3); System.out.print( Summe: ); System.out.println(s); Ab Version 5.0 kennt Java folgende neue Form der Syntax eines formalen Parameters methode(typ variable) Der Complier schreibt obige Zeile um in methode(typ[] variable) Jede Funktion kann nur einen Varags-Parameter enthalten Der Varargs-Parameter muss der letzte Parameter in der Liste der formalen Parameter sein class Rechner /* Variable Parameteranzahl mittels Varargs */ public static int sum(int v) int sum = 0; for (int e: v) sum+=e; return sum; // Natuerlicher Aufruf von sum() int s = sum(1,2,3); System.out.print( Summe: ); System.out.println(s); FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke 14 Mehrere Methoden mit gleichem Namen Alle in einem Block deklarierten Variablen-Namen müssen verschieden sein Zwei verschiedene Methoden dürfen den gleichen Namen haben, wenn sich ihre Parameterlisten unterscheiden Unterschiedliche Anzahl von Parametern Gleiche Anzahl von Parametern, aber unterschiedliche Typen Kombination aus 1. und 2. Methoden mit gleichem Namen können sich also unterschiedlich Verhalten Methoden-Namen sollten immer den Zweck der Methode ausdrücken Mehrere Ausgabemethoden mit dem Namen print static void print(int i) FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke 15 System.out.println( int: +i); static void print(float i) System.out.println( float: +i); static void print(int i, int w) System.out.println( int: +i); System.out.println( int: +w); Überladen von Methoden Ein Methoden-Name ist also mit mehreren Bedeutungen belegt Beim Aufruf der Methode wird die Methode gewählt, die zur aktuellen Parameterliste passt Wenn notwendig und möglich, implizite Typcasts Man sagt Der Methoden-Name ist überladen Die Methode ist überladen Methoden mit unterschiedlichen Parameterlisten, dürfen verschiedene Rückgabewerte haben Methoden mit gleichem Namen und Parametern dürfen keine unterschiedlichen Rückgabetypen haben Beispiele: print(3.14f); // calls print(float f) Ausgabe: float: 3.14 print(47); // calls print(int i) Ausgabe: int: 47 Beim Aufruf von print mit einer Variablen vom Typ short würde print(int i) gewählt (impliziter Typcast) static int print(int i) Nicht zulässig, da sich die Parameterliste nicht von static void print(int i) unterscheidet FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke 16

5 Prozeduren und Funktionen Funktionen Methoden, die keinen Wert zurückliefern nennt man auch Prozeduren static void printmin(int x, int y) if(x<y) else Methoden, die einen Wert zurückliefern nennt man auch Funktionen static int min(int x, int y) if(x<y) return x; // Rueckgabewert nicht klammern. else return y; Bei Funktionen muss man den Typ des Ergebniswertes vor den Methodennamen schreiben Beispiele: Eine Funktion muss immer mit einer return-anweisung beendet Funktionen kommen oft als Operanden in einem Ausdruck vor void // Prozedur, kein Ergebnistyp boolean, int, // Funktion int res = 10+min(6,1); System.out.println( 10+min(6,1): +res); static int min(int x, int y, int z) return (int) Math.min(Math.min(x,y,),z); System.out.println( In min ); /* Nicht erreichbarer Code Compiler meldet Fehler!*/ FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke 17 Eigenständiger Aufruf einer Funktion verwirft das Ergebnis min(6,1); // correct but no result Funktionen können nur einen einzigen Ergebniswert zurückliefern FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke 18 Funktionen (Beispiel) Prozeduren mit return beenden Schreiben Sie eine Funktion, die den größten gemeinsamen Teiler (ggt) zweier ganzer Zahlen zurückgibt Ein Programm, das mit ihrer Funktion den ggt von 21 und 56 ausgibt class Program static int ggt(int x, int y) int r; do r = x%y; x = y; y = r; while (y!=0); return x; public static void main(string[] args) int x = 21, y=56; System.out.print( ggt( +x+, +y+ )= +ggt(x,y)); Prozeduren liefern keinen Wert zurück Prozeduren können mittels return beendet Prozedur wird dann vorzeitig beendet Da Prozeduren keinen Wert zurückgeben, muss return ohne Rückgabewert geschrieben /* check wether a number ist prime or not */ static void printifprime(int n) // not prime if(n>2 && n%2==0) return; for(int i=3; i*i<=n; i+=2) // not prime if(n%i==0) return; String res = n + is prime ; System.out.println(res); FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke 20

6 Prozeduren (übersichtlich) beenden Prozeduren durch Funktionen ersetzen Prozeduren können (fast) immer so geschrieben, dass sie kein return benötigen Dies ist meist übersichtlicher /* check wether a number is prime or not (without return)*/ static void printifprime(int n) if(n<2 n%2!=0) // foor loop with empty body for(i=3; i*i<n && n%i!=0; i+=2); Die meisten Prozeduren lassen sich sinnvoll durch Funktionen ersetzen und sind dadurch universeller einsetzbar Beispiel static boolean isprime(int n) if(n>2 && n%2==0) return false; for(int i=3; i*i<=n, i+=2) if(n%i==0) return false; if(i*i>n) String res = n+ is prime. System.out.println(res); Aufruf return true; if(isprime(n)) System.out.println(n+ is prime ); FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke 22 Einlesen von Daten im Programmfluss Kommandozeilenparameter Ein Java Programm kann von jeder Shell aus gestartet Die Endung java nicht mit angeben java ProgrammName Der Aufruf des Programms bewirkt, dass die Anweisungen der Methode main ausgeführt Wie können Programme Daten verarbeiten, die nicht direkt im Programmcode stehen? Es gibt zwei Möglichkeiten, Daten zu verarbeiten, die nicht direkt im Programmcode stehen 1. Daten mit Hilfe von Methoden eingelesen Zum Eingabe() import java.util.scanner; public class EingabeBeispiel int zahl=1, sum=0, max; max = inteingabe(); // read data while(zahl<=max) sum += zahl; zahl++; System.out.println("Sum: "+sum); static int inteingabe() Scanner input = new Scanner(System.in); System.out.print( Bitte geben Sie eine ); System.out.print( Integerzahl ein: ); return input.nextint(); 2. Daten beim Aufruf des Programms übergeben > java Summe 10 Wie kann in dem Programm auf die übergebenen Parameter zugegriffen? Nicht mit Hilfe von Eingabe() oder ähnlichem Die Übergabe der Kommandozeilenparameter erfolgt automatisch an die Methode public static void main(string[] args) Der Parameter args der Methode main ist ein Feld von Strings, in das alle Komandozeilenparameter eingetragen FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke 24

7 Die Methode main Falsche Anzahl an Kommadozeilenparameter Die Parameter (Argumente) in einem String-Array gespeichert Alle Parameter sind vom Typ String Einzelne Parameter durch Leerzeichen getrennt Soll ein Parameter Leerzeichen enthalten, so muss er in doppelte Hochkommata gesetzt Die Eingabe: java Example "Java is" 2 easy erzeugt die Ausgabe: // Command line Paramters class Example for(int i=0; i<a.length; ++i) System.out.print( a[ +i+ ] ); System.out.print( = +a[i]); System.out.println(); Aufruf: java StringEingabe Prog.1 WS08/09 Ausgabe: Prog.1 WS08/09 hat 14 Zeichen Problem Benutzer gibt keinen Parameter an java StringEingabe Ausgabe (Beispiel): Exception in thread "main java.lang.arrayindexoutofboundsexception 0 at StringEingabe.main(StringEingabe.java:9) // Check number of parameters public class StringEingabe int l = a[0].length(); System.out.print(a[0]+ hat ); System.out.println(l+ Zeichen ); // Eingabe! java StringEingabe Prog.1 WS08/09 // Ausgabe! Prog.1 WS08/09 hat 14 Zeichen a[0] = "Java is a[1] = "2 a[2] = "easy" Lösung Im Programm prüfen, ob Parameter vorhanden sind // Eingabe! java StringEingabe Prog.1 WS08/09 // Ausgabe! Prog.1 hat 6 Zeichen FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke 26 Umwandlung von Strings Problem: Falsche Typen Alle beim Programmaufruf übergebenen Werte sind vom Typ String Manche Programme erwarten aber int, float, Lösung Umwandeln in gewünschte Datentypen mittels Integer.parseInt() Short.parseShort() Long.parseLong() public class Frac public static void main(string[] args) float z = Float.parseFloat(args[0]); float n = Float.parseFloat(args[1]); System.out.print(z+"/"+n+ = "); System.out.println(z/n); Problem: Es Argumente angegeben, die sich nicht in den benötigten Datentyp umwandeln lassen public class Frac public static void main(string[] args) float z = Float.parseFloat(args[0]); float n = Float.parseFloat(args[1]); System.out.print(z+"/"+n+" = "); System.out.println(z/n); Aufruf: java Frac abc def Ausgabe: Exception in thread "main" java.lang.numberformatexception: For input string: "abc at java.lang.numberformatexception.forinputstring(numberformatexception.java:48) at java.lang.floatingdecimal.readjavaformatstring(floatingdecimal.java:1213) at java.lang.float.parsefloat(float.java:204) at arguments.main(arguments.java:17) Lösung: Exception abfangen (später) FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke FH-Wiesbaden --- Medieninformatik --- WS 08/ Prof. Dr. Ulrich Schwanecke 28

Methoden und Wrapperklassen

Methoden und Wrapperklassen Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 6. Methoden

Grundlagen der Programmierung Prof. H. Mössenböck. 6. Methoden Grundlagen der Programmierung Prof. H. Mössenböck 6. Methoden Parameterlose Methoden Beispiel: Ausgabe einer Überschrift class Sample { static void printheader() { // Methodenkopf Out.println("Artikelliste");

Mehr

Themen der Übung. Methoden und Wrapperklassen. Vorteile von Methoden. Methoden. Grundlagen

Themen der Übung. Methoden und Wrapperklassen. Vorteile von Methoden. Methoden. Grundlagen Themen der Übung 1 Organisatorisches Methoden und Wrapperklassen 2 Methoden 3 Wrapper-Klassen CoMa-Übung IV TU Berlin 07.11.2012 Organisatorisches: Im Pool nur auf die Abgabeliste setzen, wenn ihr wirklich

Mehr

Java Einführung Methoden. Kapitel 6

Java Einführung Methoden. Kapitel 6 Java Einführung Methoden Kapitel 6 Inhalt Deklaration und Aufruf von Methoden Lokale und globale Namen (Bezeichner) Sichtbarkeit und Lebensdauer von Variablen in Methoden Überladen von Methoden 2 Methoden

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

2. Unterprogramme und Methoden

2. Unterprogramme und Methoden 2. Unterprogramme und Methoden Durch Methoden wird ausführbarer Code unter einem Namen zusammengefasst. Dieser Code kann unter Verwendung von sogenannten Parametern formuliert sein, denen später beim Aufruf

Mehr

5. Java Arrays und Strings

5. Java Arrays und Strings Arrays Arrayvariable deklarieren: int[] z; z 5. Java Arrays und Strings Array erzeugen: z = new int[5]; Allokation, Referenzen, Elementzugriff, Mehrdimensionale Arrays, Strings, Stringvergleiche z ist

Mehr

Programmiertechnik Klassenmethoden

Programmiertechnik Klassenmethoden Programmiertechnik Klassenmethoden Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Motivation Programm zur Berechung von public class Eval1 { public static void main(string[] args) { java.util.scanner

Mehr

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

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Klassenmethoden Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Klassenmethoden Motivation Programm zur Berechnung von public class Eval1 { public static void main(string[] args) { java.util.scanner

Mehr

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon

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

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

Tag 5. Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme)

Tag 5. Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Tag 5 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Methoden Deklaration

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

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

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 26 Einstieg in die Informatik mit Java Methoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Methoden 2 Methodendefinition 3 Parameterübergabe, Methodenaufruf

Mehr

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

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

Mehr

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

7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter});

7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter}); S. d. I.: Programieren in C Folie 7-1 7 Funktionen 7.1 Definition Prototyp-Syntax: Speicherklasse Typ Name (formale Parameter); der Funktions-Prototyp deklariert eine Funktion, d.h. er enthält noch nicht

Mehr

2 Eine einfache Programmiersprache

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

Mehr

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

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

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

System.out.println("TEXT");

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

Mehr

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

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

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

II. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. )

II. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. ) Technische Informatik für Ingenieure (TIfI) WS 2006/2007, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Rekursion Datenstrukturen Merge S ( split, s, merge ) Beispiel:

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

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue

Mehr

Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften

Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften Programmiertechnik Teil 4 C++ Funktionen: Prototypen Overloading Parameter C++ Funktionen: Eigenschaften Funktionen (Unterprogramme, Prozeduren) fassen Folgen von Anweisungen zusammen, die immer wieder

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

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 2012/2013, SS 2013 Programmieren I + II Regeln der Code-Formatierung Die hier vorgestellten

Mehr

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

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

Mehr

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

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

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

Ausgabe:

Ausgabe: Aufgabe 2.10: Schreiben Sie ein Programm, das zunächst die Quadratzahlen zu den Zahlen 1-10 mit Hilfe einer While- Schleife und danach die Quadratzahlen zu den Zahlen 3, 6, 9,.., 30 mit Hilfe einer For-Schleife

Mehr

Programmieren I. Fehlerbehandlung Exceptions. Heusch 2. Bd, 3 Ratz 10. Institut für Angewandte Informatik

Programmieren I. Fehlerbehandlung Exceptions. Heusch 2. Bd, 3 Ratz 10.  Institut für Angewandte Informatik Programmieren I Fehlerbehandlung Exceptions Heusch 2. Bd, 3 Ratz 10 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Exceptions und ihre Behandlung Exception - Ausnahmebedingung

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

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

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

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester

Mehr

1 Klassen anlegen und Objekte erzeugen

1 Klassen anlegen und Objekte erzeugen Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a

Mehr

Beuth Hochschule Parameter-Übergabe-Mechanismen WS17/18, S. 1

Beuth Hochschule Parameter-Übergabe-Mechanismen WS17/18, S. 1 Beuth Hochschule Parameter-Übergabe-Mechanismen WS17/18, S. 1 Parameter-Übergabe-Mechanismen in Java und in anderen Sprachen. 1. Methoden vereinbaren mit Parametern Wenn man (z.b. in Java) eine Methode

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden

Mehr

pue13 January 28, 2017

pue13 January 28, 2017 pue13 January 28, 2017 1 Aufgabe 1 (Klammern und Anweisungsblöcke) Wie Sie in der Vorlesung gelernt haben, werden Anweisungsblöcke in Java nicht durch Einrückung, sondern mithilfe von geschweiften Klammern

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

Tag 4 Repetitorium Informatik (Java)

Tag 4 Repetitorium Informatik (Java) Tag 4 Repetitorium Informatik (Java) Dozent: Patrick Kreutzer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2016/2017 Willkommen zum Informatik-Repetitorium!

Mehr

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung Wiederholung Wozu? Schreiben Benutzen Rekursion?! Javakurs 2012, 3. Vorlesung maggyrz@freitagsrunde.org 5. März 2013 Wiederholung Wozu? Schreiben Benutzen Rekursion?! 1 Wiederholung 2 Wozu? 3 Schreiben

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

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08

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

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 einfachsten Anweisungen

Die einfachsten Anweisungen 2 Die einfachsten Anweisungen 2-1 Inhalt Die einfachsten Anweisungen Einführung Datentypen Arithmetische Operatoren Mathematische Funktionen Mehrfache Zuweisungen Übungsaufgaben Einführung Wir wollen unser

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches

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

PROGRAMMIERUNG IN JAVA

PROGRAMMIERUNG IN JAVA PROGRAMMIERUNG IN JAVA ZUWEISUNGEN (1) Deklaration nennt man die Ankündigung eines Platzhalters (Variablen) und Initialisierung die erste Wertvergabe bzw. die konkrete Erstellung des Platzhalters. In einem

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

1 Klassen anlegen und Objekte erzeugen

1 Klassen anlegen und Objekte erzeugen Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a

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

Globale Variablen Diverses. Globale Variablen. Globale Variablen

Globale Variablen Diverses. Globale Variablen. Globale Variablen lokale Variablen Variablen bisher nur am Anfang von Funktionen auch erlaubt: am Anfang innerer Codeblöcke (innerhalb geschweifter Klammern) in C99 und als gcc-erweiterung: an beliebiger Stelle innerhalb

Mehr

Die Klasse java.lang.object. Thorsten Treffer

Die Klasse java.lang.object. Thorsten Treffer Die Klasse java.lang.object Thorsten Treffer 6. Dezember 2003 1 java.lang.object Die Klassenhierarchie von Java kann als Baum aufgezeichnet werden, dessen Wurzel die Klasse Object ist. Mit anderen Worten:

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

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

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 7. Funktionen Einleitung Nach dem Prinzip Divide and Conquer bietet es sich an, größere Aufgaben in kleinere Teile zu unterteilen. Anweisungsblöcke,

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

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

Umsetzung einer Klassenkarte in einer Programmiersprache

Umsetzung einer Klassenkarte in einer Programmiersprache Klassen in Java Umsetzung einer Klassenkarte in einer Programmiersprache Objektorientierte Programme bestehen (nur) aus Klassendefinitionen In Klassendefinitionen wird die Struktur der Objekte festgelegt,

Mehr

Arbeitsblatt zu Methoden

Arbeitsblatt zu Methoden Arbeitsblatt zu Methoden In den vorhergehenden Programmen haben wir bereits jede Menge Methoden benutzt: 1. kara.move(), kara.turnright(), kara.putleaf() Dies sind alles Methoden, die etwas ausführen,

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

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

Folienpaket 7 Themenschwerpunkte: Methoden in OOP /2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4

Folienpaket 7 Themenschwerpunkte: Methoden in OOP /2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4 Folienpaket 7 Themenschwerpunkte: Methoden in OOP 284 09/2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4 Eine Klasse entwerfen Eine Klasse enthält folgende Information: Name der Klasse (ist auch der

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

Klassenvariablen, Klassenmethoden

Klassenvariablen, Klassenmethoden Einstieg in die Informatik mit Java, Vorlesung vom 11.12.07 Übersicht 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden 3 Aufruf einer Klassenmethode 4 Hauptprogrammparameter 5 Rekursion Klassenmethoden

Mehr

Eine JAVA Einführung ... Quellcode:... COMA Übung 3. T.Bosse. A.Griewank. Vorschau JAVA Programme Sprachen Kate

Eine JAVA Einführung ... Quellcode:... COMA Übung 3. T.Bosse. A.Griewank. Vorschau JAVA Programme Sprachen Kate COMA Eine Einführung Quellcode: Anweisung(en)1 Wiederhole: T.Bosse Anweisung(en) 2 Einfache Schleifen (z.b. for-loop) Wiederhole: Falls (Bedingung) wahr, tue: Anweisung(en) 2 sonst führe Verzweigungen

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

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

II.1.1. Erste Schritte - 1 -

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

Mehr

Wie entwerfe ich ein Programm?

Wie entwerfe ich ein Programm? Wie entwerfe ich ein Programm? Welche Objekte brauche ich? Flussdiagramme für Programmablauf Vorcode Testcode Hauptcode Wir spielen Lotto! Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 5 +

Mehr

7. Übung Informatik II - Objektorientierte Programmierung

7. Übung Informatik II - Objektorientierte Programmierung 7. Übung Informatik II - Objektorientierte Programmierung 29. Mai 2015 Inhalt 1 2 3 Übersicht 1 2 3 Idee Menschen nehmen die Welt in Form von Objekten wahr manche Objekte haben gleiche Eigenschaften, hierüber

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung Einführung in die strukturierte Programmierung Teil 5 Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile

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

Übungsblatt 2. Java Vorkurs (WS 2017)

Übungsblatt 2. Java Vorkurs (WS 2017) Übungsblatt 2 Java Vorkurs (WS 2017) Aufgabe 1 Logische Operatoren Manchmal ist es wichtig zwei Werte miteinander zu vergleichen. Dazu gibt es in Java folgende Vergleichsoperatoren: Text Math. Zeichen

Mehr

Test-Klausuraufgaben Softwaretechnik Fachbereich BW, für WINFO

Test-Klausuraufgaben Softwaretechnik Fachbereich BW, für WINFO Test-Klausuraufgaben Softwaretechnik Fachbereich BW, für WINFO Dipl.-Ing. Klaus Knopper 21.12.2006 Hinweis: Bitte schreiben Sie auf das Deckblatt und auf jede Seite Ihren Namen und Ihre Matrikelnummer,

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Speicherverwaltung und Parameterübergabe Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Gültigkeitsbereich von

Mehr

Kapitel 3. Programmierkurs. Arten von Anweisungen. 3.1 Was sind Anweisungen?

Kapitel 3. Programmierkurs. Arten von Anweisungen. 3.1 Was sind Anweisungen? Kapitel 3 Programmierkurs Birgit Engels, Anna Schulze ZAIK Universität zu Köln Anweisungen, Variablen Arten von Anweisungen Variablen Konstanten Höchste Zeit für ein Programm Gültigkeitsbereich von Variablen

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Vorlesung 02: Methoden Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2017 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 17 Inhalt Scanner

Mehr

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH 1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH Die Umgebungsvariable CLASSPATH kann im Hamster-Simulator sowohl für Compiler als auch für die Ausführung des Hamster-Programms gesetzt werden: Hierdurch

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

Kapitel 10. Programmierkurs. Grundlagen von Exceptions Behandlung von Exceptions

Kapitel 10. Programmierkurs. Grundlagen von Exceptions Behandlung von Exceptions Kapitel 10 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Exceptions Behandlung von Exceptions Verschiedene Exceptions Mehrere catch-anweisungen Der finally-block WS

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung Einführung in die strukturierte Programmierung Teil 5 Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind ausgewählte

Mehr

JAVA - Methoden,... T.Bosse

JAVA - Methoden,... T.Bosse COMA JAVA -,... Anweisungblöcke Manche Blöcke werden mehrfach benötigt. Sauberer Code Java - /... //gabe double x=3.0; // Vorschrift double y=math.pow(x,); System.out.println("Ergebnis:"+y); //Rückgabe

Mehr

5. Übung - Kanalkodierung/Programmierung

5. Übung - Kanalkodierung/Programmierung 5. Übung - Kanalkodierung/Programmierung Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: Kanalkodierung a Folgende Kodes stehen Ihnen zur Verfügung: Kode 1: 0000000 Kode

Mehr

Heap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen

Heap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen Heap vs. vs. statisch Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen

Mehr

Der Datentyp String. Stringvariable und -vergleiche

Der Datentyp String. Stringvariable und -vergleiche Informatik 12 mit Java: Gierhardt Zeichenketten bzw. Strings Der Datentyp String Zeichenketten bzw. Strings sind eine häufig benutzte Datenstruktur. Man könnte auch mit Arrays aus Zeichen arbeiten. Da

Mehr

Institut für Informatik

Institut für Informatik Technische Universität München Institut für Informatik Lehrstuhl für Computer Graphik & Visualisierung WS 2010 Praktikum: Grundlagen der Programmierung Aufgabenblatt 4 Prof. R. Westermann, A. Lehmann,

Mehr

Variablen. int Flugzeug. float. I write code Hund. String. long. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel

Variablen. int Flugzeug. float. I write code Hund. String. long. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 4213 Variablen 17.834 float Flugzeug 36812736294 I write code Hund long String Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 3 + 4 1 Variablen sind wie Becher. Sie speichern etwas. // Variablen

Mehr