Objektorientierte Programmierung

Größe: px
Ab Seite anzeigen:

Download "Objektorientierte Programmierung"

Transkript

1 Objektorientierte Programmierung Eine Einführung mit anschaulichen Beispielen aus der Java-Welt apl. Prof. Dr. Achim Ebert

2 Inhalt Kapitel 1: Java und Objektorientierung Ein erster Kontakt Allgemeine Grundlagen: Programmiersprachen Objektorientierung Ein erster Kontakt Objektorientierte vs. prozedurale Programmierung Vererbung Klassen und Objekte Garbage Collectible Heap Wiederholung: Interpreter und Compiler Java Erste Grundlagen Erstellung eines Java-Programms Code-Struktur in Java Achim Ebert OOP.1.1

3 Programmiersprachen Maschinennahe Sprachen Primitiv Prozessorabhängig Für Spezialaufgaben Höhere Programmiersprachen Ermöglichen problemorientierte Formulierung eines entworfenen Algorithmus Zur Zeit: über 250 höhere Programmiersprachen Unterscheidungen nach: Anwendungsgebieten Unterstütztem Problemlösungsstil Zugrundeliegender Programmierphilosophie Achim Ebert OOP.1.2

4 Programmiersprachen Unterscheidung von Sprachen Prozedurale / Imperative Programmiersprachen z.b. Fortran, Pascal, Modula, C, C++ Objektorientierte Programmiersprachen i.d.r. Weiterentwicklung der prozeduralen Sprachen z.b. Smalltalk-80, Oberon, C++, Java Funktionale Programmiersprachen z.b. Lisp Symbol-Manipulation, Editor Emacs Prädikative, logik-orientierte Programmiersprachen z.b. Prolog Expertensysteme Deklarative Programmiersprachen z. B. SQL Datenbankanwendungen Achim Ebert OOP.1.3

5 Programmiersprachen Schwerpunkt bei Softwareentwicklung liegt auf Entwurf von Algorithmen und Softwaresystemen Ziel ist Auffinden einer geeigneten Lösungsidee und -modellierung! Umsetzung / Codierung der Lösungsidee (Algorithmus) in geeignete Programmiersprache ist dagegen eher zweitrangig! Daher in Vorlesung nicht nur Programmierung, sondern auch: Objektorientierte Grundlagen Modellierung Achim Ebert OOP.1.4

6 Objektorientierung Ein erster Kontakt Objektorientierte vs. prozedurale Programmierung Aufgabe: Interaktive Figuren in einem GUI Spezifikation Figuren: Quadrat, Kreis, Dreieck Verhalten: Klickt der Benutzer auf eine Figur, so rotiert diese um 360 und es wird gleichzeitig eine MP3-Datei abgespielt. Zwei Programmierer OO und PZ PZ: Was muss das Programm tun? Welche Prozeduren müssen implementiert werden? rotate und playsound! OO: Was sind die Dinge/Hauptakteure im Programm? Figuren Wer ist effizienter? Achim Ebert OOP.1.5

7 Objektorientierung Ein erster Kontakt Objektorientierte vs. prozedurale Programmierung PZ: Prozeduren rotate (figurid) {!!// rotiere Figur um 360! }! playsound (figurid) {!!// spiele MP3 für figurid! }! OO: Klassen Quadrat! Kreis! rotate () {! Dreieck!!// rotiere rotate Quadrat () um {! 360! }!!// rotiere rotate Kreis () um {! 360! }!!// rotiere Dreieck um 360! playsound () {! }!!// spiele playsound MP3 für Quadrat! () {! }!!// spiele playsound MP3 für Kreis! () {! }!!// spiele MP3 für Dreieck! }! Achim Ebert OOP.1.6

8 Objektorientierung Ein erster Kontakt Objektorientierte vs. prozedurale Programmierung Unerwartete Spezifikationsänderung! Zusätzliche Figur: Blitz Verhalten: rotieren und Sound abspielen (WAV-Datei!) PZ: rotate passt, playsound erweitern playsound (figurid) {!// wenn figur kein Blitz!!!// spiele MP3 für figurid!!// sonst!!!// spiele WAV für Blitz! }! OO: neue Klasse für Blitz Blitz! rotate () {}! playsound () {!!// spiele WAV für Blitz! }! Achim Ebert OOP.1.7

9 Objektorientierung Ein erster Kontakt Objektorientierte vs. prozedurale Programmierung Wie aber war die Spezifikation zu interpretieren? Interpretation beider Programmierer Alle Figuren rotieren um die Mitte Umsetzung: Rotation der Bounding Box um deren Mittelpunkt Interpretation der Auftraggeber Quadrat, Kreis, Dreieck: Rotation um die Mitte Blitz: Rotation um die Spitze Achim Ebert OOP.1.8

10 Objektorientierung Ein erster Kontakt Objektorientierte vs. prozedurale Programmierung PZ: schreibt rotate-funktion komplett um Übergabe eines Rotationszentrums Unterscheidung Blitz und sonstige Figuren rotate (figurid, xr, yr) {!// wenn figur kein Blitz!!!// berechne Bounding Box B!!!// berechne Mittelpunkt von B!!!// rotiere B (inkl. figur)!!// sonst!!!// rotiere um xr, yr! }! OO: nur Methode in Blitz-Klasse muss überarbeitet werden Fertiger, getesteter Code für die anderen Figuren muss nicht angepackt werden! Achim Ebert OOP.1.9

11 Objektorientierung Ein erster Kontakt Vererbung Aber: Ist im Ansatz von OO nicht alles doppelt und dreifach? Jede Figur-Methode hat ein eigenes rotate! Jede Figur-Methode hat ein eigenes playsound! Dabei ist bis auf die Blitz-Figur doch das Vorgehen identisch... Nein! Objektorientierung kennt Vererbung! Schritt 1: Suche nach den Elementen, die alle Klassen gemeinsam haben Alle Figuren sollen rotieren und Sound abspielen Schritt 2: Extrahiere alle gemeinsamen Features und packe diese in eine eigene Klasse Diese Klasse heißt Superklasse Im Beispiel: Superklasse Figur (Features: Rotieren über Bounding Box, MP3 spielen) Achim Ebert OOP.1.10

12 Objektorientierung Ein erster Kontakt Vererbung Nein! Objektorientierung kennt Vererbung! Schritt 3: Alle Klassen mit Superklasse verknüpfen Entstandene Beziehung heißt Vererbung Die erbenden Klassen heißen Unterklassen Figur! rotate () playsound ()!// Bouding Box!!// MP3! Quadrat! Kreis! Dreieck! Blitz! Achim Ebert OOP.1.11

13 Objektorientierung Ein erster Kontakt Vererbung Nein! Objektorientierung kennt Vererbung! Figur! rotate () playsound ()!// Bouding Box!!// MP3! Quadrat! Kreis! Dreieck! Blitz! rotate () {!!// Rotieren!// um Eckpunkt! }! playsound () {!!// WAV spielen! }! Achim Ebert OOP.1.12

14 Objektorientierung Ein erster Kontakt Klassen und Objekte Entwurf einer Klasse Welche Objekte sollen erzeugt werden? Welche Informationen speichert das Objekt? Welche Aktionen führt das Objekt aus? Instanzvariablen speichern Informationen Methoden beschreiben Aktionen Beispiel: Instanzvariablen Methoden Car! manufacturer! model color! setmanufacturer () setmodel () setcolor () soundhorn () blink ()! Achim Ebert OOP.1.13

15 Objektorientierung Ein erster Kontakt Klassen und Objekte Objekt Klasse Klasse = Blaupause für Objekt Klasse definiert, woraus ein Objekt besteht Objekt füllt diese Hülle erst mit seinen Informationen Objekt wird auf (Garbage Collectible) Heap abgelegt Car! manufacturer! model color! SetManufacturer () setmodel () setcolor () soundhorn () blink ()! Achim Ebert OOP.1.14

16 Objektorientierung Ein erster Kontakt Garbage Collectible Heap Kurz: Java-Heap, Heap Speicherbereich, in dem Java die Objekte bei ihrer Erzeugung ablegt Java alloziert auf dem Heap soviel Speicherplatz, wie das jeweilige Objekt benötigt Objekt mit vielen Instanzvariablen belegt also i.d.r. mehr Speicheplatz als Objekt mit wenigen D.h.: alle Objekte leben auf dem Heap Freigabe von Speicherplatz Wird ein Objekt nicht mehr benötigt, so sollte es auch keinen Speicher mehr belegen Objekt muss also vom Heap genommen werden JVM erledigt dies für den Programmierer! Garbage Collector gibt Speicherplatz wieder frei Achim Ebert OOP.1.15

17 Wdh.: Interpreter und Compiler Umwandlung höhere Programmiersprache in Mikroanweisungen: 2 Schritte Höhere Programmiersprache Maschinensprache Maschinensprache Mikroanweisungen Zweiter Schritt mehrfach verwendbar (für verschiedene höhere Programmiersprachen) Vorlesung: Konzentration auf ersten Schritt Interpreter Vor allem bei Sprachen mit einfacher Syntax (z.b. Basic) sinnvoll, insbesondere auch bei Maschinensprachen Interpreter führt Umwandlung von einer höheren Programmiersprache in Maschinensprache zeilenweise, Anweisung für Anweisung, durch Achim Ebert OOP.1.16

18 Wdh.: Interpreter und Compiler Interpreter Arbeitet während der Laufzeit eines Programms Bei Verwendung eines Interpreters für den ersten Schritt werden (bei Schleifen, ) Anweisungen mehrfach übersetzt! Arbeitsweise Beginne am Anfang des Programms Wiederhole Analysiere Syntax der nächsten Anweisung, um ihren Typ zu bestimmen Falls kein Syntaxfehler vorliegt Dann: rufe das Modul (Folge von Maschinensprach-Anweisungen) für diesen Anweisungstyp auf Sonst: melde einen Fehler Bis Ende des Programms erreicht ist oder Syntaxfehler auftritt Achim Ebert OOP.1.17

19 Wdh.: Interpreter und Compiler Compiler Liest Gesamtprogramm und wandelt es in ein Gesamtprogramm in Maschinencode (sog. object code) um Compilierung Übersetzung von der Ausführung getrennt Übersetzung abhängig von Syntax der Sprache Lexikalische Analyse (Scanner) Zerteilt eingelesenen Quelltext in Token verschiedener Klassen, z.b. Schlüsselwörter, Zahlen, Operatoren,... Syntaktische Analyse (Parser) Analyse des Outputs der lexikalischen Analyse mit Hilfe der Grammatikregeln der Programmiersprache Semantische Analyse Einfache semantische Kontrolle, z.b. Typüberprüfung, fehlende Deklarationen,... Achim Ebert OOP.1.18

20 Wdh.: Interpreter und Compiler Beispiel: Java Einsatz sowohl von Compiler als auch Interpreter Java-Programm wird vom Java-Compiler nicht direkt in Maschinensprache, sondern in Code für eine virtuelle Java-Maschine (Java Bytecode) übersetzt Bytecode wird anschließend durch die virtuelle Java-Maschine interpretiert und ausgeführt Virtuelle Java-Maschine (Interpreter!) i.a. in Software realisiert und auf sehr vielen Plattformen verfügbar Durch diesen Zwischenschritt wird Java plattformunabhängig! Übersetztes Java-Programm ist ohne Anpassungen auf jeder Maschine lauffähig, auf der die virtuelle Java-Maschine installiert ist Bytecode kann auch von virtueller Java-Maschine eines Browsers direkt interpretiert werden Achim Ebert OOP.1.19

21 Java Erste Grundlagen Java Objektorientierte Programmiersprache Eingetragene Marke von Sun Microsystems (2010 von Oracle aufgekauft) Java-Technologie Java-Programmiersprache Java-Entwicklungswerkzeug (JDK): Erstellen von Java-Programmen Java-Laufzeitumgebung (JRE): Ausführung der Programme JRE-Laufzeitumgebung Virtuelle Maschine (JVM) Mitgelieferte Bibliotheken der Java-Laufzeitumgebung Achim Ebert OOP.1.20

22 Java Erste Grundlagen Java SE 7 Plattform im Überblick [Oracle: Java Platform Standard Edition 7 Documentation, Conceptual Diagram] Achim Ebert OOP.1.21

23 Java Erste Grundlagen Eigenschaften von Java Einfachheit und Robustheit Reduzierter Sprachumfang (z.b. sind explizite Operationen auf Zeigern und Mehrfachvererbung im Gegensatz zu C/C++ nicht möglich) Java-Design reduziert Wahrscheinlichkeit ungewollter Systemfehler (z.b. durch starke Typisierung, Speicherverwaltung, keine Zeigerarithmetik usw.) Objektorientierung Im Gegensatz zu C++ ist Java rein objektorientiert Basiert auf sog. Klassen und Instanzen dieser Klassen Plattformunabhängigkeit Java-Programme können ohne neue Compilierung auf unterschiedlichen Plattformen ausgeführt werden Achim Ebert OOP.1.22

24 Java Erste Grundlagen Java Virtual Machine (JVM) Laufzeitumgebung aller Java-Programme Für jedes Betriebssystem existiert eigene JVM Muss installiert sein, bevor Java-Programme ausgeführt werden können Für reine Ausführung reicht die sog. Runtime- Umgebung (JRE) Java-Programme werden daher nicht für spezielles Betriebssystem übersetzt, sondern nur für die JVM JVM für Mac MacOS Java Quellcode Java Bytecode JVM für Windows Windows JVM für Achim Ebert OOP.1.23

25 Java Erste Grundlagen Java Virtual Machine (JVM) (cont.) Sicherheit Alle Programme laufen innerhalb virtueller Maschine Dynamische Optimierung Beim Schreiben des Programmes muss darunter liegende Architektur nicht beachtet werden, d.h. keine Optimierung auf bestimmtes System Sun Hotspot Optimizer analysiert Code zur Laufzeit (Branch Prediction, Umstellung von Befehlen, usw.) Garbage Collector Java kümmert sich selbständig um Objektverwaltung Explizites Freigeben von Objekten im Speicher entfällt Achim Ebert OOP.1.24

26 Java Erste Grundlagen Java Virtual Machine (JVM) (cont.) Nachteile Im Vergleich zu für spezifische Plattformen übersetzten Code sind Java-Programme langsamer (z.b. Problem bei geforderter Echtzeitfähigkeit) Durch die eigenständige Objektverwaltung verbrauchen sie i.d.r. mehr Speicherplatz Jedoch... Ressourcenverbrauch verliert mit wachsender Komplexität von Software zunehmend an Gewicht Speicher ist heute günstig Robustheit und Plattformunabhängigkeit wiegen Nachteile i.d.r. auf Achim Ebert OOP.1.25

27 Java Erste Grundlagen Erstellung eines Java-Programms Schritt 1: Quellcode Eingabe des Quellcodes mit Editor Abspeichern des Codes als.java-datei Achim Ebert OOP.1.26

28 Java Erste Grundlagen Erstellung eines Java-Programms (cont.) Schritt 2: Compiler Übersetzung der.java-datei in Bytecode Compiler-Anwendung: javac <dateiname>.java Achim Ebert OOP.1.27

29 Java Erste Grundlagen Erstellung eines Java-Programms (cont.) Schritt 3: Bytecode Compiler speichert Bytecode ab Ergebnis: Datei <dateiname>.class Achim Ebert OOP.1.28

30 Java Erste Grundlagen Erstellung eines Java-Programms (cont.) Schritt 4: Virtuelle Maschinen Java-Programm ausführen, indem die Java Virtual Machine (JVM) mit der.class-datei gestartet wird Z.B.: java <dateiname> JVM interpretiert.class-datei und führt Programm aus Achim Ebert OOP.1.29

31 Java Erste Grundlagen Code-Struktur in Java Quelldatei Erweiterung.java Enthält genau eine (öffentliche) Klassendefinition (Klasseninhalt innerhalb geschweifter Klammern) Klasse Klasse ist Teil des Programms Klasse hat eine oder mehrere Methoden Methoden werden innerhalb der Klasse definiert (also innerhalb der geschweiften Klammern) Methode Methode besteht aus Satz von Anweisungen Anweisungen legen fest wie Methode ausgeführt wird Anweisungen innerhalb geschweifter Klammern der Methode Achim Ebert OOP.1.30

32 Java Erste Grundlagen Code-Struktur in Java Aufbau einer Klasse public class JavaAnwendung { public static void main (String[] args){ } System.out.print ("Hello World! "); System.out.println ("Hi... "); } Achim Ebert OOP.1.31

33 Java Erste Grundlagen Methoden Ziel: Code übersichtlicher und wartbarer gestalten durch Aufteilung in Teilaufgaben, z.b.: Zustand eines Objektes abfragen Zustand eines Objektes ändern Berechnung durchführen Ausgabe auf dem Bildschirm machen... Objekte interagieren miteinander, indem sie gegenseitig Methoden auf sich aufrufen und somit einen Nachrichtenaustausch generieren main-methode Spezielle Methode Hier beginnt die JVM mit der Ausführung Achim Ebert OOP.1.32

34 Java Erste Grundlagen Aufbau von Methoden Methodenkopf + Methodenrumpf Methodenrumpf Umsetzung der Aufgabe der Methode Eingerahmt in geschweifte Klammern {...} Methodenkopf (Signatur) [Sichtbarkeit] Ergebnistyp Name ([Param.]) Sichtbarkeit (optional): z.b. public Ergebnistyp: hat Methode keinen Ergebniswert, so wird deren Typ mit void definiert Name: Bezeichner der Methode, z.b. ausgabe Parameterliste (optional): eingerahmt in runden Klammern Bei leerer Parameterliste muss () angegeben werden Klasse darf keine zwei Methoden mit identischer Signatur haben! Achim Ebert OOP.1.33

35 Java Erste Grundlagen Beispiele für Methoden in Java class Methodentest1 { } void ausgabe() { System.out.println ("Hallo"); } public static void main(string[] args) { System.out.println ("Start"); } Klasse Methodentest1 besitzt zwei Methoden Methode ausgabe Soll Hallo auf dem Bildschirm ausgeben Methode main Soll Start ausgeben Fehlt hier nicht etwas? Achim Ebert OOP.1.34

36 Java Erste Grundlagen Beispiele für Methoden in Java (cont.) class Methodentest1b { } public static void ausgabe() { System.out.println ("Hallo"); } public static void main(string[] args) { System.out.println ("Start"); ausgabe (); } Methode ausgabe wurde bisher nicht aufgerufen! Dies wurde hier nun korrigiert Achim Ebert OOP.1.35

37 Java Erste Grundlagen Beispiele für Methoden in Java (cont.) class Methodentest2 { } public static void ausgabe() { System.out.println ("Hallo"); ausgabe2 (); } public static void ausgabe2() { System.out.println ("Hi"); System.out.println (" "); } public static void main(string[] args) { System.out.println ("Start"); ausgabe (); ausgabe2 (); } Methoden können an verschiedenen Stellen und beliebig oft aufgerufen werden. Achim Ebert OOP.1.36

38 Java Erste Grundlagen Klassen und Objekte in Java Erinnerung: Auto-Klasse und -Objekte Car! manufacturer! model color! SetManufacturer () setmodel () setcolor () soundhorn () blink ()! Eine Klasse Vier Objekte Achim Ebert OOP.1.37

39 Java Erste Grundlagen Klassen und Objekte in Java Die Auto-Klasse in Java!class Car { } String manufacturer; String model; int color; void soundhorn () { System.out.println ("beep beep"); } Erzeugung eines Auto-Objekts!!class TestCar { public static void main (String[] args) { Car c = new Car (); c.color = 42; c.soundhorn (); } } Achim Ebert OOP.1.38

40 Java Erste Grundlagen main-methode Nur zwei Verwendungszwecke Testen der entwickelten Klassen Java-Anwendungen starten Folgerung für echte OO-Anwendung Besteht nur aus Objekten Objekte rufen aufeinander Methoden auf main-methode bringt nur den Stein ins Rollen! Java-Programm Menge von Klassen (mind. eine) Eine der Klassen muss main-methode haben Bei sehr vielen Klassen ( i.d.r. viele Dateien): meist gepackt in einem Java-Archiv (.jar-datei) Achim Ebert OOP.1.39

41 Lessons Learned Objektorientierung Interaktion zwischen Objekten Objekte sind Instanzen von Klassen Jedes Objekt hat nach außen eigenes Verhalten Rest des Programms weiß nicht wie das Verhalten intern umgesetzt ist Vererbung ist eine der zentralen Techniken Java Objektorientierte Programmiersprache 4 grundlegende Schritte bei der Programmerstellung Java-Datei besteht aus Klassen und Methoden Aufteilung in einzelne Methoden macht Code übersichtlicher und wartbarer Achim Ebert OOP.1.40

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

Institut für Programmierung und Reaktive Systeme. Java 1. Markus Reschke Java 1 Markus Reschke 06.10.2014 Überblick Einführung in die Programmierung zur Vereinfachung des Einstiegs ins Studium Erstellung von ausführbaren Programmen für den Computer Denk- und Vorgehensweisen

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Einführung Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 04.10.2016 Technische Universität Braunschweig, IPS Überblick Organisatorisches Hello! 04.10.2016 Dr. Werner Struckmann / Stephan Mielke,

Mehr

Vorkurs Informatik WiSe 17/18

Vorkurs Informatik WiSe 17/18 Java Einführung Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 04.10.2017 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello World 04.10.2017 Dr. Werner Struckmann

Mehr

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder Java: Kapitel 1 Überblick Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Was ist Java? Die Java-Technologie umfasst die Programmiersprache Java sowie die Java-Plattform

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

Es gibt keinen Algorithmus zum Schreiben eines Programms bzw. Algorithmus.

Es gibt keinen Algorithmus zum Schreiben eines Programms bzw. Algorithmus. 1 Einführung Programmiersprachen: Ermöglichen formale Beschreibung von Problemlösungsverfahren, die auf einem Computer oder Computersystemen ausführbar sind. Bilden die Basis zur Entwicklung von Software

Mehr

Definitionen/Vorarbeit zum Thema Java

Definitionen/Vorarbeit zum Thema Java Definitionen/Vorarbeit zum Thema Java Programmiersprachen: System von Wörtern und Symbolen, die zur Formulierung von Programmen für die elektronische Datenverarbeitung verwendet werden. Arten: z.b. Javascript

Mehr

n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen - 1 -

n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen - 1 - n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik n "Informatik" = Kunstwort aus Information

Mehr

Praktische Informatik 1

Praktische Informatik 1 Praktische Informatik 1 Imperative Programmierung und Objektorientierung Karsten Hölscher und Jan Peleska Wintersemester 2011/2012 Session 2 Programmierung Begriffe C/C++ Compiler: übersetzt Quellcode

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

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Java 1 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 12.10.2015 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello! 12.10.2015 Dr. Werner Struckmann / Stephan

Mehr

Grundlagen der Informatik für Ingenieure I

Grundlagen der Informatik für Ingenieure I 2 Java: Java-Einführung 2 Java: Java-Einführung 2.1 Java-Entwicklungsgeschichte 2.2 Java Eigenschaften 2.3 Java-Entwicklungsumgebung 2.4 Application vs. Applet 2.5 Ein erstes Programm 2.1 2.1 Java - Entwicklungsgeschichte

Mehr

Informatik. Studiengang Chemische Technologie. Michael Roth Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013.

Informatik. Studiengang Chemische Technologie. Michael Roth Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013. Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VIII Einstieg in Java II Michael Roth (h_da) Informatik

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

2. JAVA-Programmierung. Informatik II für Verkehrsingenieure

2. JAVA-Programmierung. Informatik II für Verkehrsingenieure 2. JAVA-Programmierung Informatik II für Verkehrsingenieure Problem-Algorithmus-Umsetzung Problemstellung Algorithmus Umsetzung 2 Beispiele für Algorithmen 3 Definitionsversuch Algorithmus Anleitung, wie

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

Teil 3 - Java. Grundlagen Klassen, Attribute Methoden

Teil 3 - Java. Grundlagen Klassen, Attribute Methoden Teil 3 - Java Grundlagen Klassen, Attribute Methoden 1 Java 2 - Geschichte Ursprung: Green -Project bei der Firma Sun Microsystems 1991 Entwicklung eines Systems mit folgenden Eigenschaften: hardwareunabhängig

Mehr

Kapitel 1: Einführung

Kapitel 1: Einführung Liste P: Programmieren mit Java WS 2001/2002 Prof. Dr. V. Turau FH Wiesbaden Kapitel 1: Einführung Folie 1 : Rückblick Entwicklung von Java begann etwa 1990 Erste öffentliche Version 1994 Erste große Anwendung:

Mehr

Objektorientierte Programmierung und Klassen

Objektorientierte Programmierung und Klassen Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 16.5.07 G. Bohlender (IANM UNI Karlsruhe) OOP

Mehr

III.1 Prinzipien der funktionalen Programmierung - 1 -

III.1 Prinzipien der funktionalen Programmierung - 1 - 1. Prinzipien der funktionalen Programmierung 2. Deklarationen 3. Ausdrücke 4. Muster (Patterns) 5. Typen und Datenstrukturen 6. Funktionale Programmiertechniken III.1 Prinzipien der funktionalen Programmierung

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

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

Programmieren in Java

Programmieren in Java Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware

Mehr

Abschnitt 1: Einführung

Abschnitt 1: Einführung Abschnitt 1: Einführung 1. Einführung 1.1 Historischer Überblick: Objektorientierte Programmiersprachen 1.2 Java Erste Schritte 1.3 Kommentare in Java 1 Einführung Informatik 2 (SS 07) 10 Überblick 1.

Mehr

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Agenda Elementare Einführung C Programm Syntax Datentypen, Variablen und Konstanten Operatoren und Ausdrücke Kontrollstrukturen

Mehr

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Institut für Programmierung und Reaktive Systeme Vorkurs Informatik WiSe 15/16 Java 5 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 16.10.2015 Technische Universität Braunschweig, IPS Überblick

Mehr

Repetitorium Informatik (Java)

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

Mehr

Objektorientierte Programmierung (OOP)

Objektorientierte Programmierung (OOP) orientierte Programmierung (OOP) 1. Motivation Die objektorientierte Sichtweise der Welt Als Motivation für die OOP sieht man sich am besten die reale Welt an: Die reale Welt besteht aus "en", z. B.: Gegenstände,

Mehr

Einstieg in Java und OOP

Einstieg in Java und OOP examen.press Einstieg in Java und OOP Bearbeitet von Christian Silberbauer 1. Auflage 2009. Taschenbuch. x, 170 S. Paperback ISBN 978 3 540 78615 3 Format (B x L): 15,5 x 23,5 cm Gewicht: 314 g Weitere

Mehr

Programmieren in Java

Programmieren in Java Einführung in die Objektorientierung Teil 4 Interfaces, Polymorphie und innere Klassen 2 Vererbung im Klassendiagramm (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Object

Mehr

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

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

Mehr

Java: Der Einstieg. Algorithmen und Datenstrukturen II 1

Java: Der Einstieg. Algorithmen und Datenstrukturen II 1 Java: Der Einstieg Algorithmen und Datenstrukturen II 1 Grundlegendes zu Java: Historisches 1990-1991: Entwicklung der Programmiersprache OAK durch James Gosling von Sun Microsystems (zunächst für Toaster,

Mehr

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Institut für Programmierung Java Objektorientierte Programmierung Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 12 bis 14.10.2016 Technische Universität Braunschweig, IPS Überblick Warum OOP? OOP

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

Einführung in die Programmiersprache Java II

Einführung in die Programmiersprache Java II Einführung in die Programmiersprache Java II ??????????? UML OOP "Object oriented programming is bad" - professional retard 90s... UML Entwicklungsziele verschiedenen existierenden objektorienten Modellierungsmethoden

Mehr

Vorkurs Informatik WiSe 17/18

Vorkurs Informatik WiSe 17/18 Institut für Programmierung Java Objektorientierte Programmierung Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 11. bis 13.10.2017 Technische Universität Braunschweig, IPS Warum OOP? OOP mit Java

Mehr

Grundlagen der Programmierung UE

Grundlagen der Programmierung UE Grundlagen der Programmierung UE Research and teaching network GdP UE H. Prähofer, R. Wolfinger 1 Vortragende Dr. Herbert Praehofer (G1 u. G2) Mag. Reinhard Wolfinger (G3 u. G4) Institute for System Software

Mehr

Programmierung. Programme, Compiler, virtuelle Maschinen, Java

Programmierung. Programme, Compiler, virtuelle Maschinen, Java Programmierung Programme, Compiler, virtuelle Maschinen, Java Programme Ein Programm ist eine Folge von Anweisungen, die einem Computer sagen, was er tun soll tuwas.c for(int i=0; i=0; i

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 25 Einstieg in die Informatik mit Java Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 25 1 Die Philosophie 2 Definition

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

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 02. JAVA: Erstes Programm 1 Das erste Java-Programm

Mehr

Methoden und Wrapperklassen

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

Mehr

Java-Einführungskurs Informatik II (D-ITET) Vincent Becker,

Java-Einführungskurs Informatik II (D-ITET) Vincent Becker, Java-Einführungskurs Informatik II (D-ITET) Vincent Becker, vincent.becker@inf.ethz.ch Was haben wir heute vor? Vorbereitung auf die Übungen zu Informatik II Vorstellung des Teams Organisatorisches Theorie

Mehr

Grundlagen der Programmierung UE

Grundlagen der Programmierung UE Grundlagen der Programmierung UE Research and teaching network GdP UE H. Prähofer, M Löberbauer 1 Vortragende Dipl.-Ing. Markus Löberbauer (G1) Dr. Herbert Praehofer (G2 u. G3) Institute for System Software

Mehr

Kapitel 02. Java was, wann, warum, wieso. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Kapitel 02. Java was, wann, warum, wieso. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz Kapitel 02 Java was, wann, warum, wieso Java, eine objektorientierte Programmiersprache Java ist eine objektorientierte Programmiersprache und als solche ein eingetragenes Warenzeichen der Firma Sun Microsystems.

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Programmierparadigmen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Programmiersprachen-Paradigmen Eine Programmiersprache

Mehr

Vorlesung Programmieren. Programmiersprachen-Paradigmen. Programmierparadigmen. Eine Programmiersprache dient dem Aufschreiben von Algorithmen

Vorlesung Programmieren. Programmiersprachen-Paradigmen. Programmierparadigmen. Eine Programmiersprache dient dem Aufschreiben von Algorithmen Vorlesung Programmieren Programmierparadigmen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Programmiersprachen-Paradigmen Eine Programmiersprache

Mehr

Kapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Kapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz Kapitel 13 Abstrakte Methoden und Interfaces 13. Abstrakte Klassen und Interfaces 1. Abstrakte Klassen 2. Interfaces und Mehrfachvererbung Folie 12.2 Abstrakte Methoden und Klassen Manchmal macht es überhaupt

Mehr

Java-Einführungskurs Informatik II (D-ITET) Vincent Becker,

Java-Einführungskurs Informatik II (D-ITET) Vincent Becker, Java-Einführungskurs Informatik II (D-ITET) Vincent Becker, vincent.becker@inf.ethz.ch Was haben wir heute vor? Vorbereitung auf die Übungen zu Informatik II Vorstellung des Teams Organisatorisches Theorie

Mehr

Übung U02 (WS 2005/06) U02

Übung U02 (WS 2005/06) U02 Übung U02 (WS 2005/06) U02 Inhalt der Übung Grundlegende objektorientierte Begriffe (Objekt, Klasse, Attribut, Methode/Operation) am Beispiel von Java Erste Schritte im Schreiben von Java-Programmen Erzeugen

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)

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 - Einführung in die Programmiersprache. Leibniz Universität IT Services Anja Aue

Java - Einführung in die Programmiersprache. Leibniz Universität IT Services Anja Aue Java - Einführung in die Programmiersprache Leibniz Universität Anja Aue Handbücher am RRZN Programmierung. Java: Grundlagen und Einführung Java: Fortgeschrittene Techniken und APIs Java und XML Java -

Mehr

2 Eine einfache Programmiersprache

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

Mehr

Zuerst wird die Bedingung ausgewertet. Ist sie erfüllt, wird der Rumpf des while-statements ausgeführt. Nach Ausführung des Rumpfs wird das gesamte

Zuerst wird die Bedingung ausgewertet. Ist sie erfüllt, wird der Rumpf des while-statements ausgeführt. Nach Ausführung des Rumpfs wird das gesamte Zuerst wird die Bedingung ausgewertet. Ist sie erfüllt, wird der Rumpf des while-statements ausgeführt. Nach Ausführung des Rumpfs wird das gesamte while-statement erneut ausgeführt. Ist die Bedingung

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

Von der Programmiersprache WHILE zum ersten Einstieg in Java

Von der Programmiersprache WHILE zum ersten Einstieg in Java Von der Programmiersprache WHILE zum ersten Einstieg in Java Die Programmiersprache WHILE bildet den Kern jeder imperativen Programmiersprache. Man geht davon aus, dass die Ein- Ausgabe primitiv organisiert

Mehr

Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik

Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode wird public

Mehr

2 Eine einfache Programmiersprache

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

Mehr

2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen

2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen Variablen Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Variablen dienen zur Speicherung von Daten. Um Variablen

Mehr

Programmierkurs. Manfred Jackel

Programmierkurs. Manfred Jackel Java für Anfänger Teil 1: Intro Programmierkurs 12.-16.10.2009 10 2009 Manfred Jackel 1 1. Handwerkszeug Notwendige Software Java Runtime Environment JRE 6 von http://java.sun.com/javase/downloads/index.js

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

Klassenvariablen, Klassenmethoden

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

Mehr

Gliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung

Gliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung Gliederung n Teil I: Einleitung und Grundbegriffe l 1. Organisatorisches l 2. Grundlagen von Programmiersprachen n Teil II: Imperative und objektorientierte Programmierung l 1. Grundelemente der Programmierung

Mehr

Programmieren lernen mit Groovy Allgemeines Programme und ihre Ausführung

Programmieren lernen mit Groovy Allgemeines Programme und ihre Ausführung Programmieren lernen mit Groovy Allgemeines Programme und ihre Ausführung Seite 1 Allgemeines Dozent Dr. Th. Letschert Lernziel Einführung in die Software-Entwicklung und Programmierung Kenntnisse einer

Mehr

Empfehlenswerte Literatur

Empfehlenswerte Literatur Empfehlenswerte Literatur 1 Flanagan, David: Java in a Nutshell, O Reilly, UK, 2002 (50 ) Online Referenzen unter http://www.wi3.uni-erlangen.de/lehre/ http://java.sun.com http://www.javaworld.com/ Online

Mehr

Vorlesung Programmieren

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

Mehr

Silke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank...

Silke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank... Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: hat Farbe Hubraum Tank kann man Gas geben Bremsen Hoch

Mehr

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II AG Praktische Informatik Technische Fakultät Vorlesung Sommer 2009 Teil I Java: Der Einstieg Grundlegendes zu Java: Historisches 1990-1991: Entwicklung der Programmiersprache

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

Programmiersprache. Emily & rica

Programmiersprache. Emily & rica Programmiersprache Emily & rica inhaltsangabe Programmiersprache Def inition/funktion Arten Gängige Algorithmus/Syntax Compiler, Interpreter Def inition Unterscheidung Vor- und Nachteile Compiler/ Interpreter

Mehr

Java Einführung Programmcode

Java Einführung Programmcode Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:

Mehr

CS1005 Objektorientierte Programmierung

CS1005 Objektorientierte Programmierung CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Allgemeines Java-Programme erstellen und ausführen Seite 1 Allgemeines Dozenten Dr. Th. Letschert Dr. Andreas Dominik Tutoren Lernziel

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)

Mehr

Von Assembler zu Java

Von Assembler zu Java Von Assembler zu Java Prof. Dr.-Ing. Thomas Schwotzer 1 Einführung Die erste imperativen Programme wurden in den Urzeiten der IT tatsächlich direkt auf der Hardware der Maschinen geschrieben. Die verfügbaren

Mehr

Programmieren in Java

Programmieren in Java Einführung in die (imperative) Programmierung 2 Programmierung Ziel: Zielsystem soll eine bestimmte Aktion ausführen Zielsystem: Eine Plattform wie Windows oder MacOS oder ein bestimmter Prozessor Aktion:

Mehr

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode Methoden und Klassen Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode

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

1 Einführung. public static void main(string[] args) { // Gibt "Hello World" aus System.out.println("Hello World");

1 Einführung. public static void main(string[] args) { // Gibt Hello World aus System.out.println(Hello World); Vorwort Es kann ganz schön anstrengend sein, das Programmieren zu erlernen. Aber es kann auch ziemlich viel Spaß machen! Grundsätzlich kann man sagen, dass es erheblich leichter fällt, wenn man es lernen

Mehr

Berner Fachhochschule Hochschule für Technik und Informatik HTI. Kapitel 1. Einstieg in Java. Dr. Elham Firouzi 06.09.10 1

Berner Fachhochschule Hochschule für Technik und Informatik HTI. Kapitel 1. Einstieg in Java. Dr. Elham Firouzi 06.09.10 1 Kapitel 1 Einstieg in Java Dr. Elham Firouzi 06.09.10 1 1 : Einstieg in Java Einleitung Ein erstes Beispiel Berner Fachhochschule Entwicklung von Java-Programmen Applikationen Applets Vor und Nachteile

Mehr

7. Übung Informatik II - Objektorientierte Programmierung

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

Mehr

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 14.1.

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 14.1. Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 14.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung 14.1.08 1 / 11 Übersicht 1

Mehr

pue13 January 28, 2017

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

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 1. Einführung und Grundbegriffe

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 1. Einführung und Grundbegriffe 1 Kapitel 1 2 Ziele Begriffsbildungen: Informatik, Algorithmus, Programm, Compiler, Einordnung von Java Ein einfaches Java-Programm erstellen, übersetzen und ausführen Java-Programme dokumentieren 3 Informatik

Mehr

Praxis der Programmierung

Praxis der Programmierung Template-Funktionen und -Klassen Einführung in Java Institut für Informatik und Computational Science Universität Potsdam Henning Bordihn 1 Template-Funktionen 2 Minimumfunktion und offene Typen Aufruf

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

CS1005 Objektorientierte Programmierung

CS1005 Objektorientierte Programmierung CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Funktionen / statische Methoden - Definition - Verwendung - Ausführung Seite 1 Th Letschert Funktionen: Definition und Verwendung

Mehr

2 Eine einfache Programmiersprache

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

Mehr

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

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5. Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 23.5.07 G. Bohlender (IANM UNI Karlsruhe) Vererbung 23.5.07 1 / 22 Übersicht 1

Mehr

Java für Anfänger Teil 1: Intro. Programmierkurs 11.-15.10.2010 Manfred Jackel

Java für Anfänger Teil 1: Intro. Programmierkurs 11.-15.10.2010 Manfred Jackel Java für Anfänger Teil 1: Intro Programmierkurs 11.-15.10.2010 Manfred Jackel 1 1. Handwerkszeug Eclipse Workbench mit Java-Compiler Java Runtime Environment Notwendige Software Java Runtime Environment

Mehr