JAVA & Objektorientiertes Programmieren
Eine Einführung in das objektorientierte Programmieren mit JAVA Diese Kartei baut auf dem Stoff des Moduls OOP an der HSLU geleitet von Roland Gisler auf.
Eine Einführung in das objektorientierte Programmieren mit JAVA Diese Kartei baut auf dem Stoff des Moduls OOP an der HSLU geleitet von Roland Gisler auf.
Set of flashcards Details
Flashcards | 500 |
---|---|
Students | 19 |
Language | Deutsch |
Category | Computer Science |
Level | University |
Created / Updated | 04.12.2016 / 16.08.2024 |
Weblink |
https://card2brain.ch/box/java_objektorientiertes_programmieren
|
Embed |
<iframe src="https://card2brain.ch/box/java_objektorientiertes_programmieren/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Was ist Casting bei Datentypen?
Typumwandlung: Konvertierung eines Wertes von einem Typ zu einem Anderen
Erkläre Implizite Typumwandlung (Casting)
Java konvertiert den Wert direkt und automatisch bei einer normalen Zuweisung, z.B. long wert = 100;
Erkläre Explizite Typumwandlung (Casting)
Wir geben Java explizit den Befehl, in welchen Typ etwas konvertiert werden soll, z.B. long wert = (long) 100;
Welche Casting sind möglich? (Genauigkeitsverlust vernachlässigt)
Welche Casting sind möglich? (Genauigkeitsverlust vernachlässigt)
Welche Casting sind möglich? (Genauigkeitsverlust vernachlässigt)
Gibt dies das zu erwartende Resultat 2.5?
int i1 = 5;
int i2 = 2;
float f = (float) i1 / i2; oder
float f = i1 / (float) i2;
Fliesskommazahlen nach Ganzzahlen zu casten ist bedenkenlos
Zu grosse Werte in zu kleine Datentypen zu casten ist bedenkenlos
Wie sieht der Aufbau eines if/else-Statements aus?
Was bedeutet < ?
kleiner als
Was bedeutet == ?
gleich (identisch)
Was bedeutet > ?
grösser als
Was bedeutet <= ?
kleiner oder gleich als
Was bedeutet != ?
ungleich (nicht identisch)
Was bedeutet >= ?
grösser oder gleich als
Was für einen Datentyp wird dieser Ausdruck retournieren?
(x == 5)
Welches sind die wichtigsten logischen Operatoren?
&& (UND)
|| (ODER
^ (EXKLUSIV-OR)
! (NEGATION, NOT)
Wenn man eine Variable/Parameter vom Typ boolean hat, kann man dies bei der Bedingung im if-Statement einsetzten:
boolean isSwitchedOn = true;
if(isOn) {
}
Man muss die Bedungen bei if-Statements so klar und einfach wie möglich formulieren
Der normale oder den häufigeren Fall im then-Zweig anstatt im else-Zweig implementieren macht weniger Sinn
Was ist die Problematik von if-Statements?
Bei logisch etwas komplexeren Abläufen treten if-Statement sehr schnell ineinander verschachtelt auf. Schon ab drei Einrückungsebenen empfindet man den Code als sehr unübersichtlich.
Welche Möglichkeiten hat man, um tiefe Verschachtelungen bei if-Statements zu verhindern?
- In dem man tief verschachtelte if-Statements in eigenständige Methoden auslager, die man dann aufruft
- mit else-if-Statements
- mit switch-Statements
Was ist der Vorteil eines else-if-Statements?
Kann in manchen Fällen deutlich übersichtlicher sein
Was ist der Nachteil eines else-if-Statements?
Nur bei voneinander unabhängig formulierten Optionen möglich
Was ist der Unterschied eines switch-Statements zu einem if-Statement?
Das switch-Statement beschränkt sich auf den Vergleich von absoluten Werten (keine Bedingung)
Was ist ein Nachteil eines switch-Statements?
Es funktioniert nur mit einer eingeschränkten Menge von Datentypen:
- Primitive: byte, short, char, int (ohne long!)
- Klassen: String und Enumerations-Typen
Somit nur geeignet für einfache Fallunterscheidungen auf Basis von einzelnen Werten
switch-Statements so oft wie möglich verwenden
switch-Statements zurückhaltend einsetzen, weil es produziert sehr schnell viel Code
Welche drei verschiedene Schleifen-Anweisungen für unterschiedliche Zwecke und Nutzungen kennt Java?
- while-Schleife (Eingangstest)
- do-while-Schleife (Ausgangstest)
- for-Schleife (Eingangstest)
Jede Iteration kann mit jeder Art von Schleife formuliert werden
Die drei Schleifentypen können sich nicht gegenseitig ersetzen
Die drei Schleifentypen können sich gegenseitig ersetzen
Wie ist eine while-Schleife aufgebaut?
siehe Bild
Die Bedingung muss ein boolsches Resultat ergeben (wie bei if-Statements).
Häufig werden in der Bedingung Variablen genutzt, deren Inhalt innerhalb des Schleifenkörpers verändert wird.
Evaluiert die Bedingung beim Eintritt in die Schleife bereits auf false, wird der Schleifenkörper nie ausgeführt!
Bei welcher Schleife (Iteration) wird der Schleifenkörper nie ausgeführt, falls die Bedingung false ist?
while-Schleife
Die Anzahl Schleifendurchläufe ist in der Regel bei einer while-Schleife (mindestens zum Zeitpunkt der Implementation) bekannt