Objektorientierte Programmierung OOP Programmieren mit Java

Größe: px
Ab Seite anzeigen:

Download "Objektorientierte Programmierung OOP Programmieren mit Java"

Transkript

1 Objektorientierte Programmierung OOP Programmieren mit Java Anweisungen Verzweigungen aufgrund von Bedingungen Wiederholungen mit Schleifen Blöcke, Funktionen, Objekte 7.2 Wiederholung der Grundelemente und Syntax in Java Grundkonzept von Java Sprachelemente, Datentypen und Variablen Operatoren Datenfelder Zeichenketten main-methode und Parameterübergabe Bedingungen und Schleifen Sechsstellige Zufallszahl Quadratwurzel nach Heron Prof. Dr. Rolf Dornberger OOP: Wiederholung der grundlegenden Programmstrukturen Anweisungen Verzweigungen aufgrund von Bedingungen Wiederholungen mit Schleifen Blöcke, Funktionen, Objekte 7.2 Wiederholung der Grundelemente und Syntax in Java 7.1 Wiederholung der grundlegenden Programmstrukturen Setzt man Algorithmen in eine computerverständliche Form um, so tauchen drei (bzw. vier) grundlegende Programmstrukturen unabhängig von einer Programmiersprache immer wieder auf. Dies sind: Anweisungen Verzweigungen bzw. Alternativen aufgrund von Bedingungen Wiederholungen mit Schleifen (Aufruf anderer Algorithmen bzw. Blöcke mit Programmstrukturen) Fasst man mehrere einzelne solche Programmstrukturen zusammen, so ergibt sich eine weitere grundlegende Programmstruktur, die je nach Programmiersprache respektive Programmiertyp umschrieben wird als: Block (Modul, Funktion, Unterroutine, Klasse, Objekt oder wie auch immer) Prof. Dr. Rolf Dornberger OOP: Prof. Dr. Rolf Dornberger OOP:

2 7.1.1 Anweisungen Anweisungen In Computerprogrammen werden im Allgemeinen schrittweise die Anweisungen im Quelltext abgearbeitet. Vielleicht lässt sich dies am besten mit einem Brettspiel vergleichen. Allerdings würfelt der Computer nicht, sondern geht Feld für Feld vor. gewinnen im Lotto und kassieren Franken haben sich das Bein verstaucht, einmal aussetzen kaufen ein neues Auto für Franken. Das Software-Engineering kennt dafür verschiedene Darstellungsmöglichkeiten: z.b. Struktogramm oder Flussdiagramm gewinnen im Lotto und kassieren Franken haben sich das Bein verstaucht, einmal aussetzen kaufen ein neues Auto für Franken. schliessen eine Feuerversicherung für 1000 Franken ab. schliessen eine Feuerversicherung für 1000 Franken ab. Prof. Dr. Rolf Dornberger OOP: Prof. Dr. Rolf Dornberger OOP: wahr Bedingung falsch wahr Bedingung falsch Verzweigungen aufgrund von Bedingungen Verzweigungen aufgrund von Bedingungen In Computerprogrammen werden Verzweigungen bzw. Alternativen mit Bedingungen bzw. Entscheidungen bewirkt. An Verzweigungen können zwei oder mehrere Alternativen weitergehen. schliessen eine Feuerversicherung für 1000 Franken ab. stehen an einer Weggabelung. Würfeln 1, 3 oder 5, geht es nach links, ansonsten nach rechts weiter. kaufen einen Fernseher für 500 Sfr. überweisen 2000 Sfr. von Konto A auf Konto B. wahr Dies lässt sich z.b. auch mit einem z.b. Struktogramm oder Flussdiagramm verdeutlichen. Bedingung Entscheidung Anweisung 5 falsch true Bedingung Entscheidung Anweisung 5 false schliessen eine Feuerversicherung für 1000 Franken ab. stehen an einer Weggabelung. Würfeln 1, 3 oder 5, geht es nach links, ansonsten nach rechts weiter. kaufen einen Fernseher für 500 Sfr. überweisen 2000 Sfr. von Konto A auf Konto B. Prof. Dr. Rolf Dornberger OOP: Prof. Dr. Rolf Dornberger OOP:

3 Schleife Schleife Wiederholungen mit Schleifen In Computerprogrammen werden Wiederholungen mit Schleifen bewirkt. Schleifen können mit einer fest vorgegebenen Anzahl an Durchläufen erfolgen oder solange, bis eine bestimmte Bedingung erfüllt ist. Durchlaufen nebenstehende Schleife solange, bis insgesamt Sfr. besitzen. gewinnen 3000 Sfr. Jemand Anweisung 5 überweist Anweisung Ihnen Sfr. kaufen ein neues Auto für Franken Wiederholungen mit Schleifen Dies lässt sich z.b. auch mit einem z.b. Struktogramm oder Flussdiagramm verdeutlichen. Schleife Durchlaufen nebenstehende Schleife solange, bis insgesamt Sfr. besitzen. gewinnen 3000 Sfr. Jemand Anweisung 5 überweist Anweisung Ihnen Sfr. kaufen ein neues Auto für Franken. Prof. Dr. Rolf Dornberger OOP: Prof. Dr. Rolf Dornberger OOP: Blöcke, Funktionen, Objekte Blöcke, Funktionen, Objekte In Computerprogrammen werden gewisse Programmteile, die immer wieder vorkommen, in Blöcke (Module, Funktionen, Unterroutinen, Klassen, Objekte oder wie auch immer genannt) gepackt. In Computerprogrammen werden gewisse Programmteile, die immer wieder vorkommen, in Blöcke (Module, Funktionen, Unterroutinen, Klassen, Objekte oder wie auch immer genannt) gepackt. Diese Blöcke stehen nur über spezielle Schnittstellen mit der Umgebung in Kontakt. Aufruf des Blocks XY Prof. Dr. Rolf Dornberger OOP: Prof. Dr. Rolf Dornberger OOP:

4 7.2 Wiederholung der Grundelemente und Syntax in Java 7.2 Wiederholung der Grundelemente und Syntax in Java Grundkonzept von Java Sprachelemente, Datentypen und Variablen Operatoren Datenfelder Zeichenketten main-methode und Parameterübergabe Bedingungen und Schleifen Prof. Dr. Rolf Dornberger OOP: Grundkonzept von Java Java läuft plattformunabhängig und architekturneutral auf verschiedensten Systemen und über verteilte Systeme hinweg. Java ist vollständig objektorientiert, sicher sowie stabil und unterstützt Multithreading. Java wird von Sun ständig weiterentwickelt und in verschiedenen Versionen als JDK bzw. SDK (Java bzw. Software Development Kit) als Freeware (unter Umständen auch als Open-Source) gratis zur Verfügung gestellt (für Linux, Windows, Solaris...). Der Java-Quelltext (gespeichert als Javafile.java) wird mittels des Java- Compilers javac in Java-Bytecode übersetzt. Der Bytecode wird auf jedem Computer, auf dem eine Java Virtual Machine läuft, mittels des Java-Interpreters java zur Laufzeit interpretiert. Weitere Java-Entwicklungswerkzeuge (javadoc, jdb,...) und IDEs (Integrated Development Environment) und CASE-Tools (Computer-aided Software Engineering) unterstützen die Entwicklung von Java-Programmen. Prof. Dr. Rolf Dornberger OOP: Sprachelemente, Datentypen und Variablen Java verwendet den Unicode-Zeichensatz und kann somit Umlaute und zusätzliche Buchstaben anderer Alphabete darstellen und verwenden (solange vom Editor unterstützt). Außerdem unterscheidet Java Groß- und Kleinschreibung. Java ist keine zeilengebundene Programmiersprache, d.h. es darf eine beliebige Zeilenformatierung im Programmtext stehen (solange Zeilenumbrüche und Leerzeichen zulässig platziert sind). Java kennt die Kommentare /* und */, das Zeilenkommentar // und das javadoc-kommentar /** und */. Java kennt die primitiven Datentypen byte, short, int, long, float, double, boolean und char. Zeichen (char) werden in einfachen Anführungszeichen geschrieben '', Zeichenketten (Referenztyp String) in den Anführungszeichen "". Jede Variable muss definiert und einem Typ zugewiesen werden: Typname Variablenname; Zusätzlich kann der Variablen dabei auch ein Wert zugewiesen werden: Typname Variablenname = Wert; Prof. Dr. Rolf Dornberger OOP: Operatoren Es existieren die arithmetischen Operatoren: +, -, *, /, %, ++, -- Es existieren die arithmetischen Zuweisungsoperatoren: =, +=, -=, *=, /=, %= Es existieren die Vergleichsoperatoren: ==,!=, <, <=, >, >= Es existieren die logischen Vergleichsoperatoren:!, &&,, &,, ^ Es existieren die bitweise Operatoren: ~, &,, ^, >>, >>>, <<, &=, =, ^=, >>=, >>>=, <<= Explizite Konvertierung von einem primitiven Datentyp in einen anderen erfolgen mittels des Type- Cast-Operators: (byte), (short), (int), (long), (float), (double) und (char) Für die bedingte Zuweisung gibt es in Java den Fragezeichen-Operator? : also Wert = BoolescherAusdruck? Wert1 : Wert2; Prof. Dr. Rolf Dornberger OOP:

5 7.2.4 Datenfelder Datenfelder sind ein- oder mehrdimensionale Arrays und werden wie folgt definiert: int[][] Matrix; Matrix = new int[intzeile][intspalte]; oder zusammengefasst in einem Ausdruck: int[][] Matrix = new int[intzeile][intspalte]; oder beispielsweise mit direkt vorbelegten Werten: int[][] Matrix = {{1, 2, {3, 4, {5, 6; Der Zugriff auf Array-Elemente erfolgt mittels direkter Indizierung, z.b.: Matrix[2][1] Die Nummerierung der Datenfelder beginnt immer mit 0, also z.b.: Matrix[0][0] Matrix[0][1] Matrix[1][0]... Die Anzahl der Array-Elemente wird mit.length abgefragt: Anzahl Zeilen: Matrix.length Anzahl Spalten in der 1.Zeile: Matrix[0].length Anzahl Spalten in der 2.Zeile: Matrix[1].length... Prof. Dr. Rolf Dornberger OOP: Zeichenketten Zeichenketten werden wie folgt definiert: String a = new String("Hello World"); oder in der Kurzform: String a = "Hello World"; Die Länge einer Zeichenkette wird mit.length() abgefragt: a.length() Zeichenketten werden mit dem Operator + verknüpft, z.b: a = "Hello " + "World"; Prof. Dr. Rolf Dornberger OOP: main-methode und Parameterübergabe Das Grundgerüst eines Java-Programms mit der main-methode als Haupteinstiegspunkt in das Java-Programm sieht wie folgt aus: public class JavaProgramm { public static void main(string[] args) { // hier Programmcode Parameterübergabe beim Aufruf des Java-Programms erfolgt mittels: java JavaProgramm Parameter1 Parameter2... Zugriff auf die einzelnen Parameter (die als Array von String vorliegen) erfolgt mittels: args[0] args[1]... Das File, in dem das Java-Programm gespeichert wird, muss (bzw. sollte) so heißen wie die Klasse und muss auf.java enden: JavaProgramm.java Bedingungen und Schleifen Verzweigungen bzw. Alternativen werden durch Bedingungen bzw. Entscheidungen verursacht. Dafür gibt es in Java die if-, if-else- und switch-anweisung. Wiederholungen werden mit Schleifen bewirkt. Die do-schleife (auch do-while-schleife genannt) führt zunächst einmal die dazugehörige Anweisung aus und prüft dann den dazugehörigen Booleschen Ausdruck. Solange dieser Ausdruck true ist, wird die Anweisung erneut ausgeführt. Die while-schleife prüft zunächst den dazugehörigen Booleschen Ausdruck. Solange dieser Ausdruck true ist, wird die dazugehörige Anweisung ausgeführt. Die for-schleife dient in der Regel dazu, die dazugehörige Anweisung mit einer bestimmten Anzahl an Durchläufen auszuführen. Die for-schleife kann dabei explizit über Zählvariablen oder als foreach-schleife über Datenfelder und Aufzählungsobjekte laufen. In Java gibt es zwei Sprunganweisungen, die es erlauben, die Auswertungsreihenfolge einer laufenden Schleife zu verändern. Die break-anweisung beendet eine Schleife, die continue- Anweisung springt zum nächsten Schleifendurchgang. Durch Angabe eines Labels LabelX: springen die break- und die continue-anweisung direkt zu diesem Label. Prof. Dr. Rolf Dornberger OOP: Prof. Dr. Rolf Dornberger OOP:

6 7.3 Methoden 7.2 Wiederholung der Grundelemente und Syntax in Java 7.3 Methoden Methoden können in Java als eine Art von Funktionen verwendet werden. Mit einem oder mehreren Eingabewerten wird ein Resultat erzeugt und zurück- oder ausgegeben. Mit Methoden (als Teil der Objekte und Klassen) kann in Java in etwa die grundlegende Programmstruktur eines Blocks realisiert werden. Methoden, die bisher auftauchten, sind: (wobei die letzten beiden streng genommen nur Operatoren sind) main(string[] args) System.out.println(Zeichenkette) System.out.print(Zeichenkette) Zeichenkette.length() Datenfeld.length Datenfeld[0].length (Methoden werden später im Zusammenhang mit der Objektorientiertheit von Java noch viel genauer erklärt. Daher hier nur eine kleine Einführung.) Prof. Dr. Rolf Dornberger OOP: Prof. Dr. Rolf Dornberger OOP: Methoden Weitere wichtige Methoden, die von Java bereitgestellt werden, sind beispielsweise: System.exit(0) beendet das Java-Programm. Ganzzahl = Integer.parseInt(Zeichenkette) Gleitzahl = Double.parseDouble(Zeichenkette) konvertieren eine Zeichenkette vom Typ String in eine Ganzzahl vom Typ int bzw. eine Gleitzahl vom Typ double. Zufallszahl = Math.random() erzeugt eine Zufallszahl vom Typ double, die grösser gleich 0.0 und kleiner 1.0 ist. Zeichenkette1.equals(Zeichenkette2) überprüft, ob zwei Zeichenketten identisch sind. Zahl.toString() wandelt eine Zahl in eine Zeichenkette. Math.pow(a,b) und Math.sqrt(c) berechnet die Potenz ab und die Wurzel c. Prof. Dr. Rolf Dornberger OOP: Methoden Um beispielsweise eine double-zahl über die Konsole (Eingabeaufforderung, DOS-Shell) einzulesen, verwendet man in Java mehrere Methoden (neben mehreren Objekten): z.b..parsedouble(),.readline() try { Gleitzahl = Double.parseDouble((new BufferedReader( new InputStreamReader(System.in))).readLine()); catch(exception ex) { System.out.println(ex.toString()); Ganz am Anfang des Quelltextes muss zusätzlich noch folgende Anweisung stehen: import java.io.*; (Da Java plattformunabhängig läuft, bedarf es innerhalb eines Java-Programms mehrerer Befehle, um Werte einlesen zu können. Was hier try und catch und die anderen Ausdrücke bedeuten, wird in einem späteren Kapitel noch ausführlich erklärt. Versuchen bis dahin, die Methoden mit Copy&Paste einzusetzen.) Prof. Dr. Rolf Dornberger OOP:

7 7.3 Methoden 7.3 Methoden Will man in Java selber Methoden implementieren, wie man Funktionen und Unterprogramme in anderen Programmiersprachen schreibt, so werden diese Methoden zusätzlich in die Klasse des Java-Programms geschrieben, in der die main-methode steht, und mit static benannt, wie beispielsweise das Programm MethodeStatic1 zeigt: public class MethodeStatic1 { // Hauptmethode public static void main(string[] args) {... // Methode für Berechnung der Summe static double berechnesumme(double a, double b) {... In welcher Reihenfolge die Methoden untereinander in einem Java-Programm (Klasse) letztendlich angeordnet sind, ist egal. Prof. Dr. Rolf Dornberger OOP: Methoden haben Übergabeparameter und einen Rückgabewert, wie beispielhaft am Programm MethodeStatic1 mit der Methode berechnesumme gezeigt ist. Die Übergabeparameter an die Methode berechnesumme(double a, double b) sind die double-zahlen Zahl1 und Zahl2. public class MethodeStatic1 { // Hauptmethode public static void main(string[] args) { double Zahl1 = 5.0, Zahl2 = 6.5, Ergebnis; Ergebnis = berechnesumme(zahl1, Zahl2); System.out.println(Ergebnis); // Methode für Berechnung der Summe static double berechnesumme(double a, double b) { double Summe = a + b; return(summe); (Methoden werden in einem späteren Kapitel noch viel genauer erklärt.) Prof. Dr. Rolf Dornberger OOP: Wiederholung der Grundelemente und Syntax in Java Sechsstellige Zufallszahl Quadratwurzel nach Heron 7.4 Algorithmen Algorithmus In der Mathematik ein Verfahren, bei dem aufgrund eines Systems von Regeln gegebene Größen (Eingabeinformationen, Aufgaben) in andere Größen (Ausgabeinformationen, Lösungen) umgewandelt werden können. Durch Algorithmen können komplizierte Prozesse von (Rechen-) Automaten nachgebildet werden. Quelle: [Stand: ] Software beinhaltet im Allgemeinen sehr viele Algorithmen. Die meisten sind schon programmiert und werden vom System und zusätzlichen Programm- Bibliotheken angeboten. Will man einen Algorithmus selber programmieren, muss man Regeln und mathematische Formeln so in ein Computerprogramm implementieren, dass eindeutig alle Rechenvorschriften ausgeführt werden und auf alle Sonderfälle geachtet wird. Prof. Dr. Rolf Dornberger OOP: Prof. Dr. Rolf Dornberger OOP:

8 7.4.1 Sechsstellige Zufallszahl Ein Beispiel, wie ein Algorithmus in Java implementiert werden kann, ist die Ermittlung einer sechsstelligen Zufallszahl (Ganzzahl), wie sie beispielsweise in der Joker- oder Super-6-Ziehung der Lottogesellschaften vorkommt, wie z.b.: Überlegungen zum Aufstellen des Algorithmus: In Java gibt es die Methode.random(), die eine Zufallszahl (Gleitzahl) zwischen 0.0 und kleiner 1.0 (also ) erzeugt. Die Jokerzahl liegt zwischen und D.h. die Java-Zufallszahl muss damit mit multipliziert werden: und Die Kommastellen müssen abgeschnitten werden, d.h. es wird nur eine Ganzzahl benötigt. Achtung: Führende Nullen einer Zahl werden in der Ausgabe einer Zahl nicht dargestellt. D.h. dass z.b. die Zahl 5674 als zu lesen ist. 1. Zusatz: Alle Berechnungen sollen in eine separate Methode gepackt werden. 2. Zusatz: Es sollen solange Zufallszahlen ausgegeben werden, bis eine Zahl größer gleich dabei ist. Prof. Dr. Rolf Dornberger OOP: Sechsstellige Zufallszahl Mit den Überlegungen alleine ist quasi schon der Algorithmus definiert. Der Algorithmus kann nun noch grafisch beispielsweise in einem Flussdiagramm dargestellt werden. Neben einer verbalen Formulierung kann dann public class SechsstelligeZufallszahl1 { das Flussdiagramm noch so weit verfeinert // Hauptmethode werden, public static dass void es main(string[] nahezu den args) Programmcode { double zahl; enthält. int ganzzahl; zahl = Math.random(); zahl *= ; ganzzahl = (int) zahl; System.out.println("Sechsstellige Zufallszahl: " + ganzzahl); Prof. Dr. Rolf Dornberger OOP: Sechsstellige Zufallszahl 1. Zusatz: Nun sollen alle Berechnungen in eine separate Methode gepackt werden. Der Hintergrund könnte sein, dass diese Methode auch in anderen Programmen verwendet werden soll. public class SechsstelligeZufallszahl2 { // Hauptmethode public static void main(string[] args) { int einezahl; einezahl = ermittlezahl(); System.out.println("Sechsstellige Zufallszahl: " + einezahl); public static int ermittlezahl(){ double zahl; int ganzzahl; zahl = Math.random(); zahl *= ; ganzzahl = (int) zahl; return ganzzahl; Sechsstellige Zufallszahl 2. Zusatz: Nun sollen solange Zufallszahlen ausgegeben werden, bis eine Zahl größer gleich dabei ist. public class SechsstelligeZufallszahl3 { // Hauptmethode public static void main(string[] args) { int einezahl; do { einezahl = ermittlezahl(); System.out.println("Sechsstellige Zufallszahl: " + einezahl); while (einezahl < ); public static int ermittlezahl(){ double zahl; int ganzzahl; zahl = Math.random(); zahl *= ; ganzzahl = (int) zahl; return ganzzahl; Prof. Dr. Rolf Dornberger OOP: Prof. Dr. Rolf Dornberger OOP:

9 7.4 Algorithmen Ein komplexeres Beispiel, wie ein Algorithmus in Java implementiert werden kann, ist die Quadratwurzelberechnung nach Heron. Heron war ein Mathematiker, der ein Näherungsverfahren zur Berechnung einer Quadratwurzel aus einer positiven Zahl x vorschlug, das alleine die Grundrechenarten Addition, Multiplikation und Quotient verwendet. (Wie Heron auf den Algorithmus kam, ist hier unerheblich.) Der Algorithmus Quadratwurzelberechnung nach Heron sieht wie folgt aus: Schritt 0: Setze x 0 = x Schritt n+1: x n + Setze 1 = 1 2 * x Die Folge der Zahlen x 0, x 1, x 2,... konvergiert dann gegen x. n Der Algorithmus soll nun solange laufen, bis die Differenz der nach Heron berechneten Quadratwurzel zu der vom Computer intern berechneten Quadratwurzel kleiner als ein epsilon = ist. + x x x n 7.4 Algorithmen Das entsprechende Programm QuadratwurzelHeron 1 sieht in einem ersten Schritt wie folgt aus: public class QuadratwurzelHeron1 { public static void main (String[] args) { // Einlesen der Zahl x, für die Wurzel berechnet werden soll double x = Double.parseDouble (args[0]); // Setzen der Genauigkeit epsilon double epsilon = ; // Schritt 0: x(n) = x(0) = x für n = 0 double xn = x; // Definition der Variablen x(n+1) und n double xn1; int n = 1; // Schritt n+1: Führe solange aus, bis Genauigkeit erreicht do { xn1 = 0.5 * (xn + x/xn); System.out.println("x(" + n++ + ") = " + xn1); xn = xn1; // Prüfe Genauigkeit while (Math.pow(xn1,2) - x > epsilon); // Ausgabe Ergebnis System.out.println("Ergebnis = " + xn1); System.out.println("zum Vergleich: sqrt(x) = " + Math.sqrt(x)); Prof. Dr. Rolf Dornberger OOP: Prof. Dr. Rolf Dornberger OOP: Algorithmen Das entsprechende Programm QuadratwurzelHeron2 sieht nach einer Zusammenfassung der Variablen xn und xn1 wie folgt aus: public class QuadratwurzelHeron2 { public static void main (String[] args) { // Einlesen der Zahl x, für die Wurzel berechnet werden soll double x = Double.parseDouble (args[0]); // Setzen der Genauigkeit epsilon double epsilon = ; // Schritt 0: x(n) = x(0) = x für n = 0 double xn = x; // Definition der Variablen n int n = 1; // Schritt n+1: Führe solange aus, bis Genauigkeit erreicht do { xn = 0.5 * (xn + x/xn); System.out.println("x(" + n++ + ") = " + xn); // Prüfe Genauigkeit while (Math.pow(xn,2) - x > epsilon); 7.5 Rekursion 7.2 Wiederholung der Grundelemente und Syntax in Java // Ausgabe Ergebnis System.out.println("Ergebnis = " + xn); System.out.println("zum Vergleich: sqrt(x) = " + Math.sqrt(x)); Prof. Dr. Rolf Dornberger OOP: Prof. Dr. Rolf Dornberger OOP:

10 7.5 Rekursion 7.5 Rekursion Java erlaubt, dass Methoden sich selber aufrufen, also rekursive Aufrufe ausführen. Dies wird als Rekursion bezeichnet. Ein klassisches Beispiel für rekursive Aufrufe ist die Berechnung der Fakultät einer positiven ganzen (Integer-) Zahl n: Fakultaet(n) = n! = 1 * 2 * 3 *.. * (n-1) * n Die Implementierung des Algorithmus Fakultät n! kann so erfolgen: Schritt n: Wenn n > 1 dann n! = n * (n-1)! Schritt n-1:(n-1)! wird wiederum mit einem rekursiven Aufruf berechnet, solange bis n = 1 wird. Prof. Dr. Rolf Dornberger OOP: Hauptprogramm Zahl n einlesen n muss >0 sein Aufruf der Fakultäts-Methode berechnefakultaet() Fakultäts-Methode Berechnung von n * (n-1) rekursiver Aufruf der Methode import java.io.*; public class Rekursion1 { public static void main (String[] args) { System.out.println("Fakultaet von positiver Integer-Zahl berechnen"); // Zahl für Fakultaetsberechnung einlesen und auf Integer prüfen int zahl = 0; do { System.out.print("Zahl = "); try { zahl = Integer.parseInt((new BufferedReader( new InputStreamReader(System.in))).readLine()); catch(exception ex) { System.out.println("Eingabe keine Integer-Zahl"); while (zahl <= 0); // Aufruf der Fakultaets-Methode long ergebnis = berechnefakultaet(zahl); // Ausgabe des Ergebnisses System.out.println("Fakultaet von " + zahl + " = " + ergebnis); // Methode zur rekursiven Berechnung der Fakultaet static public long berechnefakultaet(int zahl) { long ergebnis; if (zahl > 1) ergebnis = zahl * berechnefakultaet(--zahl); else ergebnis = 1; return(ergebnis); Prof. Dr. Rolf Dornberger OOP: Lernziele Erklären können, welche grundlegenden Programmstrukturen es gibt und wie diese in Java umgesetzt werden. Die Grundelemente und Syntax von Java (Sprachelemente, Datentypen, Variablen, Operatoren, Datenfelder, Zeichenketten, main-methode, Parameterübergabe, Bedingungen und Schleifen) kennen und richtig anwenden bzw. einsetzen können. (Statische) Methoden als Funktionen in Java verstanden haben und einsetzen können. Wichtige Methoden, die von Java zur Verfügung gestellt werden, kennen und anwenden können. Einfache Algorithmen in Java implementieren können. Rekursion in Java programmieren können. Prof. Dr. Rolf Dornberger OOP:

Objektorientierte Programmierung OOP Programmieren mit Java

Objektorientierte Programmierung OOP Programmieren mit Java Objektorientierte Programmierung OOP Programmieren mit Java 5.1 Elementare Anweisungen 5.1.1 Ausdrucksanweisung 5.1.2 Leere Anweisung 5.1.3 Blockanweisung 5.1.4 Variablendeklaration 5.2 Bedingungen 5.2.1

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White

Mehr

Einstieg in die Informatik mit Java

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

Mehr

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

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

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

Übungen zur Vorlesung Wissenschaftliches Rechnen I

Übungen zur Vorlesung Wissenschaftliches Rechnen I Übungen zur Vorlesung Wissenschaftliches Rechnen I Nicolas Gauger, René Lamour, Hella Rabus Wintersemester 2007/2008 Programmierung - Einführung Programmierung - Einführung Berechnung einer Formel y =

Mehr

Vorkurs Informatik WiSe 17/18

Vorkurs Informatik WiSe 17/18 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017

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

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016

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

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

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

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

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

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

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

Mehr

Teil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen

Teil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen Teil 5 - Java Programmstruktur Operatoren Schlüsselwörter Datentypen 1 Kommentare in Java In Java gibt es drei Möglichkeiten zur Kommentierung: // Kommentar Alle Zeichen nach dem // werden ignoriert. für

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Einführung in die Programmierung by André Karge Übung - Operatoren, Methoden, Primitives 25. Oktober 2018 Einführung in die Programmierung WS18/19 André Karge 1/29 Notizen Standard Linux Befehle: http://images.linoxide.com/linux-cheat-sheet.pdf

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

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

Mehr

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 OOP Programmieren mit Java

Objektorientierte Programmierung OOP Programmieren mit Java 4 Datenfelder, Parameterübergabe, Casting Objektorientierte Programmierung OOP Programmieren mit Java 4 Datenfelder, Parameterübergabe, Casting 4 Datenfelder, Parameterübergabe, Casting 4.1 Datenfelder

Mehr

Selbsteinstufungstest Vorkurs Programmieren

Selbsteinstufungstest Vorkurs Programmieren VPR Selbsteinstufungstest Vorkurs Programmieren Zeit 90 Minuten Aufgabe 1: Einzigartig (10 Punkte) Schreiben Sie eine Methode die angibt, ob ein String str1 in einem zweiten String str2 genau einmal vorkommt.

Mehr

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen. Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe

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

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff. Gedächtnis Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet Hauptspeicher 38265 Telefon CPU Gedächtnis Vorlesender Zugriff Verarbeitungseinheit

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

Ü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

Kurze Einführung in die Programmiersprache C++ und in Root

Kurze Einführung in die Programmiersprache C++ und in Root Kurze Einführung in die Programmiersprache C++ und in Root Statistik, Datenanalyse und Simulation; 31.10.2006 Inhalt 1 Einführung in die Programmiersprache C++ Allgemeines Variablen Funktionen 2 1 Einführung

Mehr

Informatik I - Einstiegskurs

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

Mehr

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

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 06: 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

Ü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

Kapitel 2: Grundelemente der Programmierung

Kapitel 2: Grundelemente der Programmierung Kapitel 2: Grundelemente der Programmierung Variablen Variablen sind Speicherbereiche im Arbeitsspeicher Anhand eines Namens kann man Werte hineinschreiben und auch wieder auslesen Variablen besitzen ein

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

Grundlagen der Modellierung und Programmierung, Übung

Grundlagen der Modellierung und Programmierung, Übung Grundlagen der Modellierung und Programmierung Übung Prof. Wolfram Amme LS Softwaretechnik Prof. Klaus Küspert LS Datenbanksysteme Prof. Birgitta König-Ries LS Verteilte Systeme Prof. Dr. Wilhelm Rossak

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

Programmierung für Mathematik HS11

Programmierung für Mathematik HS11 software evolution & architecture lab Programmierung für Mathematik HS11 Übung 8 1 Aufgabe: Codeverständnis (Repetition) 1.1 Lernziele 1. Code verstehen können. 2. Fehler im Code finden und korrigieren

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

EINI WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12

EINI WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12 EINI WiMa Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 11/12 Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@udo.edu http://ls1-www.cs.uni-dortmund.de

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

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

Institut für Programmierung und Reaktive Systeme 25. Januar Programmieren I. Übungsklausur

Institut für Programmierung und Reaktive Systeme 25. Januar Programmieren I. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 25. Januar 2018 Hinweise: Klausurtermine: Programmieren I Übungsklausur Programmieren I: 17. Februar

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Wiederholung Anweisungen durch Methodenaufrufe Ausgabe

Mehr

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

Beispiel: Temperaturumwandlung. Imperative Programmierung. Schwerpunkte. 3. Grundlegende Sprachkonstruktionen imperativer Programme

Beispiel: Temperaturumwandlung. Imperative Programmierung. Schwerpunkte. 3. Grundlegende Sprachkonstruktionen imperativer Programme Schwerpunkte 3. Grundlegende Sprachkonstruktionen imperativer Programme Java-Beispiele: Temperature.java Keyboard.java Imperative Programmierung Beispiel für ein Programm aus drei Komponenten Variable,

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 41 Einstieg in die Informatik mit Java Weitere Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick 2 Verbundanweisung 3 Bedingte Anweisung 4 Auswahlanweisung

Mehr

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2 Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016

Mehr

EINFÜHRUNG IN DIE PROGRAMMIERUNG

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

Mehr

Inhalt. Vorwort. Bibliografische Informationen digitalisiert durch

Inhalt. Vorwort. Bibliografische Informationen  digitalisiert durch Vorwort 1 Einleitung 1 1.1 Programmierung und Programmiersprachen 1 1.1.1 Programmierung 2 1.1.2 Grundlegende Programmstrukturen 3 1.1.3 Programmiersprachen 5 1.2 Was ist Java? 9 1.2.1 Ursprung von Java

Mehr

Java - Programmierung - Prozedurale Programmierung 1

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

Mehr

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

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren I Dr. Werner Struckmann 8. September 2014 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr

Mehr

Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund

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

Mehr

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

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

Mehr

PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy

PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy PROCESSING EINE ZUSAMMENFASSUNG Created by Michael Kirsch & Beat Rossmy INHALT 1. Typen und Operatoren 1. Datentypen 3. Klassen und Objekte 1. Klassen und Objekte 2. Operatoren 2. Konstruktor 3. Typkonversion

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

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

Java-Applikationen (Java-Programme)

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

Mehr

Schwerpunkte. 8. Ausdrücke, Operatoren (einfache Typen) Beispiel: Schaltjahr Test. Einführendes Beispiel: Grundprobleme

Schwerpunkte. 8. Ausdrücke, Operatoren (einfache Typen) Beispiel: Schaltjahr Test. Einführendes Beispiel: Grundprobleme Schwerpunkte Vollständige und unvollständige Auswertung 8. Ausdrücke, Operatoren (einfache Typen) Teil 1 Seiteneffekte Overloading: Überladung von Operatoren Implizite und explizite (cast) Typumwandlung

Mehr

Projekt 3 Variablen und Operatoren

Projekt 3 Variablen und Operatoren Projekt 3 Variablen und Operatoren Praktisch jedes Programm verarbeitet Daten. Um mit Daten programmieren zu können, muss es Möglichkeiten geben, die Daten in einem Programm zu verwalten und zu manipulieren.

Mehr

Ü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

Java Übung. Übung 2. Werner Gaulke. 19. April Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung.

Java Übung. Übung 2. Werner Gaulke. 19. April Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung. Java Übung Übung 2 Universität Duisburg-Essen Kommedia, Übung EinPro SS06, 19. April 2006 (UniDUE) 19. April 2006 1 / 13 Java Programme Java Programme bestehen aus (meist mehreren) Klassen. In den Klassen

Mehr

Einführung in die Programmierung. (K-)II/Wb17

Einführung in die Programmierung. (K-)II/Wb17 Probeklausur Hochschule Zittau/Görlitz, Prüfer: Prof. Dr. Georg Ringwelski Einführung in die Programmierung (K-)II/Wb17 Matrikelnummer: Punkte: 1 2 3 4 5 6 Gesamt /21 /19 /20 /20 /20 /20 /120 Spielregeln:

Mehr

EINI LogWing/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 17/18

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

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

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

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

Mehr

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

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

Wenn... dann... if (condition) statement. if (kontostand < 0) System.out.println("Oops..."); false. condition. true. statement

Wenn... dann... if (condition) statement. if (kontostand < 0) System.out.println(Oops...); false. condition. true. statement Wenn... dann... if (condition) statement condition false true statement if (kontostand < 0) System.out.println("Oops..."); 31 ... sonst... if (condition) statement1 else statement2 condition false true

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

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

4.4 Imperative Algorithmen Prozeduren

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

Mehr

Klausur Fachprüfung Wirtschaftsinformatik. Name:

Klausur Fachprüfung Wirtschaftsinformatik. Name: Klausur Fachprüfung Wirtschaftsinformatik Dauer: 2 Stunden Datum: 02.10.2003 Name: Punkte True-or-False: von 15 Punkte Multiple Choice: von 15 Punkte Quickies: von 30 Punkte Shorties: von 20 Punkte Longies:

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

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

Begleittext: Einführung in das Programmieren in Java für Nichtinformatiker

Begleittext: Einführung in das Programmieren in Java für Nichtinformatiker Begleittext: Einführung in das Programmieren in Java für Nichtinformatiker Andreas Keese Institut f. Wissenschaftliches Rechnen TU Braunschweig 8. September 2014 Der Text, die Abbildungen und Programme

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 2. Februar Programmieren I. Übungsklausur

Institut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 2. Februar 2017 Hinweise: Klausurtermine: Programmieren I Übungsklausur Programmieren I: 13. März

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

4. Einfache Programmstrukturen in C Einfache Programmstrukturen in C

4. Einfache Programmstrukturen in C Einfache Programmstrukturen in C Einfache Programmstrukturen in C 4-1 Welche einfache Programmstrukturen sind zu unterscheiden? Arithmetische und logische Ausdrücke und Zuweisungen Verzweigungen Unvollständige bedingte Anweisungen Vollständige

Mehr

Programmierung für Mathematik (HS13)

Programmierung für Mathematik (HS13) software evolution & architecture lab Programmierung für Mathematik (HS13) Übung 11 1 Aufgabe: Codeverständnis 1.1 Aufgabenstellung Notieren Sie, was der folgende Code ausgeben würde, wenn er so in einer

Mehr

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Primitive Datentypen Fließkommazahlen float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Vorzeichen Exponent 8 bit Mantisse 23 bit double: Fließkommazahl nach IEEE 754 Standard mit 64 bit Vorzeichen

Mehr

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

Arrays. Gilbert Beyer und Annabelle Klarl. Einführung in die Informatik. Zentralübung zur Vorlesung Einführung in die Informatik

Arrays. Gilbert Beyer und Annabelle Klarl. Einführung in die Informatik. Zentralübung zur Vorlesung Einführung in die Informatik Arrays Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Inhalte der heutigen Vorlesung: Arraytypen Speicherdarstellung von Arrays Auswertung

Mehr

Einführung in die Programmierung mit VBA

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

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Anweisungen mit Variablen Wiederholung Deklaration

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Anweisungen mit Variablen Wiederholung Deklaration

Mehr

Intensivübung zu Algorithmen und Datenstrukturen

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

Mehr

Algorithmen und ihre Programmierung

Algorithmen und ihre Programmierung Veranstaltung Pr.-Nr.: 101023 Algorithmen und ihre Programmierung Veronika Waue WS 07/08 Einführung Definition: Algorithmus Ein Algorithmus ist eine genau definierte Folge von Anweisungen zur Lösung eines

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

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 BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

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

Mehr