Gottfried Wolmeringer. Java 6 lernen mit Eclipse

Größe: px
Ab Seite anzeigen:

Download "Gottfried Wolmeringer. Java 6 lernen mit Eclipse"

Transkript

1 Gottfried Wolmeringer Java 6 lernen mit Eclipse

2 Auf einen Blick TEIL I Grundlagen 1 Grundwissen für Programmierer Werkzeugkunde für Programmierer Unsere Werkbank, die IDE TEIL II Installation 4 Die Installation von Java Die Installation von Eclipse Mit Eclipse arbeiten TEIL III OOP Objektorientierte Programmierung 7 Die Installation von objectif Konzepte der OOP Java Baukasten für Objekte OOP in der Praxis Vererbung und ähnliche Dinge TEIL IV Java-Techniken 12 Java-Oberflächen Ausnahmen und Threads Codekonventionen TEIL V Datenbanken 15 Datenbanken in Eclipse Datenbanken und Java Der etwas andere Ausblick

3 Inhalt Danksagung Vorwort Hinweise zur Benutzung des Buches Learning by Doing TEIL I Grundlagen 1 Grundwissen für Programmierer Warum programmieren? Was ist eine Programmiersprache? Java und andere Programmiersprachen Die Java-Story Kann auch ich lernen, mittels Java zu programmieren? Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel Werkzeugkunde für Programmierer Wie funktioniert eine Programmiersprache? Compiler Interpreter VM-Sprachen Imperative und funktionale Sprachen Wie erlernt man eine Programmiersprache? Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel Unsere Werkbank, die IDE Was ist eine IDE? Konzepte einer IDE Die Konzepte von Eclipse Eclipse ein Framework als IDE Weitere Eclipse-Sprachen Perl

4 Inhalt Python C C So funktioniert eine IDE und so Eclipse Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel TEIL II Installation 4 Die Installation von Java JDK oder JRE? Hardwarevoraussetzungen Die Installation Die Installation der Dokumentation Aufbau der JDK-Dokumentation Test und Einsatz der JDK-Dokumentation Der Einsatz von Java Web Start Demos und Beispiele Programmierung ohne Eclipse Deinstallation Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel Die Installation von Eclipse Versionen und Milestones Hardwarevoraussetzungen Die Installation Installation von Filzip Eclipse entpacken Eclipse zum ersten Mal starten Das Sprach-Paket installieren Den Spickzettel-Lehrgang»Die Sprache Java«installieren Callisto oder die Installation von Plugins Den Visual Editor installieren Jigloo installieren Ein Datenbank-Plugin installieren

5 Inhalt 5.7 Übersicht der Plugins Plugins updaten/deinstallieren Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel Mit Eclipse arbeiten Grundkenntnisse Eclipse Die Bestandteile Bausteine in allen Formen Welt aus Perspektiven Auf der Suche nach dem verlorenen Editor Nutzerfreundlichkeit pur Die Geburt eines Projekts Ein neues Projekt anlegen Arbeitssets Projekte löschen Hilfestellung Der Aufbau von Eclipse Die Perspektiven Die Menüleiste (Menubar) Datei Bearbeiten Quelle Refactoring Navigieren Suchen Projekt Ausführen Restliche Menüs Die Views Die Navigator-View Die Editoren Projekte übernehmen JDK-Projekte und einzelne Dateien übernehmen Ganze Projekte von fremden IDEs übernehmen Andere Eclipse-Projekte übernehmen Änderungen an der Paketstruktur bestehender Projekte

6 Inhalt 6.8 Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel TEIL III OOP Objektorientierte Programmierung 7 Die Installation von objectif Die Personal Edition Die Installation Adobe Acrobat Reader installieren Erste Erfahrungen mit ObjectiF und der Online- Dokumentation Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel Konzepte der OOP Eine uralte Idee für moderne Software Ein neues, altes Paradigma Das Objekt und seine Klasse Ein Baum voller Autos Ein Eclipse-Projekt Ein Projekt und seine Pakete UML-Zeichnen statt Programmieren ObjectiF mit neuem System starten Attribute für unsere Autos Auch Autos erben Aus konkret wird abstrakt Identität der Software in Objekten Klassifizierung Vererbung Polymorphismus Zum Beispiel Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel

7 Inhalt 9 Java Baukasten für Objekte Java und OOP Vom Umgang mit Objekten Die API-Dokumentation als Quelle allen Seins Von abstrakten und konkreten Klassen bis zu den Schnittstellen Zum Innenleben der Objekte Primitive Datentypen Komplexe Datentypen Ein paar Worte zu Arrays, Listen und Stacks Übungen zu den primitiven Datentypen Die Sichtbarkeit in der Praxis Die main-methode Die Steuerung des Programmflusses Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel OOP in der Praxis Unser Projekt Carlipso Projektdesign ad hoc Die Geschäftsobjekte Innere Klassen Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel Vererbung und ähnliche Dinge Von Vererbung und Polymorphie Java-Klassen im Besonderen Die Syntax bei Java-Klassen Vom Umgang mit Objekten Das Zusammenspiel von Klassen, Objekten und Methoden ArrayList, auch ein komplexer Typ? Namensraum in Java Im Anfang war das Bild

8 Inhalt 11.5 Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel TEIL IV Java-Techniken 12 Java-Oberflächen Mit AWT lernte Java»fensterln« Der Ast, an dem der Frame hängt Swing Oberflächen zeichnen Viele Werkzeuge ein Ergebnis Visual Editor, der Alleskönner Jigloo, ein Werkzeug für Swing-Oberflächen Zwischen Feld und Label Das Ereignismodell Modifizierungen an Ereignissen Für Meldungen aller Art Frame im Frame und interne Dialoge Faschingskostüme für Oberflächen SWT, das Standard Widget Toolkit Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel Ausnahmen und Threads Wo Ausnahmen zur Regel werden Multithreading mit Java Dämonen, die»dunkle Seite«in Java? Instanz-Initiatoren Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel Codekonventionen Ordnung ist das halbe Leben Weshalb sind Codekonventionen unverzichtbar? Umsetzung der Codekonventionen

9 Inhalt 14.2 Dateiaufbau Dateinamen Der Klassenname Dateiendungen Innerer Dateiaufbau Die Bestandteile einer Datei Der Dateikommentar Klassen und Interfaces Einrücken Die Zeilenlänge Kommentare Quellcodekommentare Javadoc-Kommentare Methodenkommentar Deklarationen Eine Deklaration pro Zeile Position von Deklarationen Klassen- und Interface-Definitionen Anweisungen Einfache Anweisungen Blöcke oder gebündelte Anweisungen Die if- und if-else-anweisungen Die for-schleife Die while-schleife Die do-while-schleife Die switch-anweisung Die try-/catch-anweisung Die return-anweisung Leerräume Leerzeilen Leerzeichen Namenskonventionen Anwendungen Packages Klassenbibliothek Programmierpraktiken Zugriff auf Instanz- und Klassenvariablen Zugriff auf Klassenvariablen und -methoden Zuweisungen Instanziierung Rückgabewerte

10 Inhalt Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel TEIL V Datenbanken 15 Datenbanken in Eclipse Einstieg in das Thema Spielereien mit Access Die Einrichtung von SQL Explorer Allgemeine Betrachtungen zu Datenbanken Zugriffssysteme und Datenbank-Server MySQL MySQL installieren Die ersten Experimente mit einem Datenbank-Server Datenbanken erzeugen Eclipse und MySQL Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel Datenbanken und Java Java und die Datenbankanbindung Vom Treiber zur Verbindung Daten aus der Datenbank lesen Carlipso goes DB Daten in die Datenbank schreiben Die Reflection-API Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel Der etwas andere Ausblick Das Wichtigste zuerst Ausblick zum Einblick Die Zukunft der EDV Java-Techniken EJBs

11 Inhalt 17.5 Datenbanken Eclipse Softwaredesign und Entwurf Vorgehensweisen und Vorgehensmodelle Steuerungsaufgaben während der Softwareentwicklung Andere Programmiersprachen Die Testphase Programmierertests mit JUnit Die Qualitätssicherung Zusammenfassung Webseiten zum Kapitel Anhang A Tipps A.1 Kommentare und andere Hilfen A.2 Mehr Übersicht schaffen A.2.1 Code minimieren A.2.2 Variablen markieren A.2.3 Views entnehmen A.2.4 Editoren automatisch schließen A.3 Einfachere Handhabung A.3.1 Inkrementelle Suche A.3.2 Zeilen verschieben A.3.3 Zeilen einfügen A.3.4 Groß- und Kleinschreibung A.3.5 Aktuelle Änderungen A.3.6 Code oder Dokument öffnen A.3.7 Methoden separiert anzeigen A.3.8 View minimiert ablegen A.3.9 Aktuelle Methode im Navigator oder Paket-Explorer suchen A.3.10 Andere Perspektive öffnen B Literatur und Webseiten Literaturverzeichnis Webseiten C Glossar Index

12 Inhalt Video-Training auf der Buch-DVD 1 Das Java-Projekt in Eclipse...[51:29 min.] 1.1 Der Workspace...[07:07 min.] 1.2 Projekte anlegen...[07:50 min.] 1.3 Arbeitssets...[06:10 min.] 1.4 Dateien anlegen...[08:06 min.] 1.5 Die Java-Perspektive...[10:08 min.] 1.6 Java-Code ausführen...[06:54 min.] 1.7 Java-Code debuggen...[05:14 min.] 14

13 Natürlich wollen Sie gleich in die Praxis, wollen Ihr erstes Java-Programm laufen sehen. Das werden wir auch so bald als möglich tun. Ein wenig Theorie gehört jedoch vor jede Praxis. So wird in diesem Kapitel erläutert, welche Arten von Programmen es gibt und wie aus einem vom Programmierer geschriebenem Programm, dem Quellcode, ausführbare Software wird. 2 Werkzeugkunde für Programmierer 2.1 Wie funktioniert eine Programmiersprache? Im vorigen Kapitel haben wir gesehen, wie ein kleines Java-Programm im Prinzip aussehen könnte, und dass man es als Programmierer fast so lesen kann wie einen Roman oder wenigstens wie eine mathematische Formelsammlung. Aber wie liest der Computer so ein Programm und wie führt er es aus? Zunächst einmal sollte klar sein, dass ein Computer mit einer Anweisung wie Kunde aktkunde = new Kunde("Petra Müller"); nicht das Geringste anfangen kann. Wie wir später noch lernen werden, muss zunächst einmal eine Klasse Kunde existieren, bevor man mit new ein neues Objekt aus dieser Klasse erzeugen kann. Der Computer wird nicht einmal das erkennen. Er kann rein gar nichts mit den obigen Worten und dem Gleichheitszeichen anfangen. Computer arbeiten mit binären Werten, also mit Nullen und Einsen. Aber selbst das ist eine Metapher für Menschen, die sich mit Computern auseinandersetzen. Denn Computer arbeiten mit den beiden Zuständen»spannungsführend«und»spannungslos«und nicht wirklich mit den Zahlen Null und Eins. Diese Zustände lassen sich in Speicherbausteinen konservieren, um Transistoren wie kleine Schalter an- und auszuschalten. Heutige Prozessoren bestehen aus vielen Millionen von solchen Schaltern.So kann beispielsweise 1 GByte Arbeitsspeicher genau Strom- und Kein-Strom-Zustände speichern. Keine Angst man muss nicht im Detail verstehen, wie ein so gewaltiges Regelwerk wie ein Mikroprozessor funktioniert, um Programmieren zu lernen. Man sollte nur wissen, dass ein Computer intern nur mit Folgen von Nullen und Einsen gesteuert, also programmiert, wird. Auf irgendeine Weise muss eine Programmzeile in Java nun in Nullen und Einsen umgesetzt werden, damit der Computer sie ausführen kann. Dazu gibt es sogenannte Compiler. Das sind einfach 41

14 2 Werkzeugkunde für Programmierer»Übersetzer«, die aus einem Java-Programm, das ein Mensch geschrieben hat, einen Code erzeugen, den der Computer ausführen kann. Daneben existieren noch sogenannte Interpreter, die Programme zeilenweise vom Rechner ausführen lassen. Bevor wir uns Compiler und Interpreter näher betrachten, bleibt noch zu sagen, dass man heutige Personalcomputer zu den Von-Neumann-Rechnern zählt. Das sind Rechner, die Programme und Daten in einem modifizierbaren Hauptspeicher ablegen. Deshalb können die Daten, aber auch der Code, mit dem die Daten bearbeitet werden, vom Prozessor abgeändert oder verlagert werden. Zeitweise hat man Sprachen auch in Compiler- und Interpretersprachen eingeteilt. Dabei hängt das in keiner Weise von der Sprache ab. Im Grunde lässt sich jede Computersprache nutzen, um Programme zu erstellen, die sowohl von einem Interpreter als auch von einem Compiler übersetzt werden können. Früher galt C als typische Compilersprache und Basic als Interpretersprache. Es dürfte vielleicht verwundern, dass Java im Grunde aus einer Mischung von Interpreter und Compiler abgearbeitet wird. Denn sowohl Compiler als auch Interpreter haben ganz spezifische Vor- und Nachteile, die man auf diese Weise geschickt ausgleicht. Einen Compiler kann man als eine Art Übersetzer ansehen. Im europäischen Parlament in Brüssel arbeiten Hunderte von Dolmetschern, die gesprochenes Wort direkt in einer anderen Sprache nachsprechen, die sogenannten Simultanübersetzer. Genau das wäre aber ein Interpreter. Ein Compiler nimmt vielmehr das gesamte niedergeschriebene Java-Programm und erstellt daraus ein Programm, das sich vom Nutzer starten lässt. Das ist im Grunde wie ein Übersetzer, der in monatelanger Arbeit ein ganzes Buch aus dem Englischen ins Deutsche überträgt. Computer arbeiten extrem schnell, sodass sie dafür meist nur Sekunden brauchen, obwohl ein großes Programm oft mehr Text umfasst als die längsten Beststeller Compiler Mit dem Compiler erzeugte Programme können direkt vom Rechner ausgeführt werden. Im Gegensatz zum Interpreter benötigen sie dazu kein zusätzliches Programm. Der Compiler übersetzt einmal nach der Fertigstellung des Quellcodes das gesamte Programm in Maschinensprache; das hat u. a. den Vorteil, dass damit eine schnelle Ausführung erreicht wird. Die Kompilierung braucht nur einmal durchgeführt zu werden, und das Programm kann als lauffähige Binärcode-Datei auf alle Rechner kopiert und gestartet werden, auf denen es genutzt werden soll (Abbildung 2.1). Außerdem ist eine Binär-Datei wesentlich kleiner als der Quell- 42

15 Wie funktioniert eine Programmiersprache? 2.1 code des Programmierers. Man spart also auch Speicherplatz. Dadurch hat man zwar ein schnelles Programm, aber es sind eine ganze Reihe von Nachteilen damit verbunden: Das Anwendungsprogramm, das man erhält, läuft nur unter dem Betriebssystem, für das es erstellt wurde. Und die Rechner müssen je nach Art des Anwendungsprogramms auch die gleiche Hardwareausstattung aufweisen. Wechselt man also die Hardware oder das Betriebssystem, benötigt man eine neue Version des Anwendungsprogramms, was oft mit hohem Aufwand verbunden ist. Abbildung 2.1 Vereinfachte Darstellung der Kompilierung Änderungen am Programm kann ein Programmierer nur durchführen, wenn er den Quellcode des Programms besitzt. Eine Umkehrung der Kompilierung, um aus der Binärcode-Datei wieder den Quellcode zu erhalten, gibt es eigentlich nicht. Es existieren zwar sogenannte Decompiler, aber ihre Ergebnisse sind meist unbrauchbar. Einen Vorteil hat der Binärcode allerdings: Er kann nicht missbraucht werden, um eigene Änderungen am Programm durchzuführen oder es gar unter anderem Namen zu verkaufen. Im Zeitalter des offenen Quellcodes (OpenSource) wird dies eher als Nachteil angesehen Interpreter Ein Interpreter führt die Programme direkt im Quellcode aus. Er wandelt die Programme vorher nicht in eine andere Dateiform um. Um Programme mit einem Interpreter auszuführen, muss zunächst der Interpreter und in ihm das auszuführende Programm gestartet werden. Ein Interpreter arbeitet direkt den Code ab, den der Programmierer in der Programmiersprache erstellt hat. Das bedeutet zunächst einmal, dass auf jedem Rechner und jedem Betriebssystem, auf dem es einen Interpreter für diese Sprache gibt, das Programm ohne Änderungen ablaufen kann (Abbildung 2.2). Interpretersprachen sind also zunächst einmal systemunabhängig. Dies ist ein unge- 43

16 2 Werkzeugkunde für Programmierer heurer Vorteil, durch den man auch die Weiterentwicklung von Hardware und Betriebssystem im Griff hat. Man benötigt also nicht ständig eine neue Version des Programms, sondern nur eine neue Version des Interpreters. Änderungen und Beseitigungen von Fehlern kann man somit selbst durchführen, sofern man die verwendete Programmiersprache halbwegs beherrscht. Abbildung 2.2 Schematische Darstellung eines Interpreters Ein weiterer Vorteil zeigt sich beim Programmieren selbst. Ein Interpreter kann ein Programm stückweise ausführen und immer wieder anhalten und weiterlaufen lassen, ganz so, wie der Programmierer es für nötig hält. Änderungen kann man sogleich ausprobieren, ohne den langen Compilerprozess wieder und wieder durchführen zu müssen. Interpretersprachen erleichtern also dem Programmierer das Leben ungemein. Ein Vorteil kann aber auch ein Nachteil sein. Interpreter bedingen natürlich einen langsameren Ablauf als ein kompiliertes Programm. Falls man den Quellcode statt lauffähiger Binärprogramme verkauft, so kann jeder den Code beliebig abändern und eigene Programme daraus machen. Interpretersprachen benötigen mehr Speicherplatz, da der Quellcode umfangreicher als der Binärcode der Programme ist. Außerdem muss zum Ausführen immer erst der Interpreter gestartet sein, der ebenfalls Platz im Speicher benötigt. Genau dieser Effekt, dass für jedes auszuführende Programm ein Interpreter gestartet werden muss, führte zur Entwicklung der Applikations-Server (wie z. B. JBoss). Bei EJB und Webapplikationen allgemein geht es nämlich darum, dass Tausende von Nutzer auf einen Datenbestand (beispielsweise den Inhalt einer Datenbank) zugreifen können. Würde jeder Nutzer auf dem Server einen eignen Interpreter in Gang setzen, wäre der Server schnell überlastet. Mit dem Applikations-Server läuft im Grunde nur ein»interpreter«, der alle zu startenden Programme ausführt und so alle Nutzer»bedient«. 44

17 Wie funktioniert eine Programmiersprache? VM-Sprachen Das Dilemma zwischen Interpreter- und Compilersprachen spaltet die EDV schon Jahrzehnte. Von daher ist es nicht verwunderlich, dass man schon vor 30 Jahren daran dachte, beide Welten zu vereinigen. Man erfand das Konzept der virtuellen Maschine. Dies ist quasi ein Rechner im Rechner, der immer die gleiche Programmierschnittstelle darstellt, egal wie der Rechnerhersteller heißt oder aus welchem Haus das Betriebssystem kommt. Für diese virtuelle Maschine (unabhängig von der Plattform) kann man Software kompilieren und auf jedem Rechner, auf dem die virtuelle Maschine läuft, starten. Natürlich»versteht«die virtuelle Maschine keinen Maschinencode, sondern den sogenannten Bytecode. Er wird sozusagen von der virtuellen Maschine interpretiert (Abbildung 2.3). Dadurch vereint man beide Konzepte auf ideale Weise. Es heißt aber auch, dass man immer beides benötigt, den Java-Compiler (javac.exe) und den Interpreter (java.exe). Das mag einem am Anfang etwas umständlich vorkommen. Aber dies ist der Preis, den man für die Plattformunabhängigkeit und die hohe Flexibilität zahlen muss. Arbeitet man mit Eclipse, stört es ohnehin wenig, weil Eclipse die Kompilierung automatisch durchführt. Um es kurz zu machen: Java sollte man zu dieser Sprachfamilie zählen, die ohnehin nicht viele Mitglieder zählt. Smalltalk war eine der ersten Sprachen, die mit einer VM realisiert wurde. Seit dem Erfolg von Java denkt man etwas anders über Programmiersprachen und virtuelle Maschinen. Theoretisch kann man jede Programmiersprache dazu nutzen, Bytecode für eine VM zu erstellen. Man benötigt nur einen Compiler für die Sprache und die virtuelle Maschine. Durch den Erfolg der Java Virtual Machine (JVM) wurden einige Entwickler angespornt und haben auch Compiler für andere Sprachen geschrieben, die Bytecode für die JVM erzeugen. Einen Überblick bietet die Webseite: Inzwischen hat auch die Firma Sun den Wunsch nach anderen Sprachen auf Basis der JVM erkannt und unterstützt Entwicklungen in diese Richtung. Abbildung 2.3 Schaubild der Softwareerstellung mit Java 45

18 Index 3-Tier-Modell 541 A abstrakt 221, 253 abstrakte Klassen 236, 251 abstrakte Methode 251 Alan Turing 26 Algol Amigos 205 Analyse 304 Anekdote 23 Anwendungsfall 304 Anwendungsobjekte 208, 305 anzeigen 328 API 203, 246 API-Doku 356 API-Dokumentation 70, 485 APL 50 Apple imac 23 Applikation 303 Arbeitsset 130, 136 Archivart 101 ArrayList 320 Arrays 264 ASCI 351 Assembler 26 Ast 198 atomare Typen 262 AtomicInteger 263 AtomicLong 263 Attribute 196, 306, 342 Aufbau 139 auflösen 250 Aufrufstelle 234 Auslieferung 65 Ausnahmefälle 453 AWT 58 AWT-Oberfläche 252 B Basisklassen 198 Baum 198 Bauplan 195 Bausteine 122 Bedingungen 293 Bertrand Russell 193 Betriebssystemebene 122 Bezeichnungen 198 Beziehungen 198 Bibliotheken 135 BigDecimal 263 BigInteger 263 Blöcke 493 Booch 205 boolean 259 Build-Vorgang 136 Businessobjekte 208, 305 byte 260 Bytecode-Datei 98 C C 55, 60 C# 60 C++ 59, 61 CAD 59 CAD-System 122 CASE 54 Castings 24 catch 369 CDT 61 CeBIT 24 Chain of Responsibility 478 char 259 Child 131 class 196 ClassNotFoundException 456 Cobol 24, 59 Code Assistant 367 Codekomplettierung 64 Codekonventionen 475 Combobox 76 Compiler 53, 269 Component 252, 253 Computer 25 connect 543 Constructor Summary 270 Custom Setup-Dialog

19 Index CVS 65, 96 CVS-Sichten 131 D daemon 465 Dämon 47, 465 Darwin 195 Datei 144 Dateiaufbau 477 Dateiendungen 479 Dateiname 478 Datenbank 64, 509 Datenbank-Server 521 Datenbankzugriffe 539 Datendefinitionsabfrage 511 Datenkapselung 341 Datenkonstrukte 480 Datenquellenname 515 Datentypen 261 DbEdit 509 DBMS 521 DDL 512 Deaktivierung 116 debuggen 458 Debugger 55, 65, 127, 284 Dechriffrierung 26 Decompiler 43 default 273 Define 62 definiert 267 Definition 230 Deinstallation 90, 119 Deklarationen 490 deklariert 267 Design 62 Designpattern 479 Deutsch 105 Develop 62 Dialog 326 Dialogbox 46, 133, 208 Dialogfeld 249 DML 512 do-schleife 289 double 260 do-while 495 Drag-and-Drop 172 DVD-Player 25 E Early Binding 234 Ebenen 158 Eclipse starten 102 Editor verlinken 158 Editoren 123, 140 Eiffel 59 Eigenschaften 104, 196, 216, 248 Eingabeaufforderung 88 Einrückung 483 einzeiliger Kommentar 485 Emacs 53 Embeded System 29 Endemarke 485 Enigma 26 Enterprice Java Beans 73 entkoppeln 252 Entwicklerwerkzeug 122 Entwurfsansicht 510 Entwurfsmuster 326, 479, 546 Entzipper 99 erben 217, 253 erfassen 328 error-handling 368 Erscheinungen 193 erweitern 348, 352 EVA 328 Event-Behandlung 453 Exception 453, 455 Exception-Handling 456 exist 279, 282 External JARs 136 F Fachliteratur 37 Fall-Throughs 496 Fallunterscheidung 234 Fehlermeldung 249, 267, 458 Fehlersymbol 219, 250 Fenster 142 Fernsteuerung 29 Festplatte 99 Fields 255 final 269, 281 finalize 362 Flag 463 float

20 Index Formatierprogramm 476 for-schleifen 289, 494 Forth 50 Frame 365 Framework 49, 59, 122 frühe Bindung 234 funktionale Sprache 46 G Ganzzahl 46 Garbage-Collection 345 GByte 41 Gebäudesteuerung 25 gecastet 357 gelistete Attribute 314 Generalisation 219 Geschäftsobjekte 208, 209 getlength 46 getter-methoden 146, 453, 555 Green 29 Griechenland 193 Grundausstattung 306 Grundsystem 107 GUI 19 GUI-Applikationen 48 GUI-Builder 54 GUI-Klassen 252 H Hardware 98 Hardwarevoraussetzungen 70 Hauptteil 481 Haupt-Thread 461 Header-Datei 33 Hersteller 199 Hilfedatei 271 Hinweise 18 Historie 65, 482 Homepage 106 HotJava 30 HTML 25 I IBM 106 IDE 19, 53 Ideenlehre 193 IllegalThreadStateException 465 imperative Sprache 46 implementieren 253 importieren/exportieren 160 Index 246, 356 inner class 306 innere Klassen 308 Installation 69, 98 Installation von Plugins 110 Installationsprogramm 74 instanceof 557 Instanz 199 Instanziierung 34, 199, 222, 312, 338 Instanz-Initiatoren 469 int 258, 260 Interface 226, 251, 253, 500 InterruptedException 368 invoke 555 isdaemon 467 J J++ 60 Jacobson 205 Jar-Dateien 245 Java Web Start 70 Java-Compiler 45 Javadoc-Kommentar 481 Java-Handy 24 Java-Lebenslauf 30 Java-Oberflächen 252 Java-Pakete 203 Java-Perspektive 123, 539 Java-Story 29 Java-Trainer 89 JBuilder 54, 63 JDBC 539 JDBC-Aufrufe 541 JDK 69 JDK EE 71 JFace 58 JRE 69 JSP-Anwendungen 131 JVM 23 K Kaffeesorte 23 Key

21 Index Kfz 198 Klassen 258 Klassenbezeichnung 197 Klassendiagramm 303 Klassenkopf 257 Klassenkörper 313 Klassennamen 367, 478 Klassifizierung 228 Kommandozeilen-Programme 48 Kommentare 276, 307, 481 Kommunikation 286 komplexe Datentypen 258, 262 Komprimierung 307 Konfiguration 526 konkret 221 konkrete Klassen 251 Konsole 99 Konsolen-Ansicht 268 Konsortium 58 Konstanten 269, 501 Konstruktor 196, 214, 312, 551 Konstruktormethode 271 Konsumelektronik 29 Konventionen 475 Kunden 243 L Language-Pack 105 Late Binding 234 Latest Release 96 Laufvariablen 491 Lebenszyklus 477 Leerzeichen 498 Leerzeilen 496 Lesbarkeit 477 Libraries 69 Library 246 Linné 195 Linux 23, 263 Liste 264, 357 Literale 33 Lizenz 75 LMT 19 long 260 M main-methode 282, 309 Manage 62 Markierung 267 Maschinencode 27 Mathematik 35 mehrdeutig 543 mehrzeiliger Kommentar 485 Meldung 455 Menubar 142 Menüleiste 142 Menüs 125 Methoden 215, 251, 307, 501 Methodenkörper 236, 271 Methodik 132 Micro-Edition 73 Middleware 540 Mikroprozessor 41 Milestones 95 Millisekunden 463 Modell 199, 545 Model-View-Controller 326 Müllbeseitigung 345 Multithreading 460 MVC-Prinzip 478 MySQL 524, 525 N Nachrichten 216, 255 Namenskonventionen 499 Navigatorview 158 navigieren 153 neuronale Netze 47 new 310 Nomenklatur 195 null 311 NumberFormatException 454 O Oak 29 Oberklassen 198 Object 331 Object-relational mapping 541 Objekt 194, 196 objektorientierte Sprache 28 Objektvariablen

22 Index ODBC-Bridge 543 ODBC-Verbindung 515 offene Attribute 314 Office-System 122 OMG 205 OOP 19, 232, 326 Open Source 37, 58 Operationen 198, 216 Operatoren 34 Ordner 202 OTI 56 P Package Explorer 337, 356 Paket 246, 363 Paket-Explorer 202 Paketstrukturen 245 Paradigma 195 Parameter 343 parseint 454 PDA 73 Perl 59, 60 Perspectives 123 Perspektive öffnen 140 schließen 142 zurücksetzen 142 Perspektiven 123 Pfade 136 Phasenmodell 303 PHP 59 PL/1 24 Plato 193 Plattformunabhängigkeit 45 Plugin 47, 56 Polymorphie 337 Polymorphismus 232 PowerPC 23 primitive Datentypen 258, 259 println 33, 361 private 212, 229, 273, 329 Programmautoren 342 Programmiersprache erlernen 49 Programmierung ohne Eclipse 87 Projekt 64, 133, 154 Projektdesign 304 Projekte löschen 138 Projektname 128, 245 Projektverwaltung 64 proprietäre Sprache 28 protected 273 Protokollname 543 Prozedur 234 prozedurale Programmierung 244 prozedurale Sprache 28 public 273 Python 59 Q QNX 59 Qualifizierung 311 Quellcode 27, 53, 306, 486 Quelle 146 Quelle-Registerkarte 135 Quick C 55 R rational 57 Rechenoperationen 351 Redundanzen 227, 341 Refactoring 147 Refection-Klassen 341 referenzieren 343, 350 Registerleisten 169 relationale Datenbanken 509 Relationen 513 resume 463 RMT 19 Ruby 60 Rückgabewerte 503 Rumbaugh 205 run 461 Runnable 461 Runtime Environment 90 S SAP 58 Schleife 288, 357 schließende Klammer 255 Schlüsselwörter 33 Scrapbook-Page 309 Scrapbook-Seite 127, 264 screensize 367 SE

23 Index Seiteneffekte 488 Semantik 33 Semikolon 236 SEQUEL 509 Serializable 226 Servlets 131 setlength 46 setlocation 367 Setter 146, 453 Setup 74 SGML 25 short 260 Shortcuts 124 Sicht 327 Sichtbarkeit 274 Sichten 123 Signal 454 Signalwerfen 454 Signatur 271, 345 Singleton 546 sleep 368 Smalltalk 56, 127 Smalltalk Snippet-Editor 127, 264 Softwareobjekt 196, 243 Softwarewelt 24 Sonderausstattung 306 Spaltennamen 510, 556 späte Bindung 234 Speicher 256 Speicherbereinigung 345 Spezialisierung 219 Splash-Screen 339, 364 Sprachinstallation 106 SQL 509 SQL-Befehle 529 SQL-Statements 541 Squeak 32 Stacks 264 Standardkonstruktor 349 Startmarke 485 static 270, 281 Statusbar 169 steuern 328 Steuerung 326 stop 463 Stream Stable Builds 96 String 128, 262 Subjekte 194 Subklassen 198 Sun 23 Sun World 30 Sun-Workstation 23 super 220 Superklasse 198, 248, 313, 348 suspend 463 Swing 58 switch 495 Symbole 204 Symbolleiste 125 synchron 327 Syntax 30 Sysouts 455 T Tabelle 510, 556 Tabellenkalkulation 122 Tastenkürzel 123, 162 Team 160 Test 62, 309 Texteditor 162, 246 Textverarbeitung 59, 122 Thread 263, 368 throw 455 throwable 455 tostring 261 Treiber 542 try 369 try-catch 453 Try-catch-Block 147, 456 Turing-Maschine 26 Turing-Test 26 Tutorials 104 Typstrenge 340 U überladen 348, 350, 361 überschreiben 252, 348 UML 19, 243 UML-Diagramme 199 Umwandlung in eine Zahl 453 Undo 65 UNICODE 351 Unified Modeling Language 204 Unikat 194 Unterfenster

24 Index Unterklasse 233, 348 untersuchen 277 URL 19 usecases 205 V Variablen 255, 501 VBA-Routinen 47 Verbindung 544 Vererbung 195, 229, 337 Vererbungspfeil 230 Verknüpfungslinie 515 Versionen 95, 190 Verteilte Anwendungen 48 Verzeichnisse 136 Verzeichnisstruktur 203 Views 123 View-Verzeichnis 135 visibility 276 VM 19 void 282 Von-Neumann-Rechner 42 Vorgehensmodell 304 W wapperklassen 261 Wartung 477 Webseite 79 Werkbank 123 while-schleife 289, 495 Windows 122 Windows Workbench 123 Workspace 104 Wrapperklassen 35 X XML 25, 69 Z Zahlenformatausnahme 454 Zeichenkette 35 Zugriff 349 Zusicherungen 217 Zuständigkeitskette 478 Zuweisungen

Java 6 lernen mit Eclipse

Java 6 lernen mit Eclipse Gottfried Wolmeringer Java 6 lernen mit Eclipse Galileo Press Danksagung 15 Vorwort 17 Hinweise zur Benutzung des Buches 18 Learning by Doing 19 TEIL I Grundlagen 1.1 Warumprogrammieren? 23 1.2 Was ist

Mehr

Wolmerin; Java lernen y. mit Eclipse 3. Galileo Computing

Wolmerin; Java lernen y. mit Eclipse 3. Galileo Computing Wolmerin; Java lernen y mit Eclipse 3 Galileo Computing Inhalt Vorwort 13 Hinweise 15 Teil I Grundwissen und Installation 19 1 Was ist Java? 21 1.1 Warum programmieren? 23 1.2 Was ist eine Programmiersprache?

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0 Anleitung zur Installation und Verwendung von eclipseuml 2.1.0 In dieser Anleitung wird die Installation und Verwendung von Omodo eclipseuml 2.1.0 beschrieben. eclipseuml ist eine Zusatzsoftware für Eclipse,

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

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm

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

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Software-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

Mehr

Einführung in Eclipse und Java

Einführung in Eclipse und Java Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es 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

Mehr

Informationen zur Verwendung von Visual Studio und cmake

Informationen 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... 6 Installation von

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

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

Große Übung Praktische Informatik 1

Große Übung Praktische Informatik 1 Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22 Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften

Mehr

Objektorientierte Programmierung OOP

Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6 Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in

Mehr

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ

Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ IBBB 2010 Workshop 6 Einführung in die objektorientierte Programmierung Dozenten: J. Penon, J. Frank, A. Schindler Teil: Java mit BlueJ Dozent: A. Schindler Einf. i. d. OOP - Java u. BlueJ / A. Schindler

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung

Java 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

Mehr

Inhaltsverzeichnis. 2.2 Grundlagen der UML... 41. 2.3 Zusammenfassung... 53

Inhaltsverzeichnis. 2.2 Grundlagen der UML... 41. 2.3 Zusammenfassung... 53 Vorwort......................................................... 13 1 Vorbereitungen.................................................. 17 1.1 JDK-Installation unter Windows................................

Mehr

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

Mehr

QTTabBar Einrichtung, ein Tutorial

QTTabBar Einrichtung, ein Tutorial QTTabBar Einrichtung, ein Tutorial Von Heiko Schulze Eines der ganz entscheidenden Dinge, das im Explorer fehlt ist das tabunterstützte Navigieren. Dafür gibt es bereits seit Jahren die QTTabBar. Sie wurde

Mehr

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung

Mehr

Folge 18 - Vererbung

Folge 18 - Vererbung Workshop Folge 18 - Vererbung 18.1 Ein einfacher Fall der Vererbung Schritt 1 - Vorbereitungen Besorgen Sie sich - vielleicht aus einer der Übungen der Folge 17 - ein fertiges und lauffähiges Listenprojekt,

Mehr

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen

Mehr

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt. Eine Weitergabe

Mehr

Gruppenrichtlinien und Softwareverteilung

Gruppenrichtlinien und Softwareverteilung Gruppenrichtlinien und Softwareverteilung Ergänzungen zur Musterlösung Bitte lesen Sie zuerst die gesamte Anleitung durch! Vorbemerkung: Die Begriffe OU (Organizational Unit) und Raum werden in der folgenden

Mehr

Installation OMNIKEY 3121 USB

Installation OMNIKEY 3121 USB Installation OMNIKEY 3121 USB Vorbereitungen Installation PC/SC Treiber CT-API Treiber Einstellungen in Starke Praxis Testen des Kartenlesegeräts Vorbereitungen Bevor Sie Änderungen am System vornehmen,

Mehr

Testen mit JUnit. Motivation

Testen mit JUnit. Motivation Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

SRH - Kurzinformation

SRH - Kurzinformation SRH - Kurzinformation Dieses Dokument gibt eine Übersicht über das Shockley/Read/Hall-Programm, im folgenden SRH- Programm genannt. Bei dem SRH-Programm handelt es sich um ein Java Programm, welches in

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3. Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike

Mehr

Neuinstallation moveit@iss+ Einzelplatzversion

Neuinstallation moveit@iss+ Einzelplatzversion Neuinstallation moveit@iss+ Einzelplatzversion Hinweis: Gerne bietet Ihnen moveit Software die Durchführung einer lokalen Neuinstallation zu einem günstigen Pauschalpreis an. Die rasche und professionelle

Mehr

CSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung

CSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung Kapitel 1 Die Vorbereitung Vorgängerversionen. Bald darauf folgte dann schon die Version 4, die mit einer kleinen Bearbeitung bis vor Kurzem 15 Jahre unverändert gültig war. All das, was du die letzten

Mehr

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler Downloadfehler in DEHSt-VPSMail Workaround zum Umgang mit einem Downloadfehler Downloadfehler bremen online services GmbH & Co. KG Seite 2 Inhaltsverzeichnis Vorwort...3 1 Fehlermeldung...4 2 Fehlerbeseitigung...5

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

C# im Vergleich zu Java

C# im Vergleich zu Java C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung

Mehr

Über den Autor 7. Teil I Los geht s mit Java für die Android-Entwicklung 25. Kapitel 1 Alles über Java und Android 27

Über den Autor 7. Teil I Los geht s mit Java für die Android-Entwicklung 25. Kapitel 1 Alles über Java und Android 27 Inhaltsverzeichnis Über den Autor 7 Einführung 19 Wie Sie dieses Buch verwenden 19 In diesem Buch verwendete Konventionen 19 Was Sie nicht lesen müssen 20 Törichte Voraussetzungen 20 Wie dieses Buch aufgebaut

Mehr

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht

Mehr

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen

Mehr

Java Programmierung auf der Konsole / unter Eclipse

Java Programmierung auf der Konsole / unter Eclipse Fakultät Informatik, HFU Brückenkurs Programmieren 1 Java Programmierung auf der Konsole / unter Eclipse Allgemeine Begriffe Programmiersprache: künstliche Sprache zur Notation von Programmen Programm:

Mehr

Datei Erweiterungen Anzeigen!

Datei Erweiterungen Anzeigen! Einleitung Beim Kauf eines PCs werden die Dateierweiterungen sowie einige Dateien nicht angezeigt. Grund: Es gibt sehr viele Dateien die für das System ganz wichtig sind. Diese Dateien und auch Ordner

Mehr

Computeranwendung und Programmierung (CuP)

Computeranwendung und Programmierung (CuP) Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag

Mehr

Javakurs zu Informatik I. Henning Heitkötter

Javakurs zu Informatik I. Henning Heitkötter Javakurs zu Informatik I Arrays vergleichen Implementieren Sie folgende Methode, die prüft, ob die Elemente der beiden Arrays an jeder Position übereinstimmen: public static boolean identisch(int[] a,

Mehr

Programmieren I. Kapitel 15. Ein und Ausgabe

Programmieren I. Kapitel 15. Ein und Ausgabe Programmieren I Kapitel 15. Ein und Ausgabe Kapitel 15: Ein und Ausgabe Ziel: einen kleinen Einblick in die vielfältigen IO Klassen geben Grober Überblick Klasse File zur Verwaltung von Dateien Random

Mehr

J.5 Die Java Virtual Machine

J.5 Die Java Virtual Machine Java Virtual Machine Die Java Virtual Machine 22 Prof. Dr. Rainer Manthey Informatik II Java-Compiler und Java Virtual Machine Quellcode-Datei class C... javac D.java Java-Compiler - Dateien class class

Mehr

4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen

4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen 4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen Highlights: objektorientierte Sprache Plattformunabhängigkeit bei Hardware und Betriebssystem optimale Einbindung im Internet und Intranet

Mehr

Software-Engineering 2. Software-Engineering 2. Entwicklungsumgebungen (IDE) IT works. Klaus Mairon www.mairon-online.de 22.03.

Software-Engineering 2. Software-Engineering 2. Entwicklungsumgebungen (IDE) IT works. Klaus Mairon www.mairon-online.de 22.03. Software-Engineering 2 Entwicklungsumgebungen (IDE) IT works. Klaus Mairon www.mairon-online.de 22.03.2009 1 Entwicklungsumgebungen, CASE-Tools, CASE-Werkzeuge unterstützen den Software-Entwicklungsprozess

Mehr

Innovator 11 classix. Anbindung an Eclipse. Einführung, Installation und Konfiguration. Connect. Michael Kaaden. www.mid.de

Innovator 11 classix. Anbindung an Eclipse. Einführung, Installation und Konfiguration. Connect. Michael Kaaden. www.mid.de Innovator 11 classix Anbindung an Eclipse Einführung, Installation und Konfiguration Michael Kaaden Connect www.mid.de Einführung in die Innovator-Eclipse-Anbindung Die hier beschriebene Anbindung steht

Mehr

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7 FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7 Die Installation der FuxMedia Software erfolgt erst NACH Einrichtung des Netzlaufwerks! Menüleiste einblenden, falls nicht vorhanden Die

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

PocketPC.ch Review. SBSH ilauncher 3.1. Erstelldatum: 3. Dezember 2007 Letzte Änderung: 3. Dezember 2007. PocketPC.ch_Review_iLauncher.

PocketPC.ch Review. SBSH ilauncher 3.1. Erstelldatum: 3. Dezember 2007 Letzte Änderung: 3. Dezember 2007. PocketPC.ch_Review_iLauncher. PocketPC.ch Review SBSH ilauncher 3.1 Erstelldatum: 3. Dezember 2007 Letzte Änderung: 3. Dezember 2007 Autor: Dateiname: PocketPC.ch_Review_iLauncher.doc Inhaltsverzeichnis SBSH ilauncher 3.1...3 Übersicht...

Mehr

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Inhalt 1. Die Funambol Software... 3 2. Download und Installation... 3 3.

Mehr

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:

Mehr

Dokumentation Schedulingverfahren

Dokumentation Schedulingverfahren Dokumentation Schedulingverfahren von Norbert Galuschek Gordian Maugg Alexander Hahn Rebekka Weissinger June 23, 2011 1 Contents 1 Aufgabe 3 2 Vorgehensweise 4 2.1 Warum Android.......................

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Die Entscheidung Advoware über VPN direkt auf dem lokalen PC / Netzwerk mit Zugriff auf die Datenbank des zentralen Servers am anderen

Mehr

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition In den nachfolgenden Schritten finden Sie beschrieben, wie Sie in der Entwicklungsumgebung Microsoft Visual Studio 2010 eine Projektmappe, ein Projekt und einen ersten Quellcode erstellen, diesen kompilieren,

Mehr

CADEMIA: Einrichtung Ihres Computers unter Mac OS X

CADEMIA: Einrichtung Ihres Computers unter Mac OS X CADEMIA: Einrichtung Ihres Computers unter Mac OS X Stand: 28.01.2016 Java-Plattform: Auf Ihrem Computer muss die Java-Plattform, Standard-Edition der Version 7 (Java SE 7) oder höher installiert sein.

Mehr

Einführung in Javadoc

Einführung in Javadoc Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:

Mehr

1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> nach den oben genannten Kriterien.

1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> nach den oben genannten Kriterien. Java 1 Einführung Grundlegende Übungsaufgaben Arbeitsauftrag 1.1 1. Formulieren Sie den Algorithmus nach den oben genannten Kriterien. Beispiel: Bedienung eines Getränkeautomaten

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

EasyProfil unter Windows 7 64-Bit Home Premium (Die Installation der VirtualBox und EasyProfil)

EasyProfil unter Windows 7 64-Bit Home Premium (Die Installation der VirtualBox und EasyProfil) EasyProfil unter Windows 7 64-Bit Home Premium (Die Installation der VirtualBox und EasyProfil) Die Open Source-Virtualisierung VirtualBox macht es möglich, Windows XP unter Windows 7 64-Bit laufen zu

Mehr

Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X

Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X SwissMacMeeting #1 26. Juni 2004 Messeturm Basel http://mac.naepflin.com Was ist das Ziel dieses Kurses? Starthilfe Einblick in die Möglichkeiten,

Mehr

Tutorial: Erstellen einer vollwertigen XP Home CD aus der EEE 901 Recover DVD

Tutorial: Erstellen einer vollwertigen XP Home CD aus der EEE 901 Recover DVD Tutorial: Erstellen einer vollwertigen XP Home CD aus der EEE 901 Recover DVD Von SpecialK für www.eee-pc.de Stand:Version 1.0 vom 25.08.2008 Vorwort: Mit Hilfe dieses Tutorials wird aus der beim EEE 901

Mehr

Zählen von Objekten einer bestimmten Klasse

Zählen von Objekten einer bestimmten Klasse Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --

Mehr

Step by Step Softwareverteilung unter Novell. von Christian Bartl

Step by Step Softwareverteilung unter Novell. von Christian Bartl Step by Step Softwareverteilung unter Novell von Softwareverteilung unter Novell 1) Starten von einfachen *.EXE-Dateien: Starten sie ConsoleOne Erstellen sie eine eigene Organisationseinheit für ihre Anwendungen

Mehr

JAVA. Ein kurzer Überblick. Thomas Karp

JAVA. Ein kurzer Überblick. Thomas Karp JAVA Ein kurzer Überblick Thomas Karp WAS IST JAVA? Java ist eine fast rein objektorientierte Sprache nicht JavaScript eine professionelle Sprache eine im Unterricht weit verbreitete Sprache für verschiedene

Mehr

Nach der Installation des FolderShare-Satellits wird Ihr persönliches FolderShare -Konto erstellt.

Nach der Installation des FolderShare-Satellits wird Ihr persönliches FolderShare -Konto erstellt. FolderShare Installation & Konfiguration Installation Eine kostenlose Version von FolderShare kann unter http://www.foldershare.com/download/ heruntergeladen werden. Sollte die Installation nicht automatisch

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

Mehr

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4. Agenda für heute, 4. Mai, 2006 Programmierparadigmen Imperative Programmiersprachen In Prozeduren zusammengefasste, sequentiell ausgeführte Anweisungen Die Prozeduren werden ausgeführt, wenn sie als Teil

Mehr

4 Aufzählungen und Listen erstellen

4 Aufzählungen und Listen erstellen 4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer

Mehr

CartCalc FAQ (frequently asked questions) häufige Fragen zu CartCalc

CartCalc FAQ (frequently asked questions) häufige Fragen zu CartCalc CartCalc FAQ (frequently asked questions) häufige Fragen zu CartCalc Installation Frage: Wie installiere ich CartCalc? Antwort: Die Installation von CartCalc erfolgt automatisch. Nach Einlegen der Demo-CD

Mehr

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich 13 OOP MIT DELPHI Delphi war früher "Object Pascal". Dieser Name impliziert eine Funktionalität, welche in der Welt der Programmierung nicht mehr wegzudenken ist: die objektorientierte Programmierung,

Mehr

Andy Hunt. Programmieren lernen. mit Minecraft-Plugins. dpunkt.verlag

Andy Hunt. Programmieren lernen. mit Minecraft-Plugins. dpunkt.verlag Andy Hunt Programmieren lernen mit Minecraft-Plugins dpunkt.verlag Hier geht es los! 1 Für wen ist dieses Buch gedacht? 2 Erste Schritte 2 Ein Sprung ins kalte Wasser 3 Wo bekommst du Hilfe? 4 Schreibweisen

Mehr

Dateimanagement in Moodle Eine Schritt-für

Dateimanagement in Moodle Eine Schritt-für Übersicht: Lehrende können Dateien in einen Moodle-Kurs hochladen, in Verzeichnissen verwalten und für Studierende zugänglich machen. Jeder Moodle-Kurs hat einen Hauptordner Dateien im Administrationsblock.

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11 Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11 Fakultät für Informatik Lehrstuhl 1 Dr. Lars Hildebrand Carla Delgado-Battenfeld Fatih Gedikli Tobias Marschall Benjamin Schowe

Mehr

Jederzeit Ordnung halten

Jederzeit Ordnung halten Kapitel Jederzeit Ordnung halten 6 auf Ihrem Mac In diesem Buch war bereits einige Male vom Finder die Rede. Dieses Kapitel wird sich nun ausführlich diesem so wichtigen Programm widmen. Sie werden das

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

Installationsanleitung für Update SC-Line 2010.3

Installationsanleitung für Update SC-Line 2010.3 SYSTEMVORAUSSETZUNGEN SC-Line 2010.3 benötigt für den Betrieb Windows 2000, Windows XP, Windows Vista - (32Bit und 64Bit), Windows 7 - (32Bit und 64Bit), Windows Server 2003, Windows Server 2008 - (32Bit

Mehr

4. AuD Tafelübung T-C3

4. AuD Tafelübung T-C3 4. AuD Tafelübung T-C3 Simon Ruderich 17. November 2010 Arrays Unregelmäßige Arrays i n t [ ] [ ] x = new i n t [ 3 ] [ 4 ] ; x [ 2 ] = new i n t [ 2 ] ; for ( i n t i = 0; i < x. l e n g t h ; i ++) {

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

GEVITAS Farben-Reaktionstest

GEVITAS Farben-Reaktionstest GEVITAS Farben-Reaktionstest GEVITAS Farben-Reaktionstest Inhalt 1. Allgemeines... 1 2. Funktionsweise der Tests... 2 3. Die Ruhetaste und die Auslösetaste... 2 4. Starten der App Hauptmenü... 3 5. Auswahl

Mehr

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 Referentin: Dr. Kelly Neudorfer Universität Hohenheim Was wir jetzt besprechen werden ist eine Frage, mit denen viele

Mehr

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine PhotoLine S/W mit PhotoLine Erstellt mit Version 16.11 Ich liebe Schwarzweiß-Bilder und schaue mir neidisch die Meisterwerke an, die andere Fotografen zustande bringen. Schon lange versuche ich, auch so

Mehr

Installationsleitfaden kabelsafe backup professional unter MS Windows

Installationsleitfaden kabelsafe backup professional unter MS Windows Installationsleitfaden kabelsafe backup professional unter MS Windows Installationsanleitung und Schnelleinstieg kabelsafe backup professional (kabelnet-obm) unter MS Windows Als PDF herunterladen Diese

Mehr