OO - Objektorientierte Programmierung
Theoriemix Fragen aus den vergangenen OO-Prüfungen. HSR Hochschule für Technik Rapperswil.
Theoriemix Fragen aus den vergangenen OO-Prüfungen. HSR Hochschule für Technik Rapperswil.
-
- 1 / 58
-
Cartes-fiches
Ausdruck: s * 1
---
Gegeben sind diese Deklarationen:
short s = 1; int i = 2; float f = 3;
int a = 0, b = 1;
boolean x = true, y = false;
Ergebniswert: 1
Ergebnistyp: short
Ausdruck: i++
---
Gegeben sind diese Deklarationen:
short s = 1; int i = 2; float f = 3;
int a = 0, b = 1;
boolean x = true, y = false;
Ergebniswert: 2
Ergebnistyp: int
Ausdruck: --f
---
Gegeben sind diese Deklarationen:
short s = 1; int i = 2; float f = 3;
int a = 0, b = 1;
boolean x = true, y = false;
Ergebniswert: 2.0f
Ergebnistyp: float
Ausdruck: -3 / 2
---
Gegeben sind diese Deklarationen:
short s = 1; int i = 2; float f = 3;
int a = 0, b = 1;
boolean x = true, y = false;
Ergebniswert: -1
Ergebnistyp: int
Ausdruck: 1.0f + 2 / 0
---
Gegeben sind diese Deklarationen:
short s = 1; int i = 2; float f = 3;
int a = 0, b = 1;
boolean x = true, y = false;
Ergebniswert: ArithmeticException Div by Zero
Ergebnistyp: -
Ausdruck: a != 0 && b / a > 1
---
Gegeben sind diese Deklarationen:
short s = 1; int i = 2; float f = 3;
int a = 0, b = 1;
boolean x = true, y = false;
Ergebniswert: false
Ergebnistyp: boolean
Ausdruck: b / a > 1 && a != 0
---
Gegeben sind diese Deklarationen:
short s = 1; int i = 2; float f = 3;
int a = 0, b = 1;
boolean x = true, y = false;
Ergebniswert: ArithmeticExcpetion Div by Zero
Ergebnistyp: -
Ausdruck: x && y || !x && !y
---
Gegeben sind diese Deklarationen:
short s = 1; int i = 2; float f = 3;
int a = 0, b = 1;
boolean x = true, y = false;
Ergebniswert: false
Ergebnistyp: boolean
Ausdruck: (long)i == i
---
Gegeben sind diese Deklarationen:
short s = 1; int i = 2; float f = 3;
int a = 0, b = 1;
boolean x = true, y = false;
Ergebniswert: true
Ergebnistyp: boolean
Wieso sind Vergleiche mit == und != bei folgenden Typen problematisch? Erklären Sie den Grund.
Typ: Gleitkommazahlen (float, double)?
Numerische Fehler bei Gleitkommazahlen werden nicht berücksichtigt, z.B. 3 * 0.1 != 0.3.
Wieso sind Vergleiche mit == und != bei folgenden Typen problematisch? Erklären Sie den Grund.
Typ: String?
Zwei gleiche Texte können in verschiedenen String-Objekten gespeichert sein und == prüft nur Referenzgleichheit, z.B. "A" != new String("A").
Nenne Typen, bei denen der Vergleich mit == bzw. != problematisch ist. Und erkläre warum.
- Gleitkommazahlen (float, double)
- String
- Wrapper Types
Erklärungen:
- Gleitkommazahlen (float, double): Numerische Fehler bei Gleitkommazahlen werden nicht berücksichtigt, z.B. 3 * 0.1 != 0.3.
- String: Zwei gleiche Texte können in verschiedenen String-Objekten gespeichert sein und == prüft nur Referenzgleichheit, z.B. "A" != new String("A").
- Wrapper Types, z.B. Boolean, Character, Byte, Short, Integer, Long, Float und Double. Auch hier können gleiche Werte in verschiedenen Wrapper-Objekten gespeichert, so dass == (Referenzvergleich) dann false ergibt.
NullPointerException ist eine Sub-Klasse von ?
RuntimeException
Ein ungültiger Array-Index-Zugriff verursacht die ?, welche auch eine Sub-Klasse von ? ist.
- ArrayIndexOutOfBoundsException
- RuntimeException