Sommersemester 2003 Lars Bernard

Slides:



Advertisements
Ähnliche Präsentationen
ALP II: Objektorientierte Programmierung Sommersemester 2006
Advertisements

der Universität Oldenburg
Objektorientierte Programmierung
Imperative Programmierung
der Universität Oldenburg
der Universität Oldenburg
Forschungszentrum caesar
Einführung in die Programmierung Zusammenfassung
Zusammenfassung der Vorwoche
Kapselung , toString , equals , Java API
Progwerkstatt JAVA Klasse, Objekte, Konstruktoren, Methoden
(kleine!) Java Einführung Mittwoch, Heute Ziel: erstes Java-Programm erstellen Von der Aufgabenstellung bis zur Lösung Grundlagen Einfache.
Imperative Programmierung -Entwicklungswerkzeuge
Objektorientierte Programmierung
der Universität Oldenburg
FH-Hof Einbindung von JavaScript Anweisungen
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Listen Richard Göbel.
Indirekte Adressierung
Java: Grundlagen der Sprache
Java: Referenzen und Zeichenketten
Java: Grundlagen der Objektorientierung
Klassenvariable. Da man für jede Kuh bzw. jede Henne auf dem Markt den gleichen Preis für ein Liter Milch, bzw. den gleichen Preis für ein Ei bekommt,
Konstruktoren.
Objekte werden als Adressen (Referenzen) übergeben. Dies führt manchmal zu unerwarteten Ergebnissen...
Objekte und Arbeitsspeicher
ARRAY oder FELD oder VEKTOR
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 4 Vererbung Sommersemester 2003 Lars Bernard.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 6 Model-View-Controler als Grundlage für Nutzerschnittstellen Sommersemester 2003 Lars Bernard.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 5 Polymorphismus Sommersemester 2003 Lars Bernard.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 1
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 3 Klassen, Objekte, Arrays und Kontrollstrukturen Sommersemester 2003 Lars Bernard.
Imperative Programmierung
Java-Kurs - 2. Übung Entwicklungsumgebung Struktur von Programmen
Programmieren mit JAVA
Praxis-Repetitorium JAVA zusätzliche, ergänzende Lehrveranstaltung
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
PKJ 2005/1 Stefan Dissmann Zusammenfassung der Vorwoche Variable stehen für (einen) Wert, der sich im Programmablauf ändern kann. Variablen besitzen einen.
Zusammenfassung Vorwoche
DVG Einführung in Java1 Einführung in JAVA.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Einführung in die Programmierung Klassendefinition und Objekte
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Sitzung 3: Klassen, Objekte, Arrays und Kontrollstrukturen
Sommersemester 2004 Jan Drewnak Sitzung 1 Praktikum Entwicklung und Einsatz von Geosoftware I Sitzung 1: Einführung und Organisation.
Herzlich Willkommen zu „Einführung in die Programmierung mit Java“
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Dynamische Datentypen
Variablenkonzept Klassisch, in Java Basistyp
Die Klasse String und ihre Methoden
Variablen in Programmiersprachen
Wilfried Imrich CuP - Java Erste Vorlesung Entspricht ungefähr Kapitel 1.1 des Skriptums Wilfried Imrich Montanuniversität Leoben Freitag, 4. Oktober 2002.
CuP - Java Vierte Vorlesung Entspricht ungefähr Kapitel 2.1 des Skriptums Montag, 14. Oktober 2002.
CuP - Java Sechste Vorlesung Entspricht ungefähr Kapitel 3. 1 – 3
Programmieren in C Grundlagen C 2
CuP - Java Achte Vorlesung Entspricht ungefähr Kapitel 4.1 des Skriptums Montag, 28. Oktober 2002.
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Übersicht Nachtrag zu Ausdrücken
Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen
Java-Kurs - 3. Übung Hausaufgabe Arrays For-Schleifen.
Kapitel 5Strukturen Information aus der realen Welt werden in einem informationsverarbeitenden System als Daten abgelegt. Diese stellen also eine (vereinfachte)
Java-Kurs Übung Besprechung der Hausaufgabe
Einführung in Java PING e.V. Weiterbildung Andreas Rossbacher 24. März 2005.
Pointer. Grundsätzliches: Im Arbeitsspeicher werden Daten gespeichert. Um auf die Daten eindeutig zugreifen zu können, werden diesen Daten Adressen zugeordnet.
Java Programme nur ein bisschen objektorientiert.
Hello World! Javakurs 2013 Arne Kappen
 Präsentation transkript:

Sommersemester 2003 Lars Bernard Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 2 Programmieren und Typen Sommersemester 2003 Lars Bernard

Organisation Infos unter: http://ifgi.uni-muenster.de/~bernard/public/ GeosI/index.html Teilnehmer-Liste Geosoftware I – Lars Bernard

Einführung: Was bedeutet Programmieren? Eine mögliche Definition: Erstellen einer Simulation Objektorientierung wurde mit der Sprache Simula “erfunden” (1967) ! Es geht nicht nur darum, dass das Programm läuft Simulation = ausführbares Modell Sie lernen hier, mit Informatikmethoden Modelle zu bauen und sie auszuprobieren Geosoftware I – Lars Bernard

Hydrologische Modelle etc. Beispiele Wettervorhersage Roboter Fahrzeugnavigation Hydrologische Modelle etc. Geosoftware I – Lars Bernard

Kern der Simulation: ein Modell ein Modell der Welt, nicht des Computers Folge: Sie sollten genau verstehen, was Sie wollen Lassen Sie sich vom Programmcode nicht den Blick aufs Wesentliche nehmen Merke: “gute Programmierer programmieren einfache Aufgaben;  divide & conquer ! schlechte Programmierer versuchen, schwierige Aufgaben zu programmieren” Geosoftware I – Lars Bernard

eine Abstraktion von der Welt Was ist ein Modell ? eine Abstraktion von der Welt Wichtiges hervorheben, Details weglassen klassifizieren und verallgemeinern in einer Sprache beschrieben welche Sprachen zur Modellierung kennen Sie? welche Sprachmittel bieten diese? bestehend aus Objekten und Operationen Objektorientierung: beide zusammen betrachten. Geosoftware I – Lars Bernard

Modelle der Geoinformatik 3 Komponenten: Raumbezug Zeitbezug Thematik Besonderheiten: wir können nicht einfach festlegen, wie die Welt funktionieren soll Geometrie Geosoftware I – Lars Bernard

Java als moderne Programmiersprache Werkzeuge Ihr Kopf Papier und Bleistift Java als moderne Programmiersprache Geosoftware I – Lars Bernard

eine Programmiersprache Was ist Java? eine Programmiersprache modern, d.h. vergleichsweise “neu” (vgl. Fortran, Pascal, C, Basic, …..) eine wichtige Programmiersprache für verteilte Anwendungen und das World Wide Web (WWW) Geosoftware I – Lars Bernard

sehr stark an C++ angelehnt objektorientiert Was ist Java ? (2) sehr stark an C++ angelehnt objektorientiert “einfach”, “schnell”, “sicher” andere Programmier(sprachen)kenntnisse sind hilfreich Geosoftware I – Lars Bernard

Anwendungen schreiben! Was macht man mit Java ? Programmieren! Anwendungen schreiben! alle Arten von Anwendungen, die man mittels “klassischer” Sprachen schreiben kann insbesondere Anwendungen, die mit anderen Computern via Internet kommunizieren können Einbindung von Grafiken, Webseiten, interaktiven Fenstern, benutzerfreundlichen Oberflächen, ... Geosoftware I – Lars Bernard

Compiler & Interpreter Compiler = “Übersetzer”: übersetzt (kompiliert) das Programm in Maschinensprache Compiler liest und kompiliert gesamtes Programm ==> ausführbares Programm Interpreter liest ein Programm Zeile für Zeile und führt jede Zeile gleich aus. Geosoftware I – Lars Bernard

Java Compiler und Interpreter Java Quellcode wird mittels JAVAC kompiliert (in speziellen Bytecode) der Bytecode wird während des Programmablaufs in Maschinensprache übersetzt (mittels JAVA) Vorteile sind u.a.: der vorkompilierte Code ist Plattform-unabhängig! (Internet!) Überwachung der Programmausführung, z. B. bei Speicherzugriffen, Datenmanipulationen (Datenaustausch via Internet) Geosoftware I – Lars Bernard

Geosoftware I – Lars Bernard

Geosoftware I – Lars Bernard

zur Seminar Homepage ... Literatur-Hinweis Geosoftware I – Lars Bernard

Elementare Datentypen in Java Typen - Ziele Begriff (Daten-)Typ Zweck von Typen Beschreibung von Typen Elementare Datentypen in Java Deklaration Bereiche Operatoren Typumwandlung Geosoftware I – Lars Bernard

Welche Typen kennen Sie? Was bezeichnen diese Namen? Was ist ein Typ ? Welche Typen kennen Sie? Integer, Boolean, Character, String, etc. Was bezeichnen diese Namen? Mengen von Werten (“Wertebereich”) Boolean = { True, False } Integer = { x | minInt  x  maxInt} Wie baut man eigene Typen? Mit Typkonstruktoren wie array, list, class etc. Geosoftware I – Lars Bernard

Hauptzweck: Fehler vermeiden Wozu braucht man Typen ? Hauptzweck: Fehler vermeiden z.B. c := a + b (wo a = 5 und b = True) Speicherverwaltung Typen übersetzen die Daten der Benutzer in den internen Binärcode Modularisierung Programme bauen auf Typen auf (Zahlen, Punkte,…) Dies sorgt für Wiederverwendbarkeit! Geosoftware I – Lars Bernard

Wie beschreibt man Typen ? Durch eine Implementierung class Point { //*...*// }; Durch die zulässigen Operationen (Operatoren und Methoden) Integer: +, -, *, (div) Punkt: new Point(5.0, 4.0), getX(), getY() Signaturen von Operationen + :: Integer, Integer -> Integer getX :: Point -> Double Geosoftware I – Lars Bernard

Elementare Datentypen in Java Variablen werden als Elemente eines Typs deklariert int a, b, c; a = 5; b = 2; c = a + b; int number_; Geosoftware I – Lars Bernard

Java - Deklaration und Initialisierung int a; Im Speicher wird ein Bereich für a reserviert und der Inhalt dieses Bereichs im weiteren als ganzzahliger Wert von a interpretiert. Dann kann a ein Wert zugewiesen werden: a = 5; Geosoftware I – Lars Bernard

Java - Deklaration und Initialisierung In Java kann nur auf den Wert der Variablen zugegriffen werden (nicht auf die Adresse) Deklaration und Zuweisung/Initialisierung können in einer Anweisung erfolgen: int a = 5; Werte können explizit als Konstante deklariert werden: final int a = 5; Geosoftware I – Lars Bernard

Elementare Datentypen in Java Geosoftware I – Lars Bernard

Operatoren dienen der Veränderung und Verknüpfung von Variablen Java - Operatoren Operatoren dienen der Veränderung und Verknüpfung von Variablen arithmetische Operatoren, z.B: Add: + Subtr: - Mult: * Div: / Incr: ++ logische Operatoren: Und: && Oder: || Ungleich: != Gleich: == Zugriffsoperatoren: Indexzugriff: [] ... Geosoftware I – Lars Bernard

Java - Typumwandlung (casting) Implizite Typumwandlung (vom niedrigeren zum höheren Typ): int a = 5; double x; x = a; // => x == 5.0 Explizite Typumwandlung (vom höheren zum niedrigeren Typ): int a; double x = 5.0; a = x; // => warning or error a = (int)X; // => ok Geosoftware I – Lars Bernard

Java - Typumwandlung Bereichsüberschreitung: int a = 31 000; // 4 byte = 32 bit int b = 31 000; short s; // 2 byte = 16 bit s = a + b; // => s < 0 => overflow Implizite Typumwandlung in arithmetischen Ausdrücken: int a = 1; int b = 2; double x; x = a / b; // => x = 0 x = a / (double)b; // => x = 0.5 Geosoftware I – Lars Bernard

Typen sind ein Konzept der Programmierung Ausblick: Zusammenfassung Typen sind ein Konzept der Programmierung Ausblick: Klassen sind die objekt-orientierte Form der Erzeugung von Typen durch Benutzer Listen zur Mengen-Verwaltung Geosoftware I – Lars Bernard

Und jetzt probieren … class Number { Number(int numberIn) { } int getNumber() { return number_; int number_; class HelloNumber { public static void main(String[] args){ /* 1. Numbers as basic typs */ int Number1 = 1; int Number2, Number3; Number2 = 4; Number3 = 10; Number1 = Number2 + Number3; System.out.println("Hello to basic number 1: "+ Number1) ; System.out.println("Hello to a basic number 2 + number 3: "+ Number2 + " " + Number3) ; /* 2. Numbers as Objects */ Number myNumberObject; myNumberObject = new Number(4); System.out.println("Hello to a number object: "+ myNumberObject.getNumber()); Geosoftware I – Lars Bernard

Jetzt lesen, beginnen und dazu fragen ;-) die HA via e-mail an: Aufgabe 1 und 2 Jetzt lesen, beginnen und dazu fragen ;-) die HA via e-mail an: Lars Bernard (bernard@uni-muenster.de) jeweils bis Montag 12.00 st Geosoftware I – Lars Bernard