3. Anatomie eines imperativen Java- Programms

Größe: px
Ab Seite anzeigen:

Download "3. Anatomie eines imperativen Java- Programms"

Transkript

1 3. Anatomie eines imperativen Java- Programms 3.1 Algorithmus und Pseudocode 3.2 Java-Implementierung 3.3 Organisation von Java-Programmen 3.4 Dokumentation und Konventionen 3.5 Ein Programm in PASCAL

2 ( Beispielalgorithmus Primzahlbestimmung Aufgabe: Bestimme alle Primzahlen max Algorithmus: 2 ist Primzahl. Prüfe alle [ungeraden] Zahlen i = 3,5, max : ( Für alle Primzahlen j < i : prüfe ob i durch j < i teilbar, wenn ja dann ist i keine Primzahl und mache mit nächstem i weiter ) wenn i durch kein j teilbar merke i als Primzahl. Gib alle gemerkten Primzahlen aus. Wie "merkt" man sich die gefunden Primzahlen? Details hängen (teilweise) von Programmiersprache ab. i N n eindeutig als Produkt von Primzahlen darstellbar. ) hs / fub - alp2-03 2

3 Konkretisierung "Pseudocode"-Sprache: Befehle: <variable> = <ausdruck> for i=n..m mit n,m natürliche Zahlen while (<condition> ) {P if (<condition>) {P1 else {P2 output(<number>) Datenstruktur "Feld": benannte endliche Folge gleichartiger Variablen, z.b. für ganze Zahlen boolean: boolean array [1..k] <name> mit Adressierung der i-ten Variable durch <name> [i] hs / fub - alp2-03 3

4 Algorithmus im Pseudocode boolean array [1..max] isprime; //Vereinbarung isprime[2] = true; i=3; while i < max { // pruefe ob i prim for j = 3..(i DIV 2) { if isprime[j] &&(i MOD j) = 0 {isprime[i]=false; goto increment isprime [i]=true; increment: i=i+2 for i=2..max { if isprime[i]{output(i); Prim-Test: sobald ein Teiler von i gefunden, weiter mit i+2 hs / fub - alp2-03 4

5 Pseudocode boolean array [1..max] isprime; isprime[2] = true; i=3; while i < max { int i, max; boolean hasnofactor max = kbdinput.readint(); boolean[] isprime = new boolean[max + 1]; isprime[2]=true; i = 3; while (i <= max) { hasnofactor = true; for j = 3..(i DIV 2) { if(isprime[j]&&(i MOD j)) = 0 {isprime[i]=false; goto increment isprime [i]=true; increment: i=i+2 for i=2..max { if isprime[i]{output(i); for (int j = 3; j <= i/2; j++) if (isprime[j] && (i % j) == 0){ hasnofactor = false; break; if (hasnofactor){ isprime[i] = true; i=i+2; Java-Code hs / fub - alp2-03 5

6 Codierung in Java int i, max; boolean hasnofactor max = kbdinput.readint(); boolean[] isprime = new boolean[max + 1]; isprime[2]=true; i = 3; while (i <= max) { hasnofactor = true; for (int j = 3; j <= i/2; j++) if (isprime[j] && (i % j) == 0) { hasnofactor = false; break; if (hasnofactor){ isprime[i] = true; i=i+2; Beachte: kein goto <marke> Wesentliche Merkmale: Variablen müssen mit Typ vereinbart werden Felder müssen entsprechend ihrer Größe erzeugt werden. Anweisungen werden mit ';' abgeschlossen. for-schleife mit Anfangswert, Maximalwert und Inkrement. und sonst MOD : % { kann entfallen, wenn nur ein Befehl hs / fub - alp2-03 6

7 Klassen (statisch) Java-Klassen enthalten Vereinbarungen von Variablen und Methoden, vorläufig mit static Attribut. class Myclass { static int myvariable; static int mymethod(int param1, int param2){... public static void main(string [] args ) { hs / fub - alp2-03 7

8 Klassen und Methode main Vorläufig dienen Klassen nur als syntaktische Klammer für ein Programm Ein (statisches) Java-Programm ist eine Klasse mit als static gekennzeichneten Vereinbarungen von Methoden und Daten (Variablen) und der ausgezeichneten Methode public static void main (<optionale Eingabeparameter>){... <Code>... static ~ muss nicht während Programmausführung (=dynamisch) erzeugt werden. Typ des Rückgabewertes der Methode. Wenn keine Rückgabe: void hs / fub - alp2-03 8

9 class Primes { public static void main(string[] args) { int i, max, numberofprimes = 1; max = kbdinput.readint(); boolean[] isprime = new boolean[max + 1]; isprime[2]=true; i = 3; while (i <= max) {... for (i = 2; i <= max; i++){ if (isprime[i]) {System.out.print(i + ", "); Hier: nur eine Methode (main). public ~ darf von jedem ausgeführt werden. Ausgabe: System.out.print( ) hs / fub - alp2-03 9

10 Java Programmorganisation import java.util.*; import SimpleIO.kbdInput; class Primes{... Klassen können zu Paketen (package) zusammengefasst werden benötigte Pakete oder einzelne Klassen werden importiert Java besitzt eine äußerst reichhaltige Klassenbibliothek (siehe hs / fub - alp

11 Ein einfaches Paket package SimpleIO; import java.io.bufferedreader;... Pakete sind benannt Importe aus der Java-Standard- Bibliothek public class kbdinput {... Eine Klasse des Pakets SimpleIO public static int readint(string prompt){ Eine Methode der Klasse KeyboardInput (kbdinput) Das Paket SimpleIO steht auf der Webseite (Software) zur Verfügung. hs / fub - alp

12 Kommentare und Dokumentation class Primes { /** * Imperative Programm in Java: * Algorithmus zur Bestimmung der Primzahlen bis max. HS 0.1 */ public static void main(string[] args) // hier beginnt es {... Java kennt drei Arten von Kommentaren: 1. einzeiliger Kommentar: alles nach bis Zeilenende // 2. Mehrzeiliger Kommentar: zwischen /* und */ 3. Dokumentationskommentar zwischen /** und */ hs / fub - alp

13 Dokumentation Klassen und ihre Methoden werden mit den Dokumentationskommentare in html-seiten umgewandelt (Werkzeugprogramm: javadoc) Dokumentationskommentare stehen vor dem Objekt, das sie leitet ein Dokumentationsmakro ein, das von javadoc gesondert behandelt @param: Beschreibung von Beschreibung des Ergebnis und viele mehr. hs / fub - alp

14 Beispiel Dokumentationskommentar mit HTML-Code /** * This class represents an Internet Protocol (IP) address. * <p> * Applications should use the methods <code>getlocalhost</code>, * <code>getbyname</code>, or <code>getallbyname</code> to * create a new <code>inetaddress</code> instance. Chris Warth 1.42, 02/23/97 java.net.inetaddress#getallbyname(java.lang.string) java.net.inetaddress#getbyname(java.lang.string) JDK1.0 */ siehe auch hs / fub - alp

15 Kodierkonventionen Zentrale Forderung: Übersichtlichkeit des Codes Namensgebung - Klassenbezeichner beginnt mit Großbuchstabe(*) Primes eine Klasse pro Datei (im Allgem.), <Klassenname>.java - Methodennamen mit Kleinbuchstaben pruefen (Achtung: Java unterscheident Groß / Kleinschreibung) - Variablenbezeichner: klein, max - Konstanten: nur Großbuchstaben. MAX - Zusammengesetzte Bezeichner: Wortanfänge groß isprime - Sprechende Namen verwenden! nicht: isp - Englische / deutsche Bezeichner: Geschmacksache (*) kbdinput und fileinput aus SimpleIO halten sich nicht an die Konventionen :( hs / fub - alp

16 Kodierkonventionen Anweisungen, Ausdrücke - pro Zeile eine Anweisung arg1 = arg0++; - Klammerung von Anweisungen etc: <Schlüsselwort> { <eingerückte Anweisungen auf mehreren Zeilen> if (arg > max) { arg--; Log.error("arg=", arg); Geschweifte Klammern in else { Fallunterscheidungen, Schleifen etc arg = arg0; immer setzen, auch wenn nicht zwingend hs / fub - alp

17 Kodierkonventionen Entwicklungsumgebungen Sind hilfreich bei der Einhaltung von Formatierkonventionen In dieser Veranstaltung: Undogmatische Codierung, stilvolle Anwendung von Konventionen, aber unverzichtbar: - Einrückungen - Bezeichnerregeln siehe auch hs / fub - alp

18 Zum Vergleich: die imperative Sprache PASCAL program eratosthenes; const max = 10000; var a : array[1..max] of boolean; procedure eratos; var i,j : longint; begin a[1]:=false; for i:=2 to max do a[i]:=true; for i:=2 to max div 2 do if a[i] then for j:=2 to max div i do a[i*j]:=false; writeln; {Ausgabe... end; Kommentarbegrenzer Kleinere syntaktische Unterschiede (bei imperativem Programmierstil) Variablen müssen vorab vereinbart werden begin end statt { Syntax for / while unterscheidet sich Nicht objektorientiert begin write('calculating the Prime Numbers from 1 to ',max,'...'); eratos; end. hs / fub - alp

19 Warnung Java ist eine objektorientierte Programmiersprache, in der man auch imperative programmieren kann. Programm für dieses Semester: Imperative Programmierung mit Java Programmiermethodik (imperativ) Einführung in die objektorientierte Programmierung hs / fub - alp

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

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

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

Programmierkonventionen - 1 -

Programmierkonventionen - 1 - Die wichtigsten Bestandteile der Programmierkonventionen für Java werden hier erläutert. Dies sind: Schreibweise von Bezeichnern Einrückkonventionen Kommentare Programmierkonventionen - 1 - Einleitung

Mehr

Programmieren I. Dokumentation mit javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik

Programmieren I. Dokumentation mit javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik Programmieren I Dokumentation mit javadoc Heusch 10.4 Ratz 4.1.1 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Automatische Dokumentation Java bietet standardmäßig das Dokumentationssystem

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

Schöner Programmieren

Schöner Programmieren Schöner Programmieren Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 20.11.07 G. Bohlender (IANM UNI Karlsruhe) Schöner Programmieren 20.11.07

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

Schöner Programmieren

Schöner Programmieren Schöner Programmieren Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 30.05.07 G. Bohlender (IANM UNI Karlsruhe) Schöner Programmieren 30.05.07

Mehr

Die Syntax von Java. Ursprünge. Konsequenzen. Das Wichtigste in Kürze. Weiteres Vorgehen. Rund um Java. Sun Microsystems. Borland Software Corp

Die Syntax von Java. Ursprünge. Konsequenzen. Das Wichtigste in Kürze. Weiteres Vorgehen. Rund um Java. Sun Microsystems. Borland Software Corp Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert

Mehr

Ursprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java

Ursprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert

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

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 34 Einstieg in die Informatik mit Java weitere Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Verbundanweisung 2 Bedingte Anweisung 3 Auswahlanweisung

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

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

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

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

Programmierpraktikum Java Entdecken Merkblatt 2

Programmierpraktikum Java Entdecken Merkblatt 2 Technische Universität München Fakultät für Informatik Prof. Dr. Helmut Seidl Michael Petter Melanie Dietz Raphael Geissler Programmierpraktikum Java Entdecken Merkblatt 2 SS 2005 1 Einleitung 1.1 Was

Mehr

Einführung in die Programmierung mit Java

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

Mehr

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

Algorithmen und Datenstrukturen II

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

Mehr

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

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

Übungen zu Programmieren - Code-Formatierung -

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

Mehr

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems 4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um

Mehr

Girls Day 2017 Programmierung

Girls Day 2017 Programmierung Girls Day 2017 Programmierung Anke Brocker Quality Management Würselen, 27. April 2017 www.lancom-systems.de Programmierung 27.04.2017 - Übersicht Programmieren mit der Arduino IDE Die Arduino IDE Der

Mehr

Syntax der Sprache PASCAL

Syntax der Sprache PASCAL Syntax der Sprache PASCAL Buchstaben A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Ziffern 0 1 2 3 4 5 6 7 8 9 Sonderzeichen und Wortsymbole +

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

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems 4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um

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

JAVA Kommentieren mit Javadoc

JAVA Kommentieren mit Javadoc Übungen Informatik I JAVA Kommentieren mit Javadoc Übungen Informatik 1 1 Kommentare in Java / mehrzeiliger Kommentar / // einzeiliger Kommentar Sichtbar nur im Quelltext Beschreiben für Entwickler was

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

Einführung in die Programmierung für NF. Zuweisungen, main- Methode und Kommentare

Einführung in die Programmierung für NF. Zuweisungen, main- Methode und Kommentare Einführung in die Programmierung für NF Zuweisungen, main- Methode und Kommentare Wiederholung: Deklara@on lokaler Variablen Eine Deklara'on einer lokalen Variablen (Declara'on) hat die Form Type VarName

Mehr

Einführung in die Programmierung für NF. Zuweisungen, main- Methode und Kommentare

Einführung in die Programmierung für NF. Zuweisungen, main- Methode und Kommentare Einführung in die Programmierung für NF Zuweisungen, main- Methode und Kommentare Wiederholung: Deklara@on lokaler Variablen Eine Deklara'on einer lokalen Variablen (Declara'on) hat die Form Type VarName

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

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

Programmieren I. Dokumentation mit Javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik

Programmieren I. Dokumentation mit Javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik Programmieren I Dokumentation mit Javadoc Heusch 10.4 Ratz 4.1.1 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Automatische Dokumentation Java bietet standardmäßig das Dokumentationssystem

Mehr

Grundelemente objektorientierter Sprachen (1)

Grundelemente objektorientierter Sprachen (1) Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte

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

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

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

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

Organisatorisches. drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50

Organisatorisches. drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50 Organisatorisches Vorlesung Donnerstag 8:35 bis 10:05 Übung drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50 Tutorium (Mehr oder weniger) abwechselnd Mo und Mi 10-11:30 Termine

Mehr

Organisatorisches. Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, , 14 Uhr bis Do, , 8Uhr

Organisatorisches. Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, , 14 Uhr bis Do, , 8Uhr Organisatorisches Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, 14.10., 14 Uhr bis Do, 23.10., 8Uhr. 14.10.2014 IT I - VO 1 1 IT I: Heute Wiederholung CuP ctd: this Arrays, ArrayLists Schleifen:

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

Einführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe

Einführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe Ludwig-Maximilians-Universität München München, 04.12.2009 Institut für Informatik Prof. Dr. Christian Böhm Annahita Oswald, Bianca Wackersreuther Einführung in die Programmierung WS 2009/10 Übungsblatt

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 - 1.

Mehr

Propädeutikum Programmierung in der Bioinformatik

Propädeutikum Programmierung in der Bioinformatik Propädeutikum Programmierung in der Bioinformatik Java Klassen und Objekte Thomas Mauermeier 27.11.2018 Ludwig-Maximilians-Universität München Rückblick Imperative Programmierung Variablen Fallunterscheidungen

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

AuD-Tafelübung T-B5b

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

Mehr

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der

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

Grundlagen von C# - 1

Grundlagen von C# - 1 Grundlagen von C# - 1 Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Über diesen Kurs 2. Benötigte Software 3. Exkurs: Architektur von.net und C# 4. Erstes Programm: Hello World Grundlegende Eigenschaften

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 1 15.03.2017 Objektorientierte Programmierung (Studiengang Medieninformatik) Form: Prüfung:

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

Vorsichtige Programmierer verwenden Inkrement- Operatoren nicht in komplizierteren Ausdrücken

Vorsichtige Programmierer verwenden Inkrement- Operatoren nicht in komplizierteren Ausdrücken Vorsichtige Programmierer verwenden Inkrement- Operatoren nicht in komplizierteren Ausdrücken Aufgabe 1.60 a) Welchen Wert erhält die boolesche Variable z in folgendem Beispiel? int i = 2, j = 5; boolean

Mehr

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services C# - Einführung in die Programmiersprache Methoden Leibniz Universität IT Services 02.07.12 Methoden... sind Subroutinen in einer Klasse. können einen Wert an den Aufrufer zurückgeben. verändern die Eigenschaften

Mehr

Grundelemente objektorientierter Sprachen (1)

Grundelemente objektorientierter Sprachen (1) Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte

Mehr

Grundelemente objektorientierter Sprachen (1)

Grundelemente objektorientierter Sprachen (1) Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte

Mehr

Praktische Informatik 1

Praktische Informatik 1 Praktische Informatik 1 Imperative Programmierung und Objektorientierung Karsten Hölscher und Jan Peleska Wintersemester 2011/2012 Was bisher geschah... Konzepte: Klassen und ihre...... Instanzen, die

Mehr

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

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

Mehr

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

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

Java Lexikalische Struktur

Java Lexikalische Struktur Informatik 1 für Nebenfachstudierende Grundmodul Java Lexikalische Struktur Kai-Steffen Hielscher Folienversion: 19. Dezember 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht Kapitel

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

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

Computeranwendung und Programmierung (CuP)

Computeranwendung und Programmierung (CuP) Computeranwendung und Programmierung (CuP) Übungsorganisation Bringen Sie Ihren Labtop in die Übungen mit! 09.10.2017 CuP - VO 2 Programmieren 1. Definition der Aufgabe, die das Programm lösen soll. 2.

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

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 - 1.

Mehr

Einführung in die Programmierung I. 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich

Einführung in die Programmierung I. 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich 252-0027 Einführung in die Programmierung I 2.0 Einfache Java Programme Thomas R. Gross Department Informatik ETH Zürich Uebersicht 2.0 Einfache Java Programme Struktur Namen Output 2 Graphische Darstellung

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

Selbststudium OOP6 & ALG Programmieren 1 - H1103 Felix Rohrer

Selbststudium OOP6 & ALG Programmieren 1 - H1103 Felix Rohrer Kapitel 5.2 1. zu bearbeitende Aufgabe: 5.1 5.1: done 2. Auf Seite 133 wird in der Methode start()ein while-loop verwendet. Kreieren Sie ein Code-Fragment mit derselben Funktionalität unter Verwendung

Mehr

Einführung in die Informatik

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

Mehr

Institut für Programmierung und Reaktive Systeme 7. Juli Programmieren II. Übungsklausur

Institut für Programmierung und Reaktive Systeme 7. Juli Programmieren II. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 7. Juli 2017 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 28. August

Mehr

1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen.

1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen. Themen der Übung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 9.10.01 1 Bedingte Anweisungen Vergleiche und logische Operatoren 3 Fallunterscheidungen 4 Zeichen und Zeichenketten

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

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

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

Programmieren in Java -Eingangstest-

Programmieren in Java -Eingangstest- Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit

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

Inhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1

Inhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1 Inhaltsverzeichnis Grundlagen und Einführung (1. Band) 1 1 Einleitung und Vorwort 1 1.1 Vorwort zur 13. Auflage....................... 1 1.2 Vorwort zur 10. Auflage....................... 1 1.3 Voraussetzungen...........................

Mehr

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

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

Mehr

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

Coding-Standards und Dokumentation

Coding-Standards und Dokumentation Coding-Standards und Dokumentation SEP 2018 Tobias Lingelmann 2018-04-17 DBS Wissenschaftliche Betreuer: Daniel Kaltenthaler, Johannes Lohrer Verantwortlicher Professor: Prof. Dr. Peer Kröger Übersicht

Mehr

Selbststudium OOP6 & ALG1 Auftrag

Selbststudium OOP6 & ALG1 Auftrag Selbststudium OOP6 & ALG1 Auftrag Kapitel 5.2 1. zu bearbeitende Aufgabe: 5.1 done 2. Auf den Seiten 157/158 wird in der Methode start()ein while-loop verwendet. Kreieren Sie ein Code-Fragment mit derselben

Mehr

Ausdrücke in Scala. Funktionale Programmierung. Christoph Knabe FB VI

Ausdrücke in Scala. Funktionale Programmierung. Christoph Knabe FB VI Ausdrücke in Scala Funktionale Programmierung Christoph Knabe FB VI 17.10.2014 Inhalt Einfache Ausdrücke Infix-Notation für Methodenaufruf Sonderzeichen in Bezeichnern Schlüsselwörter Konstanten Variablen

Mehr

Programmierstil in Java Coding-Standards und Dokumentation

Programmierstil in Java Coding-Standards und Dokumentation Coding-Standards und Dokumentation SEP Felix Zenz 23.10.2017 Wissenschaftliche Betreuer: Prof. Dr. Peer Kröger, Janina Sontheim, Daniel Kaltenthaler, Johannes Lohrer Verantwortlicher Professor: Prof. Dr.

Mehr

1 Funktionale vs. Imperative Programmierung

1 Funktionale vs. Imperative Programmierung 1 Funktionale vs. Imperative Programmierung 1.1 Einführung Programme einer funktionalen Programmiersprache (functional programming language, FPL) bestehen ausschließlich aus Funktionsdefinitionen und Funktionsaufrufen.

Mehr

Institut für Programmierung und Reaktive Systeme 6. Juli Programmieren II. Übungsklausur

Institut für Programmierung und Reaktive Systeme 6. Juli Programmieren II. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 6. Juli 2018 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 27. August

Mehr

Erste Schritte in Java

Erste Schritte in Java Erste Schritte in Java In diesem Kapitel werden wir an einem kleinen Beispiel wichtige Grundbegriffe der objektorientierten Programmierung kennenlernen. Wir wollen ein Programm schreiben, das in der Lage

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

Programmieren I. Dr. Klaus Höppner. Hochschule Darmstadt Wintersemester 2009/ / 22

Programmieren I. Dr. Klaus Höppner. Hochschule Darmstadt Wintersemester 2009/ / 22 Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2009/2010 1 / 22 Design von Klassen 2 / 22 Strategie zum Entwurf von Klassen Objektorientierte Sichtweise: Mit welchen Objekten habe

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 15. Pakete

Grundlagen der Programmierung Prof. H. Mössenböck. 15. Pakete Grundlagen der Programmierung Prof. H. Mössenböck 15. Pakete Idee Paket = Sammlung zusammengehöriger Klassen (Bibliothek) Zweck mehr Ordnung in Programme bringen bessere Kontrolle der Zugriffsrechte (wer

Mehr

Aufgabe 1.90: Ein Geschäft gibt ihren Kunden unterschiedliche Rabatte. Schreiben ein Programm, das folgende Rabattklassen vorsieht:

Aufgabe 1.90: Ein Geschäft gibt ihren Kunden unterschiedliche Rabatte. Schreiben ein Programm, das folgende Rabattklassen vorsieht: Aufgabe 1.90: Ein Geschäft gibt ihren Kunden unterschiedliche Rabatte. Schreiben ein Programm, das folgende Rabattklassen vorsieht: o Klasse 0: kein Rabatt o Klasse 1: 4,5 % Rabatt o Klasse 2: 8,75% Rabatt

Mehr

Einführung Java Programmieren in Java Arrays Schleifen Fehler. Einführung in Java. Arne Hüffmeier. Michelle Liebers, Dennis Hoffmann

Einführung Java Programmieren in Java Arrays Schleifen Fehler. Einführung in Java. Arne Hüffmeier. Michelle Liebers, Dennis Hoffmann Einführung in Java Arne Hüffmeier Michelle Liebers, Dennis Hoffmann Tilman Lüttje, Jean Wiele Angelehnt an Java-Vorkurs der Freitagsrunde 1 / 64 1 Einführung Java Geschichte 2 Programmieren in Java Einführung

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