2 - Programme Flashcards

1
Q

Was sind die Entstehungsschritte eines Programms?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was ist ein Compiler?

A

= “Übersetzer”; er übersetzt den Code einer Programmiersprache in Maschinensprache

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was macht ein Linker?

A

= “Binder”; kombiniert mehrere kompilierte Teile zu einem ausführbaren Programm

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was macht der Loader?

A

lädt das ausführbare Programm in den Speicher und bereitet die Ausführung vor

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was ist ein Interpreter?

A

führt den Code einer Programmiersprache direkt auf der aktuellen Maschine aus (ohne Kompilierung)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was ist das Besondere am Java Compiler (javac)?

A

Der Java-Compiler übersetzt die Anweisungen nicht direkt in Maschinencode, sondern in Java Bytecode (=Zwischensprache; wird von der Java Virtual Machine JVM ausgeführt).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was ist die Java Virtual Machine und was sind ihre Vor- und Nachteile?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wie können Zahlen, Zeichen und Zeichenketten in Java dargestellt werden?

A

Zahlen:
- ganze Zahlen: byte, short, int, long
- Gleitkommazahlen: float, double
Zeichen: char (‘ ‘)
Zeichenketten: String (“ “)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was bestimmt der Datentyp?

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Welche Datentypen gibt es für Zahlen und wie viel Speicherplatz benötigen sie?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wann sind Typen der linken und rechten Seite einer Zuweisung zuweisungskompatibel?

A
  • 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!
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was sind binäre Operatoren?

A

Binäre Operatoren gehören zu den arithmetischen Ausdrücken und beziehen sich auf zwei Operanden.
Beispiele: +, -, *, /, %

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Was sind unäre Operatoren?

A

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)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Was sind Inkrement- und Dekrement-Operatoren?

A

Inkrement-Operatoren erhöhen einen Variablenwert um 1 (++), während Dekrement-Operatoren einen Variablenwert um 1 verringern (–).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was ist der Unterschied zwischen ++x und x++?

A

… = 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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was sind Shift-Operationen?

A

Shift-Operationen dienen der schnellen Multiplikation bzw. Division mit Zweierpotenzen (2, 4, 8, 16, …).
«: Multiplikation mit 2^i (Zahl daneben)
»: Division mit 2^i
-> bits werden verschoben

17
Q

Wie funktioniert ein Dreieckstausch und wozu dient er?

A

Ein Dreieckstausch dient dem Vertauschen zweier Variableninhalte.
h = x
x = y
y = h

18
Q

Formulierungen eines Scanners

A

import java.util.Scanner
Scanner scanner = new Scanner(System.in)
String = scanner.nextLine()
int = scanner.nextInt()
float = scanner.nextFloat()
boolean = scanner.nextBoolean()

19
Q

Was ist ein type cast?

A

Eine Typkonvertierung (type cast) teilt dem Compiler mit, dass wir den Ausdruck in den angegebenen Typ konvertieren wollen (auch wenn Fehler passieren/Daten verloren gehen). Beispiel:
s = (short) (s + 1);