Compiler
COMPILER VORTEILE
Compiler Nachteile
Interpreter Vorteile
Interpreter Nachteile
Interpreter
Java: Mischung Compiler Interpreter
Vorteile
Java: Mischung Compiler Interpreter
Nachteile
Variable
Deklaration
Zuweisung
Datentyp
Ausdruck
Operand
Operator
Anweisung
Anweisungs-Sequenz:
Anweisungs-Block:
Bedingte Anweisung / Entscheidungsanweisung:
Wiederholungsanweisung / Schleife:
Java-Programm ausführen
C-Programm ausführen
Grammatik
Grammatik, festgelegt durch:
Der Compiler...
Bezeichner:
Lexikalische Elemente (Tokens)
Keywords:
Lexikalische Elemente (Tokens)
Literale:
Lexikalische Elemente (Tokens)
Satzzeichen:
Lexikalische Elemente (Tokens)
Operatoren:
Lexikalische Elemente (Tokens)
8 Goldene Regeln:
Einfache (elementare) Datentypen = Primitive Datentypen:
Referenztypen:
byte
short
int
long
float
double
boolean
char
Typumwandlung
Probleme
Einstellige Operatoren
Zweistellige Operatoren
Dreistellige Operatoren
Präfix-Notation:
Postfix-Notation:
Infix-Notation:
int i = 0;
feld[++i + i++] = i++ + ++i;
true & true
false & true
true && false
false && true
true | true
false | true
true || false
false || true
true ^ false
true ^ true
false ^ true
false ^ false
a=-55;
~a;
a=?
a << b:
a>>b:
a>>>b:
Auswertungsreihenfolge in Ausdrücken
Switch-Ausdruck verbotene Datentypen
Switch
Switch Code
while-Schleife:
do-while-Schleife:
Syntax Bestandteile der for schleife:
break
continue:
int [ ] iv;
was wird hier gespeichert?
int [ ] iv = new int [3];
was wird hier gespeichert?
Gleichheit zwei einfacher Datentypen
Gleichheit zweier Referenzdatentypen
Dynamische Array Allokation
Fachwörter dafür:
double[] x = new double[3];
Statische Array Allokation
Was passiert, wenn man die Array-Größe verändert?
Array Fehler
Was passiert?
int[ ] f1 = new int[2];
int[ ] f2 = new int[5];
f2 = f1;
Flache Kopie:
Tiefe Kopie
Klassen:
Klassen Syntax
Wo können Klassen deklariert werden?
Nachteile geschachtelter Klassen
Zugriffs-Modifizierer:
Wie kann man private Variablen erfragen?
Instanzvariablen
Klassenvariablen:
Konstruktor Aufgabe
Konstruktor Code
Instanzmethode:
Klassenmethoden:
Prozeduren & Funktionen
Methodeneigenschaften
Bedeutung von Methoden
Vorteile von Methoden
Zusammenfassungen von Methoden
Divide & Conquer – Verfahren
Top-Down-Prinzip
Modulare Programmierung
Softwaremodul
System ist modular, wenn
Call-by-Value / Pass-by-Value
Methodensyntax
Sichtbarkeit und Verdecken von Variablen
Klassenmethode
Instanzmethode
Überladen
Iteration
Rekursion
Fakultätsberechnung
iterativ
Fakultätsberechnung
rekursiv
3 Motivationsgründe für OOP
Paradigmen
Objektorientiertes Programmieren
4 Grundprinzipien
Abstraktion/Generalisierung:
Kapselung:
Vererbung
abstrakte Klassen
Polymorphismus:
Typumwandlung:
Warum Typecast
Variablen überschreiben
Klasse Object
Interfaces
implements
Hilfs-/Hüllklasse
String
Verschiedene Möglichkeiten ein String zu erzeugen
5. Methoden der Klasse String:
StringBuffer (veränderbare Zeichenketten)
Hüllklassen(wrapper classes)
Hüllklassen(wrapper classes)
Methoden
C++
Klassen
C++
Vorwärtsdeklaration:
C++
Header-Dateien
C++
Source-Dateien
C++
Objekte:
C++
Speicherverwaltung
Enumeration
Enum Vorteile
Enum Methoden
Array Eigenschaften
Array Vorteile
Array Nachteile
Was sind Container?
Zwei Konzepte von Containern
Container Eigenschaften
Container Methoden
Iteratoren:
Iteratoren Nachteile
Generics
Vorteile Generics
Dokumentation
Compilerfehler:
Exceptions
Exceptions Hierarchie
Skriptsprachen
Iterator – Erweiterung
Programmierparadigmen
Imperativ
Deklarativ
Prozedurale Programmierung
Objektorientierte Programmierung
Ereignisorientierte Programmierung
Logische Programmierung
Funktionale Programmierung
C
Ein Student mit id Und name
(vor- + nachname)
C
Stundent mit id oder name
(vor- + nachname)