Kleines Java-Glossar zum Praktikum “Einführung in das

Werbung
Kleines Java-Glossar zum Praktikum
“Einführung in das Programmieren”
Elmar Zander, Philipp Kuhn
15. Mai 2017
Die Erläuterungen in diesem Glossar sind extra einfach gehalten und sollen nur einen schnellen
Überblick bieten. Im EIP-Begleittext wird auf alle Begriffe viel detaillierter eingegangen.
Anweisung
Eine Anweisung Code-Zeile, die vom Computer ausgeführt werden kann (im Gegensatz zu
Deklarationen). Anweisungen müssen in Java mit einem Semikolon (;) abgeschlossen werden.
Anweisungsblock
Ein Anweisungsblock besteht aus mehreren Anweisungen, die hintereinander ausgeführt werden. Anweisungsblöcke werden in Java zwischen geschweiften Klammern (d.h. { und }) eingeschlossen.
Arithmetische Operatoren (+, -, *, /)
Führen die arithmetischen Operationen der Addition, Subtraktion, Multiplikation und Division aus. Bei der Division ist zu beachten, dass bei Division ganzer Zahlen (int) das Ergebnis
auch eine ganze Zahl ist und die Nachkommastellen “wegfallen”, zum Beispiel 7/2==3. Wenn
dies nicht gewünscht ist, müssen Fließkommazahlen (double) verwendet werden, 7.0/2==3.5.
Array
Ein Array (auch Feld genannt) kann viele Variablen des gleichen Typs speichern. Man kann
z.B. vom Benutzer eingelesene Werte in einem Array speichern und dieses dann sortieren und
wieder ausgeben. Z.B. definiert int[] numbers = new int[7]; ein Array von Ganzzahlen
(siehe int) der Länge 7. Mit numbers[2] kann auf das dritte Element des Arrays zugegriffen
werden, da die Zählung immer bei Null anfängt.
Attribut
Attribut ist ein anderer Name für eine Instanzvariable.
Bedingte Anweisung
Bedingte Anweisungen und Verzweigungen erlauben es, dass das Programm eine Wahrheitsbedingung prüft und je nach dem, ob sie wahr oder falsch, ist unterschiedlich weiter verfährt.
Ein Beispiel: if(x<0){ msg="x ist negativ."; } else if(x==0){ msg="x ist Null.";
} else { msg="x ist positiv." }
Bezeichner
Ein Bezeicher, ist ein eindeutiger Name, mit dem z.B. Variablen, Klassen oder Methoden identifiziert werden können. Bezeichner können in Java beliebige Buchstaben, Ziffern oder den
Unterstrich (_) enthalten. Sie müssen aber immer mit einem Buchstaben anfangen und dürfen keine Leerzeichen enthalten.
boolean
Einem boolean-Datentyp kann die Wahrheitswerte true (wahr) oder false (falsch) annehmen. Unter Anderem bei Verzweigungen und Schleifen nützlich.
1
break
Wird in Schleifen und switch-Anweisungen benutzt, um (vorzeitig) aus der Schleife bzw. dem
Switch zu springen, z.B. wenn ein Fehler aufgetreten ist oder in einer Suchmethode, wenn das
gesuchte Element gefunden wurde.
case
Die case Anweisung wird innerhalb eines switch benutzt und prüft, ob die Variable den
gewollten Wert hat. Wenn ja führt das Programm den Code ab dieser Anweisung bis zum
Ende des Switches bzw. bis zum nächsten break aus.
char
Ein char-Datentyp speichert ein einzelnes Zeichen. Zum Beispiel: char lastChar = ’z’;.
Strings bestehen aus einer Sequenz von chars aus der die einzelnen Zeichen mit dem []
Operator extrahiert werden können, z.B. String name="Anne"; char initial=name[0];.
Die Variable initial hätte jetzt den Wert ’A’ (siehe auch Arrays).
class
Deklariert eine neue Klasse. Damit diese von überall her benutzt werden kann, muss sie als
public deklariert werden, z.B. public class Circle. Neue Objekte der Klasse können mit
dem Operator new erzeugt werden.
Compiler
Ein Compiler übersetzt den Programmcode in eine für den Computer verständliche Sprache,
sogenannte Maschinensprache (in Java heißt diese Bytecode).
continue
Wird in Schleifen benutzt, um den Rest der Schleife zu überspringen und mit der nächsten
Iteration vom Anfang der Schleife wieder anzufangen.
Datentyp
Als Datentyp bezeichnet man die “Art” der gespeicherten Daten, z.B. Ganzzahlen, Fließkommazahlen, Zeichenkette oder komplexe Datenypen wie Klassen
default
Steht in switch Anweisungen normalerweise am Ende und wird nur ausgeführt, wenn kein
anderer case zugetroffen hat.
Deklaration
Als Deklaration bezeichnet man Code, der dem Compiler nur etwas bekannt macht, aber nicht
ausgeführt wird, zum Beispiel eine Variable, eine Methode oder eine Klasse.
double
Der Datentyp double stellt Fließkommazahlen dar und kann sich bis zu ca. 16 Nachkommastellen “merken”. Zum Beispiel: double pi = 3.14159 oder double electron_mass=9.109e-31,
was für 9, 109 · 10−31 steht. Der Name double steht für doppelte Genauigkeit, da es auch
Fließkommazahlen mit einfacher Genauigkeit gibt, die heute aber nur noch wenig verwendet
werden.
do-while
Die do-while-Schleife ist der while-Schleife sehr ähnlich, nur dass die Bedingung erst am Ende
der Schleife geprüft wird. Der Schleifenrumph wird daher mindestens einmal ausgeführt.
else
Ist ein Teil einer bedingten Anweisung, der nur dann ausgeführt wird, wenn die vorherige Bedingung nicht erfüllt, also falsch war. Die else-Anweisung ist optional, eine bedingte Anweisung
kann also auch nur aus einem if-Teil bestehen.
2
else if
Ist ein Teil einer bedingten Anweisung, der dann ausgeführt wird, wenn die vorherige Bedingung
falsch wahr und die Bedingung nach dem if wahr ist.
extends
Das Schlüsselwort extends wird verwendet, um anzuzeigen, dass eine Klasse von einer anderen
erbt (siehe Vererbung). Beispiel: public class Employee extends Person.
false
Logisch falsch, ist ein Wert vom Datentyp boolean.
final
Wird bei der Deklaration von Variablen benutzt und bedeutet, dass die Variable nach der Initialisierung nicht mehr verändert werden kann. Wird oft verwendet um Konstanten zu definieren,
z.B. public static final double SQUARE_ROOT_TWO = 1.414213562
for
Die for-Schleife wird benutzt, wenn eine Anweisung oder ein Anweisungsblock eine vorher bestimmte Anzahl von Malen ausgeführt werden soll. Zum Beispiel gibt for(int i=0; i<6;
i++) { System.out.println("i="+i); } die Zahlen von 0 bis 5 aus. Innerhalb der Klammern ist die erste Anweisung die Initialisierung, die zu Schleifenbeginn ausgeführt wird, die
zweite ist die Bedingung die am Ende jeder Iteration geprüft wird (nur wenn diese wahr ist,
wird die Schleife weiter ausgeführt), wobei vorher der letzte Teil ausgeführt wird.
Eine for-Schleife kann mit Hilfe der break vorzeitig beendet werden.
Funktion
Funktionen sind sehr hilfreich, um den Code übersichtlicher zu gestalten. Z.B. kann man Code
auslagern, um die Länge der main Methode zu verkürzen oder man lagert ihn aus, um den
Code an mehreren Stellen zu verwenden. Der Aufbau wird im Begleitheft näher erläutert.
Gleichheit (==)
Ist ein Vergleichsoperator, welcher true zurückgibt, wenn die verglichenen Werte gleich sind.
Bei Strings und Objekte sollte allerdings die equals-Methode verwendet werden und nicht ==,
da letzteres bestimmt, ob es sich um das gleiche Objekt handelt und nicht, ob diese inhaltlich
gleich sind.
if
Das Schlüsselwort if leitet eine bedingte Anweisung ein. Nur wenn die Bedingung in den
Klammern stimmt, wird der nachfolgende Anweisungsblock ausgeführt.
implements
Wird verwendet, um anzuzeigen, dass eine Klasse, alle von einem interface benötigten Methoden bereitstellt. Beispiel: Sei ein Interface für Formen gegeben (interface Shape { public
void draw(); }), dann muss eine Klasse für Kreise (class Circle implements Shape) die
Methode draw implementieren und dort einen Kreis zeichnen.
import
Wird am Anfang einer Java-Datei (nach der Package-Deklaration) benutzt, um ein Package zu
importieren, d.h. dem Compiler bekannt zu machen. Zum Beispiel importiert import eip.*
alle Klassen aus dem Paket eip; import eip.Turtle dagegen importiert nur die TurtleKlasse.
Initialisierung
Die erstmalige Zuweisung (=) eines Wertes an eine Variable. Beispiel: int a = 10.
Instanz
Ein anderer Name für ein Objekt.
3
Instanzvariable
Eine Instanzvariable, ist eine Variable, die zu einem Objekt einer Klasse gehört. Jedes Objekt
der Klasse hat eine eigene “Kopie” dieser Variablen (im Gegensatz zu Klassenvariablen).
int
Der Datentyp int (Integer) repräsentiert ganze Zahlen. Zum Beispiel: int numStudents =
261;. Achtung bei der Division (siehe auch Arithmetische Operatoren (+, -, *, /)).
interface
Ein Interface (engl. für Schnittstelle) ist eine Abstraktionsschicht, die dazu dient Klassen, die
eine bestimmte Funktionalität benötigen von denen zu entkoppeln, die sie bereitstellen. Im
Interface wird definiert, welche Methoden benötigt werden, und jede implementierende Klasse
muss alle diese Funktionen definieren (siehe implements).
Java
Eine 1995 erschienene, von James Gosling (Sun Microsystems) entwickelte Programmiersprache, die viel von den Programmiersprachen C, C++ und SmallTalk geerbt hat.
Klasse
Eine Klasse ist ein komplexer Datentyp, der Attribute und Methoden besitzen kann. So könnte
z.B. eine Klasse Circle das Attribut radius (vom Typ double) und eine Methode draw()
enthalten. Ein Klasse an sich kann man sich als eine Art Blaupause vorstellen, aus der erst
konkrete Instanzen bzw. Objekte erzeugt werden. (Siehe auch class, Vererbung, Konstruktor,
interface, Klassenvariable.)
Klassenvariable
Eine Klassenvariable, ist eine Variable die zu einer ganzen Klasse gehört. Klassenvariablen
werden mit dem Schlüsselwort static deklariert. Alle Objekte einer Klasse “teilen” sich diese
Variable (im Gegensatz zu Instanzvariablen).
Kommentar
Kommentare sind Anmerkungen des Programmierers, die das Programm dokumentieren und
es so anderen verständlich machen (sollen). Kommentare werden vom Compiler “überlesen”,
können also beliebigen Text enthalten. Es gibt einzeilige Kommentare, die mit // eingeleitet
werden und bis zum Ende der Zeile gehen, und mehrzeilige Kommentare, die von /* und */
begrenzt werden
Konstruktor
Ein Konstruktor ist eine besondere Methode in einer Klasse und wird einmalig aufgerufen,
wenn ein neues Objekt der Klasse erstellt wird. Im Konstruktor wird normalerweise die Instanzvariablen initialisiert, d.h. auf ihre Ausgangswerte gesetzt.
Logisches Oder (||)
Ist ein Operator, welcher true zurück gibt, wenn mindestens eine der beiden verknüpften
Bedingungen beide wahr sind. Beispiel: (x<0 || x>1) ist wahr, wenn x negative oder größer
eins ist. Wenn die erste Bedingung wahr ist, wird die zweite gar nicht mehr ausgewertet, und
wahr zurückgegeben.
Logisches Und (&&)
Ist ein Operator, welcher true zurück gibt, wenn beide verknüpften Bedingungen beide wahr
sind. Beispiel: (x>=0 && x<=1) ist nur wahr, wenn x zwischen 0 und 1 liegt. Wenn die erste
Bedingung falsch ist, wird die zweite gar nicht mehr ausgewertet und falsch zurückgegeben.
main
Die Abarbeitung eines Programms in Java beginnt immer in der Methode main, völlig unabhängig davon was sonst noch für Funktionen vorher kommen. Diese Funktion muss immmer
als public static void main(String[] args) deklariert werden.
4
Methode
Eine Funktion, die zu einer Instanz einer Klasse gehört und nicht static ist.
Modulo (%)
Ist der aus der Mathematik bekannte Modulo-Operator (Rest bei ganzzahliger Division). Bsp.:
17 % 3 = 2, da 17=5*3+2.
new
Das Schlüsselwort new wird benutzt, um aus Klassen neue Objekte zu erzeugen. Bsp: Circle
circle1 = new Circle(10);
null
null bedeutet, dass die Variable momentan auf kein Objekt zeigt, zum Beispiel Circle myCircle
= null;. Auf Variablen die auf null zeigen, dürfen keine Funktionen aufgerufen und keine
Attribute benutzt werden (d.h. mycircle.draw() wäre im vorigen Beispiel “verboten”).
Objekt
Objekte sind konkret aus der jeweiligen Klasse erzeugt und reservieren Speicherplatz für die
in der Klasse enthaltenen Instanzvariablen. Auf diesen Objekten können Methoden der Klasse
aufgerufen werden.
Operator
Operatoren verknüpfen Werte oder Variablen miteinander. Es gibt (unter Anderem) die arithmetischen Operatoren (+, -, *, /) und die booleschen Operatoren(!,&&,||,...) sowie die
Vergleichsoperatoren (==, !=).
Package
Packages dienen der sinnvollen Gliederung größerer Software-Projekte. Im Praktikum hilfreich, um die Aufgaben zu strukturieren. Der Name des Package muss dem Verzeichnisordner,
der die Java-Datei enthält, entsprechen.
Parameter
Parameter sind die Werte (Variablen), die an Funktionen übergeben werden. Beispiel: wenn die
Funktion void drawCircle(double radius) mit drawCircle(10) aufgerufen wird, nimmt
der Parameter radius während der Ausführung der Funktion den Wert 10 an.
public
Ist ein Schlüsselwort für Klassen, Funktionen und Variablen, dass den Compiler anweist, dass auf
besagte Klassen, Funktionen und Variablen von überall zugegriffen werden kann. Es gibt auch
die Schlüsselwörter private und protected die diesen Zugriff einschränken, die aber i.Allg.
nur in größeren Softwareprojekten benötigt und daher in diesem Praktikum nicht behandelt
werden.
return
Wird in Funktionen genutzt, um die Funktion (evtl. vorzeitig) zu beenden und gegebenenfalls
einen Wert zurückzugeben. Z.B. in einer Funktion add mit Parameter a und b könnte am
Ende return a+b; stehen. In void Funktionen kann durch return die Abarbeitung vorzeitig
beendet werden.
Rückgabewert
Der Rückgabewert ist das Ergebnis der Berechnung in einer Funktion, das an den Aufrufer
mittels return zurückgeliefert wird.
Schleife
Wird genutzt, um Code wiederholt auszuführen. Für viele Dinge nützlich, unter anderem
beim durchgehen von Arrays, um repetitiven Code öfter auszuführen. Gibt es in Java als for-,
while- und do-while-Schleife.
5
Schlüsselwort
Als Schlüsselwörter werden in Java reservierte Wörter wie if, for, class usw. bezeichnet,
die für Java eine besondere Bedeutung haben und daher nicht für Klassennamen oder Variablennamen benutzt werden dürfen.
Scope
Variablen sind nur in einem bestimmten Bereich sichtbar und nur dort kann man auf Sie
zugreifen. Dieser Bereich wird als Scope bezeichnet und umfasst den aktuellen Anweisungsblock
und Anweisungsblöcke, welche von dem vorher genannten Anweisungsblock umfasst werden.
static
static bedeutet im Zusammenhang mit Funktionen, dass man kein konkretes Objekt benötigt, um auf die Funktionen zugreifen zu können. Bsp. sind z.B. die main Funktion und die
mathematischen Funktionen (Math.sin(1.2)
String
Strings dienen dazu Zeichenketten zu speichern, z.B. String message = "Bla bla bla.";.
Strings können mit + verknüpft werden, z.B. String name="Otto"; String message = "Hallo
" + name + "!";
super
Durch Verwendung des Schlüsselwortes super können in einer abgeleiteten Klasse (siehe Vererbung) Methode der Basisklasse aufgerufen werden, falls diese in der aktuellen Klasse überschrieben wurden.
switch
Ein Switch ist eine Art der Verzweigung. Diese wird verwendet, wenn je nach Wert einer
Variable oder eines Ausdrucks unterschiedliche Dinge getan werden müssen. Die Werte nach
denen verzweigt wird stehen nach case Labeln; falls kein Label mit dem richtigen Wert
vorhanden ist wird der Code nach default ausgeführt. Um die Ausführung des Codes nach
einem Label abzubrechen kann der Befehl break verwendet werden.
this
In Methoden einer Klasse referenziert this immer die aktuelle Instanz der Klasse. Hiermit
kann wenn nötig z.B. die Instanzvariable this.x von dem Methoden-Parameter x unterschieden
werden, wenn bei einen Bezeichner x deklarieren.
true
Logisch wahr, ist ein Wert vom Datentyp boolean.
Typumwandlung
Typumwandlungen (engl. type cast) werden benutzt um Datentypen explizit in andere Datentypen umzuwandeln. Ein Beispiel: double b = 5.5; int a = (int) b; Hier wird die
Fließkommazahl 5.5 (double) in die Ganzzahl 5 (int) umgewandelt.
Ungleich (!=)
Ist ein Vergleichsoperator, welcher true zurückgibt, wenn die verglichenen Werte nicht gleich
sind, sonst false.
Variable
Eine Variable kennzeichnet einen Speicherplatz im Computer auf den über einen Namen (den
Variablennamen) zugegriffen werden kann. Die Größe des Speicherplatzes und die Art der
gespeicherten Daten hängt vom Datentyp der Variable ab. Z.B. deklariert double r=1.5;
eine Variable vom Typ double, die 8 Byte im Speicher belegt, auf den über den Name r
zugegriffen werden kann.
6
Vererbung
Vererbung wird verwendet, um bestehende Klassen zu erweitern. Die erbende Klasse (man
sagt auch abgeleitete Klasse) erbt alle Methoden und Attribute der Elternklasse.
Zum Beispiel, wenn man viele Klassen hat, die die selben Funktionen und Attribute benötigen,
erstellt man eine Oberklasse, welche die Grundfunktionen beinhaltet und lässt die ähnlichen
Klassen davon erben. Diese können nun alles, was die Oberklasse auch kann, und man muss
nur noch die Unterschiede implementieren. Folglich spart man durch die Vererbung Zeit und
vor allem muss man den vererbten Code nur in der Oberklasse ändern und die Unterklassen
sind dann auch automatisch angepasst.
Verzweigung
Siehe bedingte Anweisung.
void
Eine Funktion, die für den Rückgabewert den Datentyp void (engl. für Leere) hat, liefert keinen
Wert zurück sondern führt nur Code aus. Beispiel: public void draw(); zeichnet nur ein
Objekt, aber muss keinen Wert zurückgeben (Siehe auch return).
while
Eine while-Schleife führt einen Anweisungsblock so lange aus, wie eine bestimmte Bedingung
erfüllt ist. Ist die Bedingung nicht mehr erfüllt wird die Schleife abgebrochen. Beispiel: int
i=1; while(i<1000){ i = i*2; } berechnet alle Zweierpotenzen unter 1000. Ist die Schleifenbedingung schon zu Anfang nicht erfüllt, wird die Schleife gar nicht ausgeführt.
Zuweisung (=)
Wird genutzt, um Variablen einen Wert zu zuweisen, z.B. x=10. Ein weiteres Beispiel: nach
Ausführung von x=x+1 ist die Variable x um eins größer als vor der Ausführung; das Gleichheitszeichen darf hier nicht als mathematische Gleichheit aufgefasst werden (siehe Gleichheit)
sonderen als Zuweisung.
Zuweisungsverkürzung (+= -= *= /=)
Hiermit können Zuweisungen der Form x = x + y auch verkürzt als x += y geschrieben werden.
7
Herunterladen