Einführung in die Programmierung 1 ● Einführung (S.2) ● Einrichten von Eclipse (S.4) ● Mein Erstes Programm (S.5) „Hallo Welt!“? ● Programm „Der Mensch“ ● Klassen (S.12) (S.11) Einführung Wie Funktioniert Code? Geschriebener Programm-Code wird durch mehrere Programme weiterverarbeitet und so zu einem Ausführbaren Programm umgeformt. Beispiel aus dem Programmieren mit C Code Objekt-Dateien Ausführbares-Programm File1.c File2.c File3.c File1.o File2.o File3.o Programm.exe Dabei sind die Dateiendungen nur für das Verständnis des Menschen wichtig. Der Computer benötigt diese nicht um die Daten zu verarbeiten. Der erste Schritt formt den Text lediglich um und ersetzt Funktional gleiche befehle, So das der Compiler die Objektdateien besser lesen kann. Beim Zweiten schritt werden alle zusammenhängenden Dateien vom Linker zusammen gelegt und schlussendlich vom Compiler in ein Ausführbares Programm übersetzt. Unterschiede zu Java ● ● ● ● Bei Java handelt es sich um eine Spezielle Programmiersprache. Ihr Ziel ist es möglichst auf alle Geräten zu laufen unabhängig ob 32bit oder 64 bit oder Windows oder Linux oder Mac OS. Bei den meisten Programmen wird im letzten schritt des Erstellens (dem Compilieren) der Code für die Ziel-Umgebung angepasst. Dadurch ist dieser erst auf einem Computer lauffähig. Um dieses Problem zu umgehen erstellt Java nur die Objektdateien und lässt diese während der Ausführung von einem Interpreter passend für das aktuelle System übersetzen. Der Interpreter ist so etwas wie ein Live-Compiler. Unter Java heißt dieser Interpreter JVM oder JRE. Das heißt das aber immer die JVM/JRE installiert sein muss damit Java Programme laufen. Dies birgt einige Vor- und einige Nachteile. ZB. können Java Programme nicht so exact auf eine Ziel-Umgebung abgestimmt werden. Dafür Kann Java während des Betriebs seinen eigenen Code umschreiben. Einrichten von Eclipse ● Was ist Eclipse? Bei Eclipse handelt es sich um eine Programmierumgebung. Eine so genante IDE (Integrated Developement Enviroment). Das ist ein Programm das einem hilft Programme zu Schreiben. Also vereinfacht ausgedrückt ein cooles Schreibprogramm für Java anstatt Deutsch. ● ● ● ● Zuerst müssen wir natürlich Eclipse Downloaden: Eclipse Danach müssen wir auch die JDK noch Installieren: JDK Dies ist eine JVM für Entwickler, sie enthält zusätzliche Dokumentationen und lesbaren Code. Nachdem die JDK korrekt installiert wurde kann nun auch Eclipse Installiert werden. Dazu einfach die heruntergeladene Datei Ausführen und den Anweisungen folgen. Nach dem Installieren und starten von Eclipse werdet ihr nach einem Workspace gefragt. Dies ist der Ordner in dem Eclipse all eure Projekte ablegen wird. Nach dem ihr Eclipse einen Ordner genannt habt sollte Eclipse starten. Mein Erstes Programm „Hallo Welt!“? ● Java Programm Struktur. In Java wird streng Objekt Orientiert Programmiert. Das heißt das man Klassen hat von denen dann Objekte erzeugt werden. Zum Beispiel könnten wir eine Klasse Mensch erstellen von der wir dann die Objekte Dave, Sophia und Jens erzeugen. Klassen geben also die Grobe struktur eines Objektes vor und sagen was ein Objekt kann und hat. Ein Mensch kann z.B. seinen Namen sagen und hat einen Namen und ein Alter. Bei den „kann“ dingen handelt es sich im Code dann um Methoden und bei den „hat“ dingen handelt es sich um Attribute Damit aber all unsere Klassen und Objekte auch irgendwie genutzt werden gibt es noch die main-Methode. Diese kann in eine Beliebige Klasse einfach mit dazu geschrieben werden und wird vom Interpreter als Einstiegspunkt verwendet. Das heißt hier müsst ihr dem Programm sagen wie es mit den Klassen und Objekten umgehen soll und was es zu tun hat. ● Aufbau einer Klasse Eine Klasse sollte immer eine eigene Datei haben. Also erstellt für eine neue Klasse auch eine neue Datei. Diese Datei muss dann auch den gleichen Namen haben wie die Klasse. Dies ist eine Leere Klasse: public class Mensch {} bedeutet das die Klasse von anderen Klassen gesehen werden kann. sagt aus das es sich um eine Klasse handelt ist der Name dieser Klasse (Klassen werden immer Groß geschrieben!) zwischen diesen Klammern steht der Inhalt der Klasse ● Die ersten Attribute Attribute sind Objekte von Klassen die Informationen enthalten. Java besitzt bereits eine große Auswahl an vor definierten Klassen die wir nutzen können. ● Dazu gehören auch die sogenannten Primitiven Klassen die keiner weiteren Initialisierung brauchen. Ausserdem können nur Primitive Klassen direkt mit Operatoren benutzt werden (+ - * / usw…) Ein Attribut muss erst Definiert werden bevor es Initialisiert werden kann. Hier werden zwei Attribute von der Klasse String und der Primitiv-Klasse int Definiert mit den Namen „name“ und „age“. ● Zuweisung Nun sollten wir den Attributen auch werte zuweisen. Wir könnten dies direkt bei der Definition tun, allerdings würde das im sinne der Objektorientierung bedeuten das alle Menschen erst mal Jon Doe hießen und 21 Jahre alt wären. Daher wäre es sinnvoller den Namen und das alter erst bei der Erstellung eines Objektes vom Typ Mensch festzulegen. (sozusagen bei der Geburt) Dazu erstellen wir einen Konstruktor, dies ist eine Methode die immer beim erzeugen eines Objektes aufgerufen wird. ● Die Main() Methode Jedes Programm benötigt eine Main() Methode. Diese hat eine feste Definition: Innerhalb dieser Klammern sollte der Programmcode stehen welcher euer Programm zum laufen bringt. Also wie welche Klassen und Objekte miteinander zu agieren haben. Wir erzeugen zum Beispiel jetzt einen Menschen namens Dave der 15 Jahre alt ist. So können wir bei jedem Objekt vom Typ Mensch auch festlegen wie der Name ist und wie alt der „neue“ Mensch ist. Sag etwas Nun soll Dave nicht nur erzeugt werden sondern auch etwas machen können. Dazu geben wir ihm eine Methode/Funktion. Diese Funktion hat folgende Eigenschaften: public bedeutet wieder das sie von allen (auch anderen Klassen) aufgerufen werden kann. void bedeutet das die Methode keinen Rückgabewert hat. sayYourName ist der Methoden Name. Diese fangen immer mit einem kleinen Buchstaben an. () Diese Klammern bedeuten das der Methode nichts übergeben wird. {} Zwischen diese Klammern kommt der Code der Methode. Der Befehl „System.out.println()“ gibt den übergebenen Text auf der Konsole aus! Und mit „this.xxx“ kann immer auf das eigene (selbst Referenz) Objekt zugegriffen werden. Nun müssen wir die Funktion nur noch aufrufen. Programm „Der Mensch“ public class Mensch { String name; int age; public Mensch(String name,int age) { this.name = name; this.age=age; } public void sayYourName() { System.out.println(this.name); } public static void main(String args[]) { Mensch dave = new Mensch("Dave", 15); dave.sayYourName(); } } Klassen Primitive- Klassen int Zahlenklasse, Zahlenraum -2^31 bis 2^31 -1 float Zahlenklasse mit Gleitkomma-Wert (einfache Genauigkeit) double Zahlenklasse mit Gleitkomma-Wert (doppelte Genauigkeit) long Zahlenklasse, Zahlenraum -2^63 bis 2^63 -1 char ein einzelnes ASCII Zeichen. Zeichen wird als char Markiert indem man es in einfache Gänsefüßchen Setzt. char c = 'H'; boolean ein Boolescher Wert, kann entweder true oder false bzw. 0 oder 1 sein. Weitere Klassen String eine Zeichenkette. Ähnlich wie dem char nur das es in diesem Fall mehrere sein können.Zeichen werden als String markiert indem sie in doppelte Gänsefüßchen eingefasst werden. Bsp.: String name = "Dave" System eine Statische Klasse von der keine Objekte erzeugt werden können. Über diese Klasse sind verschiedene Systemfunktionen nutzbar. (System.out, System.in, System.currentTimeMillis)