Vorlesung Programmieren
|
|
- Rüdiger Schmitt
- vor 6 Jahren
- Abrufe
Transkript
1 Vorlesung Programmieren Java: Packages, Classpath, JARs Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck
2 Packages Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck
3 Probleme großer Projekte Programme können aus vielen Klassen bestehen Verschiedene logische Funktionskomponenten Müssen nicht von einem Hersteller bzw. Programmierer stammen Normalerweise besteht ein Programm aus Teilen vieler Programmierer (externe Bibliotheken, Teams,...) Probleme Klassennamen doppelt vergeben Eindeutigkeit Unklare Zuordnung Funktionseinheit Klasse
4 Beispiel: Zwei Punkt -Klassen Security - 04 Cryptology #4
5 Beispiel: Zwei Punkt -Klassen Wie unterscheidet man die beiden Klassen im gleichen Programm? Eine Möglichkeit: umbenennen PunktRGB und PunktKoordinate Macht Programme oft schlechter lesbar (lange Namen) Beispiele (Windows API, Ungarische Notation) RtlWriteDecodedUcsDataIntoSmartLBlobUcsWritingContext ConvertSecurityDescriptorToStringSecurityDescriptor EapHostPeerQueryUIBlobFromInteractiveUIInputFields AccessCheckByTypeResultListAndAuditAlarmByHandle SetupRemoveInstallSectionFromDiskSpaceList Security - 04 Cryptology #5
6 Namensräume Alternative zu langen Namen Eingruppieren von Klassen in verschiedene Namensräumen Unterscheidung von Klassen durch Angabe des Namensraums Beispiel: Punkt aus Farbe vs. Punkt aus Mathe Namensräume in Java: sog. packages Namensraum Farbe Namensraum Mathe Punkt Attribute: - int rot; - int gruen; - int blau Methoden: Punkt Attribute: - double x; - double y; Methoden: - void setze(double x, double y); - void verschiebe(double dx, double dy); - void rotiere(double radians); Security - 04 Cryptology #6
7 Packages Es ist üblich, Klassen in Packages zu gruppieren Bessere Übersichtlichkeit Vorbeugung von Namenskonflikten Zusammengehörige Klassen kennzeichnen Analogie Klassennamen sind vergleichbar mit einem Vornamen Package-Name entspräche dann dem Familiennamen Package-Namen: Gleiche Einschränkungen wie Identifier z.b. kein - erlaubt Konvention: Kleinschreibung (also mathe statt Mathe )
8 Packages: Beispiel Security - 04 Cryptology #8
9 Nested Namespaces Namespaces können auch ineinander geschachtelt werden Beispiel Punkt in Farbe Punkt in rgb in Farbe Punkt in version1 in rgb in Farbe Punkt in cmyk in Farbe Namensraum Farbe Punkt Namensraum rgb Namensraum cmyk Namensraum version1 Punkt Punkt Punkt Security - 04 Cryptology #9
10 Nested Namespaces: Java Beispiel Einzelne Bestandteile werden durch. getrennt Beginnt bei der höchsten Hierarchiestufe Ähnlich wie im Dateisystem Packages müssen immer absolut angegeben werden (d.h. alle Namensteile müssen vorhanden sein) Security - 04 Cryptology #10
11 Packages: Namenswahl Sinnvoll: Weltweit eindeutige Namen Üblich sind Internet-Domainnamen in umgekehrter Schreibweise Damit man Klassen aus verschiedenen Quellen ohne Namenskonflikte nutzen kann Beispiel: Klassen aus dem ITM Domainname: itm.uni-luebeck.de Package de.uni_luebeck.itm (Verwendung von _ statt - ) Sinnvoll: Anhängen des Projektnames (z.b. programmieren.ws1213.uebung1.aufgabe2 ) Gesamt: de.uni_luebeck.itm.programmieren.ws1213.uebung1.aufgabe2;
12 Packages: Dateisystem und Packages Java-Dateien müssen im Dateisystem so abgelegt sein, dass deren Pfade die Package-Namen widerspiegeln Im folgenden angenommen: Projektverzeichnis ist ~/coding/aufgabe2 Beispiele für verschiedene Punkt-Klassen (alle jeweils in Punkt.java ) package farbe; ~/coding/aufgabe2/farbe/punkt.java package farbe.rgb; ~/coding/aufgabe2/farbe/rgb/punkt.java package farbe.rgb.version1; ~/coding/aufgabe2/farbe/rgb/version1/punkt.java package farbe.cmyk; ~/coding/aufgabe2/farbe/cmyk/punkt.java package mathe; ~/coding/aufgabe2/mathe/punkt.java package de.uni_luebeck.itm. programmieren.ws1213.uebung1.aufgabe2; ~/coding/aufgabe2/de/uni_luebeck/itm/programmieren/ws1213/uebung1/aufgabe2/punkt.java
13 Packages: Verwendung Zwei Varianten zur Verwendung von Klassen aus anderen Packages Angabe des voll-qualifizierten Namens (Klasse + Package) package test;... farbe.rgb.punkt p = new farbe.rgb.punkt(); Importieren bestimmter Klassennamen Um die Angabe des voll-qualifizierten zu ersparen (Lesbarkeit) Schlüsselwort: import import farbe.rgb.punkt;... Punkt p = new Punkt();
14 Packages: Verwendung Kann natürlich auch gemischt verwendet werden Beispiel package test; import farbe.rgb.punkt;... Punkt p1 = new Punkt(); farbe.cmyk.punkt.punkt p2 = new farbe.cmyk.punkt(); farbe.rgb.version1.punkt p3 = new farbe.rgb.version1.punkt(); Es sind nach wie vor verschiedene Klassen Punkt p1 = new farbe.cmyk.punkt(); //Fehler!!!
15 Packages: Verwendung Alternative Variante von import Importieren ganzer Packages (z.b. import java.util.*;) Alle Namen aus java.util können ohne Angabe des Packages verwendet werden Gilt nicht für eventuelle Unterpackages von java.util Wo/wann benutzt man Packages? In allen größeren Java-Projekten Intensiv in der Java-API: (hier sollten sich Java-Programmierer gut auskennen) In Java ist java.lang.*; implizit immer importiert Daher kann man auch System.out.println(...); statt java.lang.system.out.println(...); schreiben
16 Klassen ohne Package In welchem Package waren eigentlich unsere bisherigen Klassen? Kein Package: sog. default Package Quasi ein Package ohne Namen Daher liegen diese auch im Wurzelverzeichnis des Projekts Sollte man nur bei ganz kleinen Projekten nutzen Security - 04 Cryptology #16
17 Classpath
18 Motivation Programme können aus vielen Klassen bestehen Eigene Klassen im Projektverzeichnis Von Java mitgelieferte Klassen (z.b. System, String,...) Klassen von Drittanbietern... Woher wissen Compiler und VM, wo die Klassen sind? Standard: Suche nur im Java-Installationsverzeichnis und im aktuellen Verzeichnis Wie funktioniert das mit Packages und wenn nicht alle Klassen im selben Verzeichnis liegen? Es müssen ggf. auch andere Verzeichnisse in die Suche einbezogen werden
19 Lösung: Java Classpath Über den Classpath kann man dem Compiler verschiedene Startpunkte für die Suche mitteilen Von diesen aus sucht Java nach Klassen in verschiedenen Packages Das heißt, dass das Programm über viele Orte zerstreut sein kann Verschiedene Möglichkeiten Standardverhalten Umgebungsvariable CLASSPATH Kommandozeilenparameter Security - 04 Cryptology #19
20 Die Umgebungsvariable CLASSPATH Angabe aller Suchpfade in der Umgebungsvariablen CLASSPATH Windows Start Einstellungen Systemsteuerung System Erweitert Umgebungsvariablen Mehrere Pfade mit ; getrennt auflisten Wert der Variablen:.;C:\pfad1\javafiles;D:\pfad2\irgendwo; Linux/Unix Mehrere Pfade mit ; getrennt auflisten export CLASSPATH=.:/pfad1/javafiles:/pfad2/irgendwo:... (In ~/.bashrc, ~/.profile, ~/bash_profile oder sonstwo)
21 Angabe des Classpath als Argument Classpath als Kommandozeilenargument übergeben Die Umgebungsvariable CLASSPATH wird dann ignoriert Auch javac unterstützt -cp und $CLASSPATH javac übersetzt die angegebenen.java-dateien Classpath wird lediglich zum Einbinden von bereits compilierten Klassen genutzt Windows: C:>java cp.;c:\pfad1\javafiles;d:\pfad2\irgendwo; PKWTest Linux: java cp.:/pfad1/javafiles:/pfad2/irgendwo: PKWTest
22 Beispiel Angenommen, wir haben 3 Teams Eins für die farbigen Punkte, eins für die math. Punkte, eins für das Hauptprogramm Jedes Team entwickelt in eigenem Ordner Team 1: Punkt (Package mathe, Ordner team1 ) Team 2: Punkt (Package farbe, Ordner team2 ) Team 1: Main (Package hauptprogramm, Ordner team3 ) Wie übersetzt man das Programm? Angabe aller Java-Dateien des Programms: javac team1\mathe\punkt.java team2\farbe\punkt.java team3\hauptprogramm\main.java Funktioniert, weil wir nicht andere, bereits compilierte Klassen verwenden Wie startet man das Programm? Nächste Folie
23 Wie es nicht geht... Security - 04 Cryptology #23
24 Besser: Angabe des korrekten Classpath Startpunkt der Suchpfade: team1, team2 und team3 Angabe entweder relativ zum aktuellen Verzeichnis oder absolut Hier: relativ Security - 04 Cryptology #24
25 Informationen zum Classloading Mit dem Parameter -verbose:class gibt Java beim Starten aus, welche Klassen er von wo lädt Beispiel: java -verbose:class -cp team1;team2;team3 hauptprogramm.main Security - 04 Cryptology #25
26 Exkurs: Classloading in C Auch in anderen Programmiersprachen ist das Nachladen normal Zentrale Updates, Speicherplatzeffizienz, etc. Beispiel: Einfaches C Programm
27 Exkurs: Classloading in C Compilieren und linken in ausführbare Datei Ausführen Abhängigkeiten anzeigen Zeigt zur Laufzeit in den Addressbereich des Programms gemappte Libraries Unter Windows:.dll, unter Linux/Unix:.so
28 JAR Dateien
29 JAR Dateien - Motivation Java-Programme bestehen aus vielen Klassen Jede Klasse hat ein eigenes.class -File Programme bestehen aus vielen Ordnern und Dateien Ausliefern: Zippen, versenden, dort wieder entpacken und starten Einfacher: Class-Dateien in JAR-Archiv zusammenfassen JAR: Java Archive Im JDK enthalten ist ein Programm namens jar zum Anzeigen, Packen und Entpacken von Jar-Dateien JAR-Dateien können direkt in den Classpath eingebunden werden Keine Notwendigkeit, JAR-Dateien vor Verwendung auszupacken
30 jar -Tool: Verwendung
31 JAR Dateien - Erzeugen Angabe aller.class Dateien jar cvf jarfilename.jar Datei1.class... DateiN.class Beispiel: 3 Jars erzeugen (1 pro Team)
32 JAR Dateien - Erzeugen Anstelle einzelner Dateien können Verzeichnisse angegeben werden jar cvf jarfile.jar verzeichnis Vorsicht: Alle Dateien (auch.java Dateien werden hinzugefügt) Nicht sinnvoll, wenn der Source-Code geheim bleiben soll Häufig werden getrennte Jar-Dateien ausgeliefert (Source-Jar, Binary-Jar)
33 JAR Dateien Inhalt anzeigen Mittels jar: jar tf jarfile.jar JAR-Dateien sind normale Zip-Dateien Können mit allen Zip-Tools bearbeitet werden
34 JAR Dateien mit ZIP-Tool anzeigen
35 Wie bekommt man alle Klassen in ein Jar? Problem: Man muss die Klassen mit dem richtigen Pfad ins JAR-File bekommen Möglichkeit: jar cvf programm.jar team1 team2 team3 Funktioniert nicht team1, team2, team3 sind nicht Teil der Packagenamen Security - 04 Cryptology #35
36 Wie bekommt man alle Klassen in ein Jar? Alternative: Erzeugen und subsequentes Aktualisieren eines Jar-Files Erzeugen des Jar-Files jar cvf programm.jar -C team1 mathe/punkt.class -C team1 wechselt in das Verzeichnis vor dem Suche und Hinzufügen jar uvf programm.jar -C team2 farbe/punkt.class u statt c : Update des Files anstelle von Create jar uvf programm.jar -C team3 hauptprogramm/main.class Security - 04 Cryptology #36
37 JAR-Dateien verwenden Können in Classpath aufgenommen werden java cp team1.jar;team2.jar;team3.jar hauptprogramm.main Müssen dazu nicht entpackt werden
38 JAR-Dateien verwenden Zum Starten von Java- Anwendungen muss man den Namen der Hauptklasse kennen Also der mit der main-methode Sehr unschön für Anwender In Jar-Dateien kann diese Angabe direkt integriert werden Über die sogenannte Manifest Datei (MANIFEST.MF) Damit wird die JAR-Datei direkt ausführbar
39 JAR-Dateien verwenden: Manifest Manifest-Datei mit folgendem Inhalt erstellen: Main-Class: voller.name.der.klasse Beispiel Main-Class: hauptprogramm.main Dazu legt man eine Datei an, die das Manifest enthält Beispiel: manifest.txt Inhalt: Main-Class: hauptprogramm.main (Enter danach nicht vergessen) Als Jar verpacken: jar cvmf manifest.txt jardatei.jar <klassen> Reihenfolge von m und f ist wichtig!
40 Manifest: Beispiel jar cvmf manifest.txt programm.jar -C team1 mathe/punkt.class jar uvf programm.jar -C team2 farbe/punkt.class jar uvf programm.jar -C team3 hauptprogramm/main.class
41 Ausführen einer Jar-Datei Security - 04 Cryptology #41
42 Manifest Die Manifest-Datei kann noch einiges mehr z.b. den Classpath der Anwendung setzen... Weitere Informationen zum Manifest /jar/manifestindex.html Security - 04 Cryptology #42
43 Zusammenfassung Mit Packages kann man die Anwendung besser strukturieren Vermeidet Namenskonflikte Erlaubt prägnantere Namen Gruppiert zusammengehörige Klassen Classpath bestimmt Suchpfad für Java Mehrere Möglichkeiten (Default, Umgebungsvariable, Kommandozeilenparameter, Manifest-Datei) Jar-Dateien Erlaubt zusammenfassen einer Anwendung oder eines Teils (z.b. Library) zu einer Datei Können Teil des Classpath sein Können über Manifest-Datei weitere Angaben zum Programm enthalten (z.b. die Hauptklasse) Security - 04 Cryptology #43
Vorlesung Programmieren. Packages. Probleme großer Projekte. Java: Packages, Classpath, JARs. Programme können aus vielen Klassen bestehen.
Vorlesung Programmieren Java: Packages, Classpath, JARs Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Packages Prof. Dr. Stefan Fischer
MehrProgrammierkurs C++ Konstruktor, Statische Methoden Namespaces
Programmierkurs C++ Konstruktor, Statische Methoden Namespaces Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Initialisierung von Datenstrukturen
MehrProgrammierkurs Java
Programmierkurs Java Konstruktor, Statische Methoden Packages Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Initialisierung von Datenstrukturen
MehrBuild Management Tool
Build Management Tool Build-Prozess? Source Code 3rd Party libraries Veröffentlichung Download all 3rd Party libs by hand Compile your sources: javac -sourcepath./src1;./src2 Byte Code -cp lib1.jar;lib2.jar
Mehr10. Pakete Einführung in die Programmierung (fbw) Sommersemester 2007 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi
10. Pakete Einführung in die Programmierung (fbw) Sommersemester 2007 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in die
Mehr10. Pakete. Ein Paket (package) bündelt thematisch zusammengehörige Klassen und Schnittstellen zu einer Klassenbibliothek.
10. Pakete Grundlagen zu Paketen 10. Pakete Ein Paket (package) bündelt thematisch zusammengehörige Klassen und Schnittstellen zu einer Klassenbibliothek. Beispiele: java.lang: Standardklassen zur Sprache
MehrPakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API).
Paketdeklaration Paketdeklaration package Bezeichner ; Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API). Ein
MehrPakete. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java
Pakete Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 4.7.07 G. Bohlender (IANM UNI Karlsruhe) Pakete 4.7.07 1 / 8 Übersicht 1 Einführung
MehrBuild Management Tool?
Build Management Tool? Funktionen Dependency Management Kompiliert den Sourcecode in Binaries Führt automatisierte Tests aus Installiert Software oder Lädt sie in Repositories Erstellt eine Dokumentation
MehrWiederholung. Klassenhierarchie:
Wiederholung Klassenhierarchie: class Unter extends Ober {... Die Unterklasse Unter erweitert die Funktionalität ihrer Oberklasse Ober. Objekte der Klasse Unter können anstelle von Objekten der Klasse
MehrTo know recursion, you must first know recursion. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 17 1
To know recursion, you must first know recursion. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 17 1 Rekursion: Beispiele Bier trinken 8-Damen-Problem ipod Shuffle für alle Mitarbeiter Karten
MehrKapitel 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:
MehrObjektorientierte Programmierung. Kapitel 15: Quelldateien, Pakete, Zugriffsschutz
Stefan Brass: OOP (Java), 15. Quelldateien, Pakete, Zugriffsschutz 1/40 Objektorientierte Programmierung Kapitel 15: Quelldateien, Pakete, Zugriffsschutz Stefan Brass Martin-Luther-Universität Halle-Wittenberg
MehrÜ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
MehrEinstieg 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
MehrCS1005 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
MehrEinführung zu den Übungen aus Softwareentwicklung 1
Einführung zu den Übungen aus Softwareentwicklung 1 Dr. Thomas Scheidl Universität Linz, Institut für Pervasive Computing Altenberger Straße 69, A-4040 Linz scheidl@pervasive.jku.at Java Einführung Java
Mehr- dynamisches Laden -
- - Fachbereich Technik Department Elektrotechnik und Informatik 21. Juni 2012 1/23 2/23 s dynamisch Code kann von mehreren Programmen genutzt werden => kleinere Programme einzelne Teile eines Programms
Mehr7. Pakete Grundlagen der Programmierung 1 (Java)
7. Pakete Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 29. November 2005 Einordnung im Kontext der Vorlesung 1.
MehrKonstruktoren, Packages und Scopes
Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Konstruktoren, Packages und Scopes Dipl. Inf. Manuel Götz Lehrstuhl für Angewandte
MehrInformatik II Übung 1
Informatik II Übung 1 Gruppe 2 Carina Fuss cfuss@student.ethz.ch 28.2.2018 Carina Fuss 28.2.2017 1 Administratives ab nächstem Mal: Beginn um 13:00! Fragen aus der Vorlesung, Praktisches, Nachbesprechung
MehrObjektorientierte Programmierung. Kapitel 16: Pakete, Zugriffsschutz
Stefan Brass: OOP (Java), 16. Pakete, Zugriffsschutz 1/30 Objektorientierte Programmierung Kapitel 16: Pakete, Zugriffsschutz Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2013/14
MehrEinstieg 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
MehrEinrichten einer Debug- Umgebung in Eclipse
T E C H N I S C H E D O K U M E N T A T I O N Einrichten einer Debug- Umgebung in Eclipse Intrexx 6 1. Einleitung Mit Hilfe dieser Dokumentation kann unter der Entwicklungsumgebung Eclipse eine Debug-
MehrJava Einführung Packages
Java Einführung Packages Inhalt dieser Einheit Packages (= Klassenbibliotheken) Packages erstellen Packages importieren Packages verwenden Standard Packages 2 Code-Reuse Einbinden von bereits (selbst-/fremd)
MehrProgrammierkurs Java
Programmierkurs Java Abstrakte Klassen und Methoden & Interfaces Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie
MehrVorlesung Programmieren
Vorlesung Programmieren Nachweihnachtliche Zusammenfassung und Wiederholung Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Themenüberblich
MehrEinführung in das Programmieren
Einführung in das Programmieren HelloWorld, NetBeans, Tutle-Umgebung Torsten Thoben, 15. April 2015 Get your tools Um mit Java zu programmieren werden drei Werkzeuge benötigt. 1. Der Java Compiler. Übersetzt
MehrSoftwareentwicklung I (IB) Blatt 5
Blatt 5 Prof. Dr. Oliver Braun Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 30.11.2017 21:38 Abgabe der Aufgabe auf diesem Blatt: bis 10.01.18, 10:00 Uhr durch Pushen in das
MehrEinfü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
MehrGrundlagen 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
MehrAufgabenblatt 1: - Präsenzübung für die Übungen Do Mi Ausgabe Mi
Grundlagen der Programmierung 1 WS 2012/2013 Prof. Dr. Stefan Böttcher Aufgabenblatt 1: - Präsenzübung für die Übungen Do. 11.10.- Mi. 17.10.2012 Ausgabe Mi. 10.10.2012 1.1. Zahlen vertauschen mit wenigen
MehrEinführung in die Programmierung
Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität
MehrVorlesung 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
MehrIm Mathe-Pool startet man Eclipse am besten aus einer Shell heraus, und zwar indem man im Home- Verzeichnis den Befehl
Eclipse Eclipse ist eine IDE (Integrierte Entwicklungsumgebung), die speziell auf das Programmieren in Java zugeschnitten (und auch selbst in Java geschrieben) ist. Eine solche IDE vereint die Funktionalität
MehrJava I Vorlesung Generics und Packages
Java I Vorlesung 9 Generics und Packages 21.6.2004 Generics Packages Qualifizierte Namen Mehr zu Zugriffsklassen Generics (Java 1.5) Die Klassen im Java Collections Framework sind mit dem Typ ihrer Elemente
MehrJBuilderX: Installation und Kurzanleitung (Mac)
Installation Seite 1 JBuilderX: Installation und Kurzanleitung (Mac) 1. JBuilder installieren Eine Gratis-Version kann von der Webseite www.borland.de heruntergeladen werden. Systemvoraussetzungen: 256
MehrModularisierung. Modularisierung. 1 von 21
1 von 21 Was geht in Richtung? Das Ziel Es sollen einfach wiederverwendbare Bausteine (Module) ermöglicht werden. Meist mit Unterteilung Schnittstelle und Implementierung. Die Granularität liegt über der
MehrBuild Management Tool?
Build Management Tool? Funktionen Dependency Management Kompiliert den Sourcecode in Binaries Führt automatisierte Tests aus Installiert Software oder Lädt sie in Repositories Erstellt eine Dokumentation
MehrTag 7 Repetitorium Informatik (Java)
Tag 7 Repetitorium Informatik (Java) Dozent: Patrick Kreutzer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium
MehrInformationen zur Verwendung von Visual Studio und cmake
Inhaltsverzeichnis Informationen zur Verwendung von Visual Studio und cmake...2 Erste Schritte mit Visual Studio...2 Einstellungen für Visual Studio 2013...2 Nutzung von cmake...5 Installation von cmake...5
MehrNamespaces und Assemblies
Namespaces und Assemblies 1 Namespaces File: XXX.cs namespace A { namespace B { // voller Name: A.B File: YYY.cs namespace A { namespace B { File: ZZZ.cs namespace A.B { namespace C { Eine Datei kann mehrere
MehrC++ - Einführung in die Programmiersprache Header-Dateien und Funktionen. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen Leibniz Universität IT Services Anja Aue Modularisierung Logische Gliederung von Programmteilen mit Hilfe von Namensräumen. Aufteilung
MehrANT. Kurzvortrag von Manuel Schulze. mschulze@inf.fu-berlin.de
ANT Kurzvortrag von Manuel Schulze mschulze@inf.fu-berlin.de ANT Überblick Teilprojekt der Apache Software Foundation [1] ANT ist Opensource Build-Tool ähnlich wie make (?) jedoch voll auf Java zugeschnitten
MehrJava Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung
Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung Ludwig-Maximilians-Universität München Institut für Informatik Programmierung und Softwaretechnik (PST) Prof. Wirsing 6. Mai 2009 1 Der Name Java
MehrKurzanleitung zu XML2DB
Kurzanleitung zu XML2DB Inhaltsverzeichnis 1. Einleitung...3 2. Entwicklungsumgebung...3 3. Betriebsanleitung...3 3.1 Einrichten der Java Umgebung...3 3.2 Allgemeines zu java und javac...4 3.2.1 Allgemeines
MehrB) Klassenbibliotheken Turtle und Util (GPanel, Console) installieren Ein Unterverzeichnis classes auf der Festplatte erstellen, z.b.
jcreator Seite 1 JCreator (Windows) 1. Installation Die wichtigsten Installationsschritte: A) Java 2 Development Kit J2SE 5.0 RC installieren. Die aktuelle Installationsdatei (jdk-1_5_09-rc-windows-i586.exe)
MehrB) Klassenbibliotheken Turtle und Util (GPanel, Console) installieren Ein Unterverzeichnis classes auf der Festplatte erstellen, z.b.
jcreator Seite 1 JCreator (Windows) JCreator ist eine einfache, schnelle und effiziente Java-DIE. Eine gratis Testversion sowie eine academic Lizenz für $35.- kann von der Website www.jcreator.com heruntergeladen
MehrProgrammierkonventionen - 1 -
Die wichtigsten Bestandteile der Programmierkonventionen für Java werden hier erläutert. Dies sind: Schreibweise von Bezeichnern Einrückkonventionen Kommentare Programmierkonventionen - 1 - Einleitung
Mehr1 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
MehrJBuilderX: Installation und Kurzanleitung (Windows)
JBuilder X Seite 1 JBuilderX: Installation und Kurzanleitung (Windows) 1. JBuilder installieren Eine Gratis-Version kann von der Webseite www.borland.de heruntergeladen werden. Systemvoraussetzungen: 256
Mehr(H ist Entropie) bei Redundanz Information vielleicht mehrfach. Redundanz zur Fehlererkennung und -korrektur nutzbar
Redundanz Anzahl der Bits H (H ist Entropie) Redundanz = Anzahl der Bits H bei Redundanz Information vielleicht mehrfach Redundanz zur Fehlererkennung und -korrektur nutzbar Redundanz in Programmen kann
MehrPakete Software Entwicklung 1
Pakete Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller 1 Organisation von Klassen- und Interface-Deklaration Java-Programme bestehen aus Typdeklarationen, d.h. Klassen- und Interface-Deklarationen.
MehrSoftware-Engineering Grundlagen des Software-Engineering
Software-Engineering Grundlagen des Software-Engineering 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE
MehrPackages. Softwareentwicklung II (IB) Prof. Dr. Oliver Braun Letzte Änderung: :20. Packages 1/46
Packages Softwareentwicklung II (IB) Prof. Dr. Oliver Braun Letzte Änderung: 24.06.2018 15:20 Packages 1/46 Arbeitsweise Packages 2/46 Motivation Pro übersetzter Bytecode-Datei (Extension.class): Bytecode
MehrMODULARITÄT. Levi Bautz. 1/19 Levi Bautz
MODULARITÄT Levi Bautz 1/19 Levi Bautz 21.06.2018 2/19 Levi Bautz MODULARITÄT Grundprinzip der Modularität Eigenschaften modularen Codes Module und Beispiele Zusammenfassung 3/19 Levi Bautz GRUNDPRINZIP
MehrSoftwareentwicklung II (IB) Packages. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München
Softwareentwicklung II (IB) Packages Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 24.06.2018 15:20 Inhaltsverzeichnis Arbeitsweise 1 Motivation.....................................
MehrEinführung in die Informatik Tools
Einführung in die Informatik Tools Werkzeuge zur Erstellung von Softwareprojekten Wolfram Burgard 8.1 Motivation Große Softwareprojekte werden schnell unübersichtlich. Änderungen im Code können leicht
MehrInformation und Wissen
Information und Wissen Informationstheorie nutzt bekannte Wahrscheinlichkeiten Wahrscheinlichkeit hängt von Erwartung des Betrachters ab (wirklich alle Zahlen gleich wahrscheinlich?) Erwartung hängt vom
MehrSilke 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
MehrFür die Erstellung von Javaprogrammen sind eventuell zwei Komponenten nötig. 1. Das Java-Develepment-Kit (JDK) und die 2. Java Runtime Engine (JRE)
Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Für die Erstellung von Javaprogrammen sind eventuell zwei Komponenten nötig. 1. Das Java-Develepment-Kit (JDK) und die 2. Java
MehrTIAI1004: Programmierung
Teil 6: Objektorientierte Programmierung (II) Gliederung Pakete Zugriffsrechte für Klassen Studiengang Angewandte Informatik Dozent: Stand: 6-1 6-2 Organisation von Klassen (I) Bisher: Klassen wurden entwickelt
MehrAbschnitt 12: Strukturierung von Java-Programmen: Packages
Abschnitt 12: Strukturierung von Java-Programmen: Packages 12. Strukturierung von Java-Programmen: Packages 12.1 Strukturierung durch Packages 12.2 Zugriffsspezifikationen 12.3 Zusammenfassung 12 Strukturierung
MehrTIAI1004: Programmierung
Teil 6: Objektorientierte Programmierung (II) Studiengang Angewandte Informatik Dozent: Stand: 6-1 Gliederung Pakete Zugriffsrechte für Klassen Attribute (Vertiefung) Methoden (Vertiefung) Kapselung, ADT
MehrGrundlagen 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
MehrProgrammieren in Java
Programmieren in Java Vorlesung 01: I/O und einfache Operationen Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2017 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA
MehrRepetitorium 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
MehrII.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.
MehrWie entwerfe ich ein Programm?
Wie entwerfe ich ein Programm? Welche Objekte brauche ich? Flussdiagramme für Programmablauf Vorcode Testcode Hauptcode Wir spielen Lotto! Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 5 +
MehrVorlesung 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
MehrVorlesung 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Übungen zur Vorlesung Wissenschaftliches Rechnen I
Übungen zur Vorlesung Wissenschaftliches Rechnen I Nicolas Gauger, René Lamour, Hella Rabus Wintersemester 2007/2008 Programmierung - Einführung Programmierung - Einführung Berechnung einer Formel y =
MehrInstallationsanleitung
1. C Installationsanleitung C-Programmierung mit Hilfe von Eclipse unter Windows XP mit dem GNU C-Compiler (GCC) 2. Inhaltsverzeichnis 1. Einleitung... 3 2. Cygwin... 3 2.1 Cygwin-Installation... 3 2.2
MehrZugriffsrechte und Packages
Zugriffsrechte und Packages Allgemeine Informatik I Wintersemester 2013/14 Karsten Weihe Schnitt: Sascha Weiß Mit freundlicher Unterstützung des elc der TU Darmstadt Komplexer Typ Klasse Interface Standardbibliothek
MehrModularisierung in Java: Pakete Software Entwicklung 1
Modularisierung in Java: Pakete Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller Um zusammengehörende Klassen, Interfaces, etc. gemeinsam zu verwalten, Sichtbarkeiten einzugrenzen und
MehrJava-Programme mit mehreren Modulen
Java-Programme mit mehreren Modulen Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 Module? Modul = in sich geschlossene Programmeinheit.
MehrEinführung in die Programmierung Blockkurs Java
Michael Bader 8. 12. April 2002 Donnerstag Inhaltsübersicht java.lang.object Pakete Java Applications Klassenmethoden und -variablen Ein- und Ausgabeströme Objektorientiertes Programmdesign Javas Root-Klasse:
MehrSoftware-Engineering für langlebige Systeme
Software-Engineering für langlebige Systeme Thomas Ruhroth Dortmund SoSe 2013 PA HA 5 Letzte Simulation 2 DLLs und SOs Möglichkeiten der Anbindung Statisches Binden Angabe beim Compilieren Wird häufig
MehrEinführung OWB Java API
Einführung OWB Java API Carsten Herbe Metafinanz-Informationssysteme GmbH München Schlüsselworte: OWB 11gR2, Code Templates, Template Mappings, OMB*Plus, OWB Java API Einleitung Neben OMB*Plus bietet der
MehrSTRUKTURIERUNG VON PROGRAMMEN
Kapitel 1 STRUKTURIERUNG VON PROGRAMMEN Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Übersicht 1 1. Strukturierung von Programmen 2. Vererbung 3. Abstrakte Klassen und Interfaces 4. Ausnahmebehandlung
Mehr2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
MehrProgrammierkurs C++ Abstrakte Klassen und Methoden
Programmierkurs C++ Abstrakte Klassen und Methoden Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie Obst double
MehrEINFÜHRUNG IN DIE PROGRAMMIERUNG
EINFÜHRUNG IN DIE PROGRAMMIERUNG OBJEKTORIENTIERTES PROGRAMMIEREN Tobias Witt 25.03.2014 09:00-10:30 Täglich Übungen zur Vertiefung Laptop hier nicht erforderlich Linux, OS X Freitag: http://hhu-fscs.de/linux-install-party/
MehrEs sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.
Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt
MehrSichtbarkeiten, Klassenmember und -methoden
Sichtbarkeiten, Klassenmember und -methoden Prof. Dr.-Ing. Thomas Schwotzer 11. November 2017 1 Einführung Wir haben uns mit Klassen und Objekten beschäftigt. Wir wissen nun, dass Objekte anhand von Klassen
MehrTag 4 Repetitorium Informatik (Java)
Tag 4 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Arrays (Reihungen)
MehrGrundlagen der Informatik für Ingenieure I
9. Programming in the Large 9.1 Abstrakte Klassen 9.2 Abstrakte Methoden 9.3 Interfaces 9.4 Packages GdI 9-1 9 Programming in the Large Mit den typisch amerikanischen Slogans Programming in the Large bzw.
MehrLEHRSTUHL FÜR DATENBANKEN
LEHRSTUHL FÜR DATENBANKEN Informatik II für Verkehrsingenieure Java & Eclipse Installationsguide Prof. Dr.-Ing. Wolfgang Lehner > Was ist Eclipse? Eine sogenannte Integrierte Entwicklungsumgebung (engl.
Mehr3.5 Arten von Modulen
D3kjd3Di38lk323nnm 78 3 Das Java-Modulsystem Modulübergreifender Ressourcenzugriff Das Paket, in welchem die Ressource liegt, die für andere Module zugreifbar sein soll, mit opens nach außen öffnen und
Mehr2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
MehrHello World! Eine Einführung in das Programmieren Das erste Programm
Hello World! Eine Einführung in das Programmieren Das erste Programm Görschwin Fey Institute of Embedded Systems Hamburg University of Technology Slide 2 Betriebssystem Funktion Anwendung Gerätesteuerung
MehrKurzanleitung Eclipse
Autor: Prof. Dr. Bernhard Humm, FB Informatik, FH Darmstadt Datum: 30. November 2005 1 Starten Für das Praktikum verwenden wir Eclipse Version 3.1 und JDK 1.5 Starten Eclipse: Doppelklick auf das Icon
MehrSoftware-Engineering und Optimierungsanwendungen in der Thermodynamik
Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung
MehrAssoziationen. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 05: Assoziationen und Pakete. Inhalt. Assoziationen.
Universität Osnabrück 1 3 - Objektorientierte Programmierung in Java Beispiel: Ein Mitarbeiter in einem Unternehmen gehört zu einer Abteilung. Mitarbeiter Vorlesung 05: und Pakete persnr : Integer name
MehrObjektorientierte Programmierung OOP Programmieren mit Java
Aufgaben: 2 JDK/SDK/JRE und Java Entwicklungswerkzeuge Objektorientierte Programmierung OOP Programmieren mit Java 1. Installation von Java 2. Erstes Java Programm Hello World 3. Dreimal Hallo Olten 2
Mehr