Apps für Android programmieren leicht gemacht!
2.1 Java

2.1 Java

Willkommen im zweiten Kapitel des Tutorials.
Dieses Kapitel geht nicht auf alle Dinge im Detail ein, sondern soll lediglich einen Überblick über die Programmiersprache Java verschaffen und einige wichtige Begriffe für die spätere Programmierung erklären.

Java ist eine Sprache:

Wie der Name „Programmiersprache“ schon sagt, ist Java eine Sprache. In diesem Fall ist Java halt eine Programmiersprache und wie das mit dem Lernen von neuen Sprachen nun mal so ist, geht das nicht von Heute auf Morgen.
Dies gilt vor allem für Programmiersprachen! Lernt man beispielsweise Deutsch kann der Gegenüber auch gebrochenes Deutsch halbwegs gut verstehen und falsche Grammatik richtig deuten. Ein Computer kann dies nicht!
Ihr solltet euch darüber im Klaren sein, dass es Jahre dauern kann, bis man eine Programmiersprache halbwegs versteht und selbst nach dieser Zeit lernt man nicht aus. Lasst euch niemals entmutigen. Es macht einfach unheimlich Spaß sein fertiges Werk dann am Ende in die Welt zu entlassen und Lob und konstruktive Kritik dafür zu ernten.

Leserichtung:

Der Computer oder in unserem Fall das Handy liest den Programmcode von Oben nach Unten und von Links nach Rechts. Zu vergleichen ist dies am besten mit der Leserichtung im Deutschen.
Sofern der Computer/das Handy sich nicht in einer Schleife befindet oder Funktionen aufruft (zu beidem später mehr) wird der Porgrammcode einmal von Oben bis Unten durchgelesen und bei Erreichen der letzten Zeile ist das Programm ausgeführt und nichts weitere ist möglich.

Objektorientierung:

Java ist eine objektorientierte Sprache, dass solltet ihr euch für immer merken. Es gibt noch viele viele weitere objektorientierte Programmiersprachen, man denke beispielsweise an C++.

Doch was heißt das nun genau?
Ich denke am besten kann man diese Objektorientierung mit einem Lego Bauplan vergleichen.
Man schreibt also eine sogenannte „Klasse“ in Java, die man mit einem Bauplan vergleichen kann.
Nun erstellt man ein Objekt namens „Objekt 1“, dieses wird aus dem Bauplan (also der Klasse) gebaut. Erstellt man nun ein zweites Objekt aus dem selben Bauplan und nennt dieses „Objekt 2“, können diese beiden Objekte unabhängig von einander angesprochen werden und agieren.
Wenn wir wieder zu dem Beispiel mit dem Lego-Bauplan zurückgreifen, baut man also zwei Lego-Roboter, mit Hilfe eines Bauplanes (einer Klasse). Den einen Roboter nennt man nun „Objekt 1“ und den anderen „Objekt 2“.
Für beide Roboter hat man nun einmal einen Bauplan geschrieben, aber am Ende kommen zwei verschiedene und unabhängige Roboter dabei heraus.
Der Vorteil an einer solchen Klasse ist, dass man einmal programmiert was man gerne haben möchte, zum Beispiel soll der Roboter 1+1 rechnen und dann kann das Handy automatisch nach dieser Vorlage Roboter erstellen, die unabhängig von einander 1+1 rechnen.
Ein genaues Beispiel, in Java, greifen wir später noch einmal auf.

Typisierung und Variablen:

Wieder so ein Fremdwort.
Java ist eine typisierte Sprache, dass heißt so viel wie, dass alle Variablen (später erklärt) einem bestimmten Typ zugeordnet werden müssen.
Variablen sind dabei so etwas wie Zwischenspeicher für alles Mögliche. Auf gut Deutsch, heißt dies ich kann eine Variable den Namen „TestVariable“ geben und ihr den Inhalt „TestInhalt“ zuweisen. Möchte ich nun später wissen was ich der Variable für einen Inhalt gegeben habe kann ich diesen ebenso wieder auslesen.

Ein besseres Beispiel wäre es, wenn ich zwei Variablen erstelle und diese „Var1“ und „Var2“ nenne.
Var1 fülle ich nun mit dem Inhalt „1“.
Var2 fülle ich 5 Minuten später mit dem Inhalt „5“.
Nun kann ich nach diesen 5 Minuten die Variablen „Var1“ und „Var2“ addieren und bekomme den Inhalt 6 zurück, weil ich vor 5 Minuten die Variable Var1 zwischengespeichert habe.

Nun stoßen wir auch schon an die Typisierung. Im ersten Beispiel habe ich die Variable „TestVariable“ mit einem Text gefüllt, wohingegen ich im zweiten Beispiel die Variablen „Var1“ und „Var2“ mit einer Zahl gefüllt habe. Also müssen wir Java Anweisungen geben welcher Typ von Inhalt nun in die Variable geschrieben werden soll (Erklärung folgt später). Dieser Typ darf sich auch niemals mehr ändern.
Habe ich Java einmal gesagt, dass „Var1“ eine Zahl enthält darf ich dort niemals versuchen einen Text zu speichern.

Java versteht einen Haufen von verschiedenen Variablentypen:

  • Boolean – Wahrheitswert, Ja oder Nein
  • short – Ganzzahl im Zahlenbereich zwischen -32.768 und 32.767
  • int – Ganzzahl im Zahlenbereich zwischen -2.147.483.648 und 2.147.483.647
  • long – Ganzzahl im Zahlenbereich zwischen -263 und 263-1 (Diese Zahlen möchte ich nicht mehr ausschreiben.)
  • String – Text
  • float – Gleitkommazahl mit 32 bit Länge
  • double – Gleitkommazahl mit 64 bit Länge
  • char – Einzelner Buchstabe
  • (Es gibt noch viele weitere Typen, die wir erst später kennen lernen werden.)

short, int und long unterscheiden sich nur in der maximalen Länge von einander. Somit kann man die Zahl 40.000 schon nicht mehr mit dem Typ short speichern.
Ähnlich ist es mit den Typen float und double. Diese können Kommazahlen speichern, aber beide wieder nur in unterschiedlichen Zahlenbereichen.

Nun zu der Frage, warum Java unbedingt eine Typisierung benötigt, ohne diese wäre es doch bestimmt einfacher.
Eine einfache, aber nicht vollständige Erklärung wären die Operatoren.
In Java verbindet man zwei Texte mit dem Operator „+“.

String text = "Hallo " + "Welt";

Die Variable text enthält nun den Text "Hallo Welt"

Gleichermaßen addiert man aber auch zwei Zahlen mit dem Operator „+“.

int a = 5 + 6;

Die Variable a enthält nun die Zahl 11 und keinen Text.

Also muss man Java signalisieren, ob er nun zwei Zahlen addieren oder zwei Texte verbinden soll.
Diese Antwort sollte uns zu Beginn erst einmal genügen, auch wenn alle eingefleischten Informatiker mir jetzt wohl am liebsten den Hals umdrehen würden ;P.

Das waren nun schon sehr viele Informationen auf einmal. Vielleicht wollt ihr erst einmal eine Pause machen und alle Informationen Revue passieren lassen, bevor ihr mit dem nächsten Teil dieses Kapitels weiter macht.

Zusammenfassung:

  • Java ist eine Programmiersprache, die man nicht mal eben an einem Tag erlernen kann.
  • Java ist eine Objektorientierte Sprache, mit Hilfe dieser man einen Code schreiben kann und ihn beliebig oft an verschiedensten Stellen wieder verwenden kann. (Mit Hilfe eines Bauplanes kann ich beliebig viele Lego-Roboter bauen.)
  • Man muss Java sagen welchen Typ von Variable man gerade erstellt und darf später auch nur Inhalt des vorher angegebenen Types dort hinein schreiben.

 

Marvin

Ich bin 23 Jahre jung und studiere zurzeit Wirtschaftsinformatik an der Georg-August-Universität in Göttingen. Ich bin ein Mensch, der sich neben der Programmierung noch für tausend andere Dinge interessiert, die mal mehr und mal weniger verrückt sind. Vor allem aber bin ich Feuer und Flamme mit der Programmierung von eigenen kleinen Apps und Programmen, die mein Leben bereichern.

3 Kommentare

*Pflichtfeld