Tutorium Java Ein Überblick. Helge Janicke



Ähnliche Dokumente
Objektorientierte Programmierung für Anfänger am Beispiel PHP

Java: Vererbung. Teil 3: super()

Vorkurs Informatik WiSe 15/16

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

Anleitung über den Umgang mit Schildern

Objektorientierte Programmierung

Java Einführung Programmcode

Objektorientierte Programmierung OOP Programmieren mit Java

Einführung in die Java- Programmierung

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientiertes Programmieren mit Suse Linux

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

Programmierkurs Java

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Version 0.3. Installation von MinGW und Eclipse CDT

Einführung in Eclipse und Java

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Programmieren in Java

Sichtbarkeit & statische Methoden. Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben

PHPNuke Quick & Dirty

Java Kurs für Anfänger Einheit 5 Methoden

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 22

Installation einer C++ Entwicklungsumgebung unter Windows --- TDM-GCC und Eclipse installieren

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

Erste Schritte zum lauffähigen Java Programm

INHALT 1. INSTALLATION DES V-MODELL XT UNTER WINDOWS 7 2. INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA

Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API).

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

! " # $ " % & Nicki Wruck worldwidewruck

Applications Applets (eingeschränkte Rechte)

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

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek

Übungen Programmieren 1 Felix Rohrer. Übungen

Grundlagen von Python

Was meinen die Leute eigentlich mit: Grexit?

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Vorkurs C++ Programmierung

Eine Anwendung mit InstantRails 1.7

Übungsblatt 3: Algorithmen in Java & Grammatiken

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Einführung in die Programmierung

mit dem TeXnicCenter von Andreas Both

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

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

1. LINEARE FUNKTIONEN IN DER WIRTSCHAFT (KOSTEN, ERLÖS, GEWINN)

Netzwerk einrichten unter Windows

Backup der Progress Datenbank

Informatik 1 Tutorial

Durchführung der Datenübernahme nach Reisekosten 2011

Objektorientierte Programmierung OOP

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

Erstellen der Barcode-Etiketten:

Sie müssen sich für diesen Fall mit IHREM Rechner (also zeitgut jk o.ä.) verbinden, nicht mit dem Terminalserver.

Was ich als Bürgermeister für Lübbecke tun möchte

Informatik I Tutorial

Kompilieren und Linken

Visualisierung auf Büro PC s mit dem ibricks Widget

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

Die Windows 7 Sicherung im Detail

Step by Step Webserver unter Windows Server von Christian Bartl

Qualität und Verlässlichkeit Das verstehen die Deutschen unter Geschäftsmoral!

Folge 19 - Bäume Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

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

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

M03a Lernstraße für den Unterricht in Sekundarstufe I

AutoTexte und AutoKorrektur unter Outlook verwenden

Zwischenablage (Bilder, Texte,...)

Artikel Schnittstelle über CSV

Erstellen einer digitalen Signatur für Adobe-Formulare

Installationsanleitungen

Dokumentation für das Spiel Pong

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Konventionen. Danksagung

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Professionelle Seminare im Bereich MS-Office

Meet the Germans. Lerntipp zur Schulung der Fertigkeit des Sprechens. Lerntipp und Redemittel zur Präsentation oder einen Vortrag halten

Datensicherung. Beschreibung der Datensicherung

Sie werden sehen, dass Sie für uns nur noch den direkten PDF-Export benötigen. Warum?

Innere Klassen in Java

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

1 Vom Problem zum Programm

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

Manuelle Konfiguration einer VPN Verbindung. mit Microsoft Windows 7

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich

Bauteilattribute als Sachdaten anzeigen

Wie halte ich Ordnung auf meiner Festplatte?

Delegatesund Ereignisse

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

1. Der Router ist nicht erreichbar Lösungsansatz: IP Adresse des Routers überprüfen ( entweder irgendwo auf dem Gerät aufgeklebt oder im Handbuch )

5. Tutorium zu Programmieren

Drucken aus der Anwendung

Wie lizenziert man die Virtualisierung von Windows Desktop Betriebssystemen?

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

Einfügen von Bildern innerhalb eines Beitrages

Einführung in die Java- Programmierung

KVIrc installieren (win) i. KVIrc installieren (win)

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

Das Persönliche Budget in verständlicher Sprache

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Transkript:

Tutorium Java Ein Überblick Helge Janicke 26. Oktober 2000

1 VORRAUSSETZUNGEN ZUM PROGRAMMIEREN MIT JAVA. 1 1 Vorraussetzungen zum Programmieren mit Java. Was braucht man, wenn man mit Java programmieren möchte? Einen Editor, mit dem man ASCII Texte erzeugen kann. Grundkenntnisse mit dem Umgang einer Konsole (DOS) oder Shell (Linux). Ein installiertes Java-software-development-kit. 1.1 Welcher Editor macht mir das Leben leichter? Eigentlich ist die Wahl des Editors von den eigenen Vorlieben abhängig. Unter Windows, sowie unter Linux hat man immer eine recht gute Auswahl von Editoren, die sich für die Entwicklung von Java-Programmen eignen. Für Windows kann ich hier TextPad und UltraEdit empfehlen, beide sind auch als Trial- Version erhältlich. Das TextPad-Trial hat den Vorteil, das es keiner zeitlichen Beschränkung unterliegt und man nur gelegentlich die Aufforderung zum Bestellen wegklicken muß. Für die Entwicklung unter Linux gibt es auch zwei Editoren, die ich getestet habe. JEdit und (wie sollte es anders sein) emacs (auch noch kwrite und nedit). Natürlich kann man auch die Primitiv -Editoren wie NotePad (WIN) und KEdit(Linux) verwenden, diese stellen allerdings kein Syntax-Highlighting zur Verfügung. Abraten möchte ich noch von Editoren wie WordPad und ähnlichen Programmen, die in der Lage sind auch RTF-Texte zu erzeugen. Zu leicht kommen in diese Texte irgentwelche unsichtbaren Sonderzeichen rein, über die dann der Compiler stolpert. 1.2 Grundkenntnisse für die Konsole. 1.2.1 Windows / DOS dir Zeigt den Inhalt des aktuellen Verzeichnisses an. Ist das Verzeichnis zu groß, als das man alles lesen könnte helfen die Parameter: /p /w weiter. Mit /h als Parameter bekommt man eine kurze Hilfe zum Befehl dir. dir /h

1 VORRAUSSETZUNGEN ZUM PROGRAMMIEREN MIT JAVA. 2 cd Verzeichnisname Verzeichnis wechseln.. ist aktuelles Verzeichnis... entspricht vorherigen Verzeichnis. cd c:\windows mkdir Verzeichnisname Neues Verzeichnis anlegen. mkdir neuesverzeichnis 1.2.2 Linux ls -al Zeigt den Inhalt des aktuellen Verzeichnisses an. Ist das Verzeichnis zu groß, als das man alles lesen könnte hilft der Zusatz more. ls -al more cd Verzeichnisname Verzeichnis wechseln.. ist aktuelles Verzeichnis... entspricht vorherigen Verzeichnis. ist das Home-Verzeichnis. cd ~/java mkdir Verzeichnisname Neues Verzeichnis anlegen. mkdir neuesverzeichnis

1 VORRAUSSETZUNGEN ZUM PROGRAMMIEREN MIT JAVA. 3 1.3 Das Java-software-development-kit (sdk, früher jdk) Dies ist das wichtigste. Ob ihr auf eurem Rechner ein sdk installiert habt könnt ihr in der Konsole feststellen, wenn ihr javac eingebt. Entweder wird der Java Compiler gefunden, oder ihr müßt es erst noch richtig installieren. Ihr solltet mindestens die Version jdk1.2.2 haben.

2 DER COMPILER UND DIE VIRTUAL MACHINE 4 2 Der compiler und die virtual machine Java ist eine Betriebssystemunabhängige Sprache. Dies hat in der Entwicklung und vorallem in der Wartung von Programmen erhebliche Vorteile. Programme die in Java geschrieben sind laufen auf (fast) jedem Rechner. Genauer gesagt auf jedem Rechner, auf dem eine Java-Virtual-Machine (JVM) installiert ist. Dies ist ein Programm, was den Bytecode, der vom Java-compiler erzeugt wurde interpretiert und auf dem jeweiligen System laufen läßt. Für ein Programm bedeutet dies, das es nur eine Version des Bytecodes gibt, den die verschiedenen virtual machines interpretieren können. 2.1 javac und java Dies ist der Name des compilers. Sobald ihr ein Programm (Xyz.java) geschrieben habt, speichert ihr es ab. Wechselt in das Verzeichnis und ruft den Java-compiler auf. javac Xyz.java Der compiler erzeugt eine Datei names Xyz.class. Dies ist die ausführbare Datei. Möchtet ihr das Programm laufen lassen startet ihr die Virtual-Machine und übergebt ihr euer Program als Parameter. java Xyz

3 JAVA IST OBJEKTORIENTIERT 5 3 Java ist Objektorientiert Objektorientierte Programmiersprachen (wie z.b. C++, Java, Delphi...) basieren auf einem anderem Konzept, als prozedurale Sprachen (C, Pascal... ). Bei einer Prozeduralen Sprache ist es ist möglich Funktionen zu definieren, die eine bestimmte Aufgabe erfüllen. Diese Funktionen benötigen zum arbeiten meist Funktionsparameter, die beim Aufruf übergeben werden. Eine Funktion hat immer einen Rückgabewert, der allerdings auch leer sein kann. Alle Informationen die eine Funktion zum ausführen braucht müssen ihr übergeben werden, oder global definiert sein. Eine Objektorientierte Sprache dagegen werden Funktionen (Methoden) und Variablen in einen Zusammenhang mit einem bestimmten Objekt gesetzt. Einen solchen Verbund bezeichnet man als Klasse. Am besten ist dies an einem Beispiel zu erklären. Nehmen wir einen Jabberwok 1, ein urzeitliches drachenähnliches Wesen. Ein Jabberwok hat folgende Eigenschaften: ist hungrig ist wütend speit Feuer hat 365034 Schuppen Nun natürlich lassen sich für ein solches Wesen noch andere Eigenschaften definieren, aber diese sollten fürs Beispiel genügen. Wie können wir einen solchen Jabberwok nun mit Hilfe eines Programms fassen und noch schlimmer, was hat denn ein Jabberwok mit Objektorientiertheit zu tun? Betrachten wir den Jabberwok als Objekt mit oben genannten Eigenschaften. Die Eigenschaften des Jabberwok lassen sich als Variablen verwirklichen, der Jabberwok als solches ist eine Klasse. Wir könnten also schreiben: public class Jabberwok { boolean isthungrig; boolean istwütend; boolean speitfeuer; int schuppen; 1 Quelle: Beispiel aus Java in 21 Tagen

3 JAVA IST OBJEKTORIENTIERT 6 Nun macht es aber auch Sinn bestimmte Methoden mit einem Jabberwok in Verbindung zu bringen. Zum fresse spiele dusche tutsichweh Nun können wir unsere Klasse Jabberwok vervollständigen. Methoden, die wir mit unserem Jabberwok in Verbindung bringen, haben natürlich auch Auswirkungen auf die Eigenschaften unseres Jabberwoks. public class Jabberwok { boolean isthungrig; boolean istwuetend; boolean speitfeuer; int schuppen; public void fresse() { // nun ist er nicht mehr hungrig. isthungrig = false; public void spiele() { // das beruhigt ihn! istwuetend = false; public void dusche() { // Wasser scheint gegen Feuerspeien zu helfen, aber es macht hungrig! isthungrig = true; speitfeuer = false; public void tutsichweh() {

3 JAVA IST OBJEKTORIENTIERT 7 // ohhh wie gemein, das macht ihn wütend und er speit Feuer!!!! istwuetend = true; speitfeuer = true; Nun haben wir Methoden und Variablen zusammen mit einem Jabberwok zu einer Klasse verknüpft. Eine Klasse ist sozusagen eine Beschreibung eines beliebigen Jabberwok s. Sozusagen eine Art Bauanleitung. Doch wie kommt unser Jabberwok zur Welt. Bei der Geburt unseres Jabberwoks, hat er bestimmte Eigenschaften, die ihn kennzeichnen. Für eine Klasse bedeutet das, daß bestimmte Variablen vorgegebene Werte haben. Soll ein Jabberwok zum Beispiel immer hungrig zur Welt kommen, so ist das Einfachste zu schreiben: boolean isthungrig = true; Eine andere Möglichkeit besteht darin in der Bauanleitung solche Vorbesetzungen zu treffen. Dies geschieht in einem sogenannten Konstruktor. Ein Konstruktor wird immer beim Erzeugen eines neuen Objektes aufgerufen, sozusagen bei der Geburt unseres Jabberwoks. Dort kann man auch Eigenschaften zuweisen. public class Jabberwok { boolean isthungrig; boolean istwuetend; boolean speitfeuer; int schuppen; /** Konstruktor */ public Jabberwok() { isthungrig = true; istwuetend = false; speitfeuer = false; schuppen = 365034;

3 JAVA IST OBJEKTORIENTIERT 8 public void fresse() { // nun ist er nicht mehr hungrig. isthungrig = false; public void spiele() { // das beruhigt ihn! istwuetend = false; public void dusche() { // Wasser scheint gegen Feuerspeien zu helfen, aber es macht hungrig! isthungrig = true; speitfeuer = false; public void tutsichweh() { // ohhh wie gemein, das macht ihn wütend und er speit Feuer!!!! istwuetend = true; speitfeuer = true; // und er verliert ein paar Schuppen. schuppen = schuppen - 10;

4 EIN ERSTES PROGRAMM 9 4 Ein erstes Programm So könnte euer erstes Java-Programm HelloWorld.java aussehen: public class HelloWorld { public static void main(string[] args) { System.out.println("HelloWorld"); 4.1 Die Bedeutung der einzelnen Zeilen. 4.1.1 Das Schlüsselwort public public bedeutet soviel wie öffentlich. Es zeigt an, daß andere Klassen auf diese Klasse zurückgreifen können. Andere Schlüsselwörter die eine ähnliche Bedeutung haben sind: public allgemein zugänglich. package ist nur in einem engeren Rahmen (dem package) meist innerhalb eines Projektes bekannt. protected ist nur Subklassen bekannt. private ist nicht allgemein bekannt, kann nur von einer Äußeren Klasse oder der Klasse selbst benutzt werden. 4.1.2 class class ist ein Schlüsselwort, das angibt, das nun eine Klasse folgt.

4 EIN ERSTES PROGRAMM 10 4.1.3 static static bedeutet, das diese Methode auch benutzt werden kann, ohne das man schon eine Instanz der Klasse besitzt. Innerhalb einer solchen Methode kann man nur auf die statischen Variablen und Methoden zugreifen. Variablen, die ein spezielles Objekt beschreiben, oder Methoden können von hier nicht aufgerufen werden. Es ist auch möglich dieses SChlüsselwort vor class zu schreiben. 4.1.4 public static void main(string[] args) Dies ist die komplette Zeile des Hauptprogramms, also dem Teil, der beim Starten des Programms ausgeführt wird. String[] steht für einen Array von Strings (Zeichenketten), die dem Programm beim Aufruf als Parameter übergeben werden. Der Name des Arrays ist args. 4.1.5 System.out.println( HelloWorld ) Diese Zeile schreibt HelloWorld auf die Konsole. System ist eine Klasse, die grundlegende Methoden und Variablen zum Umgang mit dem Betriebssystem enthalten. So zum Beispiel die Variable out, einem Stream, der die Standart-Ausgabe des Programms repräsentiert. Für diesen Stream ist die Methode println(...) definiert, die eine ganze Zeichenkette ausschreibt. In unserem Fall HelloWorld. 4.2 Die Namensgebung der Klasse WICHTIG! Wenn ihr ein Programm abspeichert nennt die Datei unbedingt genauso wie ihr die Klasse genannt habt und hängt noch die Endung.java hintendran. Ansonsten kann der Compiler die Datei nicht übersetzen! Groß und Kleinschreibung beachten! Übrigens, es ist Konvention, das alle Klassennamen mit einem Großbuchstaben beginnen sollten. Man tut gut daran dies einzuhalten.