Resümee:
Vergleichsweise jung aber starke Verbreitung
Symbiose mit effektiven Entwicklungswerkzeugen
Grundlegendes zu Java
Objektorientierte Programmiersprache, imperative
Elemente ähnlich zu C
Quellcode
„.java“
Compiler javac.exe
Bytecode
„.class“ „.jar“
Interpreter java.exe
Bytecode
„.class“ „.jar“
point 1
subpoint 1.
subpoint 2.
point 2
subpoint 1.
Nachbetrachtung: Was ist passiert ?
Automatische Generierung der Quellcodes
Zugehörigkeit zum Paket am Start
Klassengerüst / „Signatur“ der main-Methode
Inkrementelle Compilierung im Hintergrund
Syntax-Fehler werden unmittelbar rot unterringelt!
Überflüssiges wird gelb unterringelt.
Aufruf der Virtual Machine
Start nach Klick auf „Run“
Consolenausgaben
Beispiel für +/- Aufzählungen
Erster Punkt
Zweiter Punkt
Usw.......
Erster Punkt
Zweiter Punkt
Usw.......
Nachbetrachtung: Was ist passiert ?
Variablendeklaration / Zuweisung
<Typ> <Variablenname> = <Wert>;
Gültigkeitsbereich der Variablen innerhalb { }
Schleife
For mit Iterationsvariablen.
Syntax analog zu C.
Shortcuts
CTRL+SPACE vervollständigt nach bestem Wissen der
Entwicklungsumgebung (Beispiele Variablen oder sysout)
CTRL+1 bessert einen Fehler aus nach bestem Wissen
(Beispiele: Ergänzen von Variablendekarationen,
Überzählige Imports entfernen)
Überblick: Sprachelemente auf den folgenden Folien
Datentypen, Literale
Operatoren, Ausdrücke
Strings
Anweisungen
Einfache Datentypen
Datentyp Beispielliteral
Char
Dargestellt als Zeichen zwischen zwei Apostrophen ´a´
Darstellung als Unicode ´\u0041´ = ´A´
Sonderzeichen in Escape-Sequenz ´\n´ ´t´
String - Kette von Zeichen
Dargestellt als Text zwischen „“
Escape-Sequenzen können auch verwendet werden
„Erste Zeile\nZweite Zeile“
Operatoren - Übersicht
Integer-Arithmetik: +, -, *, /,
%
Gleitkomma-Arithmetik: +, -, *, /,
%
Boolesche Arithmetik: &&, ||, !
Vergleichsoperatoren: ==, !=, <, >, <=, >=
Zuweisungsoperatoren: =, +=, -=, *=, /=,
%=
Inkrement-Operator: ++
Dekrement-Operator: --
Bit-Operatoren: <<, >>, &, |, ~, ^
+ Addition 12 + 98 (= 110)
- Subtraktion 12 - 98 (= -86)
* Multiplikation 6 * 5 (= 30)
/ Ganzzahl-Division 7 / 3 (= 2)
% Restbildung (modulo) 7 % 3 (= 1)
Zusammengesetzte Ausdrücke
Ausdrücken bestehen aus Literale + Operatoren
Reihenfolge durch Klammerung (Präzedenzregeln, immer klammern wenn Präzendenz unklar)
Bsp: (6+5) * 5
Gleitkomma-Operatoren (double, float)
float pi = 3.1415f;
pi = 3.1415631;
Vergleichsoperatoren
Arbeiten auf allen Zahlen-Typen
==, !=, <, >, <=, >=
Beispiel:
Typumwandlungen
Beispiel:
Anweisungen - Übersicht
Anweisungen wurden bereits in bisherigen Programmen
verwendet.
Anweisungen werden mit „;“ abgeschlossen oder haben
einen Body { }
Grundgerüst beim imperativen Programmieren. Folge von
Anweisungen:
Deklarationen
Zuweisungen
Prozeduraufrufe
Anweisungssequenz
Kontrollstrukturen
bedingte Anweisungen (if, switch)
Wiederholungsanweisungen, Schleifen (while, do, for)
break, continue;
Vergleich for und while
Deklaration:
int[ ] zahlenListe;
Erzeugung:
zahlenListe = new int[10];
Zuweisung:
zahlenListe[0]=100;
Erwähnenswert:
Mehrdimensionalität durch Mehrfache []
Laufzeitfehler bei ungültigem Index
Arrays sind ein Referenzdatentyp…
Wo wird der Inhalt der Arrays gespeichert ?
Stack:
Größe definierbar: z.B. 128 MB
Speicher in dem alle Variablenwerte (primitive
Datentypen/Referenzen) abgelegt werden.
Wird voll bei tiefen Rekursionen
Heap:
Üblicherweise größer, z.B. 512 MB
Speicher, in dem alle zur Laufzeit angelegten
Instanzen der Referenztypen gespeichert sind (z.B.
Array und Inhalt, später Klassen)
Zusammenfassung
Grundlegende Konzepte / Funktionsweise
Garbage Collection, JVM, ..
Java Sprachelememte:
Typen, Operatoren Ausdrücke, Anweisungen
Funktionen (static) und Parameter ( Rekursion)
Arrays (Verweis auf Interface List (OOP ein Tag später))
Stack/Heap..Referenzen
Erste Schritte im Umgang mit Eclipse
Projekt / Programm anlegen
Starten..
Einstiegsaufgaben Aufgaben