2 - Programme Flashcards
Was sind die Entstehungsschritte eines Programms?
Als erstes muss eine Lösungsidee (Algorithmus) von einem Programmierer in ein Programm in einer Programmiersprache umgewandelt werden. Anschließend transformiert der Compiler das Programm in Maschinensprache und durch Linker und Loader wird das Programm in den Rechner geladen.
Was ist ein Compiler?
= “Übersetzer”; er übersetzt den Code einer Programmiersprache in Maschinensprache
Was macht ein Linker?
= “Binder”; kombiniert mehrere kompilierte Teile zu einem ausführbaren Programm
Was macht der Loader?
lädt das ausführbare Programm in den Speicher und bereitet die Ausführung vor
Was ist ein Interpreter?
führt den Code einer Programmiersprache direkt auf der aktuellen Maschine aus (ohne Kompilierung)
Was ist das Besondere am Java Compiler (javac)?
Der Java-Compiler übersetzt die Anweisungen nicht direkt in Maschinencode, sondern in Java Bytecode (=Zwischensprache; wird von der Java Virtual Machine JVM ausgeführt).
Was ist die Java Virtual Machine und was sind ihre Vor- und Nachteile?
Die JVM ist ein abstrakter virtueller Rechner, der als Interpreter für Java Bytecode dient.
Vorteile: zusätzliche Abstraktionsebene, Plattformunabhängigkeit
Nachteile: mehr Ressourcenverbrauch, langsamer
Wie können Zahlen, Zeichen und Zeichenketten in Java dargestellt werden?
Zahlen:
- ganze Zahlen: byte, short, int, long
- Gleitkommazahlen: float, double
Zeichen: char (‘ ‘)
Zeichenketten: String (“ “)
Was bestimmt der Datentyp?
- welche Werte man in einer Variablen speichern darf
- welche Operationen man mit den Werten des Typs ausführen darf
->dank Datentypen können Programmierfehler bereits vor der Ausführung vom Compiler entdeckt werden
Welche Datentypen gibt es für Zahlen und wie viel Speicherplatz benötigen sie?
byte: 8 bit (-128…127)
/\
short: 16 bit (-2^15…2^15 -1)
/\
int: 32 bit (-2^31…2^31 -1) (üblich x ganze Zahlen->Rechner am schnellsten)
/\
long: 64 bit
/\
float: 32 bit
/\
double: 64 bit
Wann sind Typen der linken und rechten Seite einer Zuweisung zuweisungskompatibel?
- wenn linke und rechte Seite denselben Typ haben
- wenn Typ der linken Seite den Typ der rechten Seite einschließt
-> Der Typ von ganzen Zahlen ist immer int! (wenn min. ein Operand vom Typ long ist, so ist das Ergebnis long, sonst ist es int)
-> Der Typ von Gleitkommakonstanten ist immer double!
Was sind binäre Operatoren?
Binäre Operatoren gehören zu den arithmetischen Ausdrücken und beziehen sich auf zwei Operanden.
Beispiele: +, -, *, /, %
Was sind unäre Operatoren?
Unäre Operatoren gehören zu den arithmetischen Ausdrücken und beziehen sich auf einen Operanden. Sie binden stärker als binäre Operatoren!
Beispiele: + (Identitätsoperator: +x=x), - (Vorzeichenumkehr)
Was sind Inkrement- und Dekrement-Operatoren?
Inkrement-Operatoren erhöhen einen Variablenwert um 1 (++), während Dekrement-Operatoren einen Variablenwert um 1 verringern (–).
Was ist der Unterschied zwischen ++x und x++?
… = x++: nimmt den Wert von x und erhöht x anschließend um 1
… = ++x: erhöht x um 1 und nimmt anschließend den erhöhten Wert