Kapitel 1: Vorbereitende Aufgaben und Einstieg

Aus ComeniusWiki
Wechseln zu: Navigation, Suche

Zur Startseite

Inhaltsverzeichnis

Vorbereitende Aufgaben

Da wir in diesem Jahr mit JAVA als Programmiersprache arbeiten, empfiehlt es sich, das JDK-Paket und BlueJ als Programmierumgebung herunterzuladen und zu installieren.

JDK (Java Development Kit) (download)

BlueJ (Entwicklungsumgebung für Java) (download)

Grundbegriffe

Programmieren

Um einem Computer beizubringen, welche Aufgabe er lösen soll und auf welche Art und Weise er dies tun soll, benötigt man eine Methode um mit dem Computer zu kommunizieren. Da dieser aber letztlich nur eine Sprache versteht, die aus den Zeichen 0 und 1 besteht, hat man Programmiersprachen entwickelt, die diese Kommunikation ermöglichen. Programmiersprachen können je nach Anwendungszweck sehr unterschiedlich aussehen. Es können mächtige Werkzeuge wie C++ oder JAVA sein, aber auch die sehr einfache Sprache von Robot Karol. Der Programmierer schreibt sein Programm auf der Basis einer Modellierung des Problems in der jeweiligen Sprache. Anschließend wird das Programm über einen oder mehrere Zwischenschritte in einen Maschinencode übersetzt, der vom Computer ausgeführt werden kann.

B.Schiller Arbeitsablauf bei Programmerstellung.JPG

In unsere Programmierumgebung BlueJ lassen sich diese Schritte relativ einfach erledigen:

  1. Zunächst öffnen wir mit Mausklick rechts auf die Klassenkarte das Kontextmenü und anschließend den Editor (Open Editor) und löschen den vorgegebenen Text. Jetzt können wir unseren Code schreiben.
  2. Nachdem das Programm fertiggestellt ist, kann es kompiliert, d.h. in Maschinensprache übersetzt werden (Button "Compile" oben links). Genau genommen wird der JAVA-Code in eine Sprache übersetzt, die von der sogenannten Virtual Machine, dem JRE gelesen werden kann.
  3. Enthält das Programm noch Fehler, werden diese am unteren Rand des Editors angezeigt. Ist das Programm (syntaktisch) fehlerfrei, dann wird dort "class compiled - no syntax errors" angezeigt.
  4. Jetzt kann das Programm ausgeführt werden, indem wir in der Projektansicht mit Mausklick rechts auf die Klassenkarte das Kontextmenü öffnen und eine Instanz der Klasse erzeugen (Rechtsklick auf obersten Eintrag). Anschließend öffnen wir auf dem Symbol für die Instanz unten links das Kontextmenü und starten eine der Methoden, worauf diese ausgeführt wird.


[[Datei:B.Schiller Bluejprojekt.JPG]]


Das erste Programm

In Java kann man nur objektorientiert programmieren. Alle Programme in Java basieren daher von ihrem Aufbau her komplett auf Klassen.

Öffne BlueJ und erzeuge eine neue Klasse mit Namen "Test". Öffne dann mit Mausklick rechts auf die Klassenkarte das Kontextmenü und anschließend den Editor und lösche den vorgegebenen Text. Schreibe nun folgendes Programm in den Editor:

B.Schiller Programm01.JPG

Programmbeispiel 1.1.

Erzeuge anschließend eine Instanz von "Test" und trage in das Feld hinter new Test deinen Namen in Anführungszeichen ein.

B.Schiller Programm1kon.JPG

Rufe nun durch Rechtsklick auf das Instanzensymbol die Methode ausgabe() auf. Dadurch wird ein Willkommensgruß auf der Konsole angezeigt.

Klasse

Eine Klasse bildet ein Objekt der realen Welt in ein Schema ab, d.h. sie modelliert dieses Objekt. Der Computer, oder genauer gesagt der Compiler, versteht dieses Schema. Eine Klasse besteht aus dem Klassennamen, Attributen und Methoden.

Attribut

Zu jedem Zeitpunkt befindet sich das durch die Klasse modellierte Objekt in einem bestimmten Zustand. Programmiertechnisch wird das durch sog. Attribute realisiert. Das heißt, der Zustand des Objekts ist immer durch die aktuellen Werte seiner Attribute bestimmt. Die Attributwerte werden in Variablen abgespeichert, die in Java bei ihrer Deklaration immer auch einen Datentyp zugewiesen bekommen (z.B. String name, int x).

Methode

Ein Objekt ist in der Lage Aktionen auszuführen.Das heißt, es kann seinen Zustand (seine Attribute) ändern. Es kann aber auch mit anderen Objekten interagieren und sie veranlassen, ihrerseits Aktionen auszuführen. Programmiertechnisch wird dies durch sog. Methoden realisiert.

Konstruktor

Ein Konstruktor ist eine spezielle Methode und heißt wie die Methode selbst (z.B. public Test()). Mit dem Konstruktor kann man neue Objekte erzeugen. In ihm werden die (Instanz-)Variablen mit Anfangswerten versehen (initialisiert).

Bezeichner

Ein Bezeichner (Name) besteht aus einer beliebig langen Zeichenfolge aus Buchstaben und Ziffern, die mit einem Buchstaben beginnt. In Java zählen auch der Unterstrich _ und das $-Zeichen zu den Buchstaben. Bezeichner werden in Java für Klassen, Methoden, Konstruktoren, Variablen, Parameter und Pakete verwendet. Bezeichner werden in Java klein geschrieben. Beim Klassennamen wird der erste Buchstabe groß geschrieben. Aus mehreren Wörtern zusammengesetzte Namen werden ohne Unterstrich geschrieben, dabei wird ab dem zweiten Wort jeweils der erste Buchstabe eines Wortes groß geschrieben. Für das erste Wort gilt die normale Konvention. Beispiele: dritteWurzel, verschiebePunkt().

Datentyp

Der Datentyp ist der Bauplan für eine Variable. Der Datentyp legt fest, welche Operationen auf einer Variable möglich sind und wie die Darstellung der Variablen im Speicher des Rechners erfolgt. Einfache Datentypen sind beispielweise int (zur Darstellung ganzer Zahlen) oder float (zur Darstellung von Gleitkommazahlen). Ein wichtiger zusammengesetzter Datentyp ist String (zur Darstellung von Zeichenketten).

Parameter

Eine Methode kann Parameter haben (z.B. wie der Konstruktor unserer Testklasse public Test(String eingabe)). Ein Parameter ist eine lokale, d.h. nur innerhalb der Methode gültige, Variable und hat ebenfalls einen Datentyp, der angegeben werden muss. Wird die Methode aufgerufen, muss ein Argument, d.h. ein Wert (z.B. oben "Bernd") übergeben werden.

Zugriffsmodifikatoren

Zugriffsmodifikatoren definieren die Sichtbarkeit einer Variable, eines Konstruktors oder einer Methode. Öffentliche (public) Elemente sind sowohl innerhalb der definierenden Klasse zugreifbar als auch von anderen Klassen aus; private (private) Elemente sind ausschließlich innerhalb der definierenden Klasse zugreifbar.