Programmiertechnik I - HTWG Konstanz - Drachenfels
Stichworte der Lernzettel - Letzte Seite von jedem Skript...
Stichworte der Lernzettel - Letzte Seite von jedem Skript...
-
- 1 / 148
-
Cartes-fiches
Wie wird beim printf-Befehl das oktale Format angefordert?
%o
Was ist Unicode?
Unicode ist ein Industriestandart mit dem Anspruch sämtliche Sinntragenden Schriftzeichen jeder Kultur zu erfassen.
Zu beginn 16-Bit, aber in Zwischenzeit erweitert auf 21-Bit.
ASCII und Latin-1 sind Bestandteil von Unicode.
Was ist ein Datentyp und welche existieren bei Java?
Ein Datentyp bezeichnet die Zusammenfassung konkreter Wertebereiche und darauf definierten Operationen zu einer Einheit. Ein Datentyp wird unterteilt in 2 Untertypen, die Wert- und die Referenztypen.
Werttypen:
- Logischer Typ
- Zahltyp
- Ganzzaliger Typ
- Gleitkomma Typ
Referenztypen:
- Felder
- Klassen
Eine Zahl soll mit Hilfe des println-Befehls ausgegeben werden. Wie kann man erreichen, dass die Zahl im Typ
a) dezimal
b) okatl
c) hexadezimal
d) binär
ausgegeben wird?
a) dezimal:
Einfach die Geünschhte Zahl in der Dezimalform angeben, die erste Ziffer darf jedoch nicht Null sein.
Bsp 1 oder 145369
b) oktal:
Vor die Zahl wird eine 0 (Null) gesetzt.
Bsp: 01 oder 0145369
c) hexadezimal:
Vor der Zahl steht 0x.
Bsp: 0x1 oder 0x145369
d) binär:
Vor der Zahl steht die Kombination 0b.
Bsp: 0b1 oder 0b145369
Was gehört zu den Referenztypen?
- Felder Typ[ ]
- Klassen
- Fundamentalklassen
- Zeichenketten
- Wrapperklassen
- Wurzelklassen
- Anwendungsklassen
- enum
- interface
- Fundamentalklassen
int
Wertebereich: Ganze Zahlen mit Vorzeichen
Speicherbedarf: 4 byte
Standartwert: 0
Wie können Gleitkommazahlen geschrieben werden?
a) dezimal
b) hexadezimal
a) ddezimal:
1. .24 0.456 78.9
.789e2 ---> steht für 0,78910 *102
b) hexadezimal:
0x1p0 0x1p4 0x10p-4
0x1p4 ---> steht für 0,00012*24
Was versteht man unter Einfachvererbung?
Unterklassen erweitern nur eine Oberklasse!
Deklaration im Klassenkopf:
public final class Unterklassenname extends Oberklasse{...}
Was ist UML?
grafische Modellierungssprache
Unified Modeling Language
Für was steht "%" als arithmetischer Operator?
Ausgabe des Restes einer Ganzzahligen Division.
Was versteht man unter "Precedence"?
Vorrang
legt in Ausdrücken mit mehreren Operatoren die Berechnungsreihenfolge fest.
Nedingungsoperator
Ausdruck1 ? Ausdruck2 : Ausdruck3
Wert von ausdruck 2 falls ausdruck true ist.
Wert von ausdruck 3 falls Ausdruck false ist.
rechts-assoziativ:
a?b:c?d:e ---> a?b:(c?d:e)
Was bedeutet in der Arithmetik die Stelligkeit?
legt Anzahl der Operanden fest:
unär: 1 Operand
binär: 2 Operand
ternär: 3 Operand
Was macht die throw-Anweisung?
Eine trow-Anweisung springt in den nächsten passenden catch- Block
try {
throw new Ausnahme();
}catch (Ausnahme x) {
.....// springt hier hin
Wenn kein passender catch-Block existiert, dann wird das Programm beendet.
Wie werden bei Java bei einer Mischung der verschiedenen Datentypen die Typen angepasst?
char
|
\|/
byte --> short --> int --> long --> float --> double
Was wird bei der continue-Anweisung gemacht?
Die continue-Anweisung ermöglicht es, den aktuellen Schleifendurchlauf zu beenden. Es wird die Schleifenbedingung erneut ausgewertet. Die continue-Anweisung kann für alle Schleifenarten verwendet werden.
while (j < 10) {
if (j > 8) { j++; continue; } System.out.println("Aktueller Wert von j : " + j); j++;}
Was versteht man unter einer Anweisung?
- Variablendefinition Typ Name = Ausdruck;
- Ausdrücke
- Ausdruck; // Ausdruck muss Zuweisung oder Methodenaufruf sein
- ; // Spezialfall, leere Anweisung
- Anweisungsblöcke in geschweiften Klammern {...}
- Verzweigungen: if-else switch-case-default try-catch-finally
- Schleifen: while do-while for
- Sprünge: break continue return throw
Was passiert, wenn z.B. in einer Schleife ein break aufgerufen wird?
Die Schleife, der Block wird beendet.
while (...)
....
if (Bedingung) {
break;
}
....
} // hier gehts weiter
Was gehört zu der Ablaufsteuerung bei Java?
- Verzweigungen
- Schleifen (for, while,...)
- Sprünge (break, return,....)
- Ausnahmen (try-catch)
Was versteht man unter der Assoziativität?
Legt bei mehreren Operatoren gleichen Ranges die Reihenfolge fest:
Zuweisung = rechts-assoziativ
Bsp: a=b=c bedeutet a=(b=c)
andere binäre Operatoren links-assoziativ
Bsp: a+b+c bedeutet (a+b)+c
Was geschieht bei einem Aufruf von return?
Es wird zurück zur Aufrufstelle der Methode gesprungen, innerhalb von main wird das Programm beendet.
// hier wird hingesprungen
if (...) {
return
}
Was bedeutet das Final vor einer Variable?
Kennzeichnet eine Variable als Konstante. Dies kann z.B. bei bestimmten Zahlen, wie z.B. Pi nötig sein, da diese ja immer gleich ist.
boolean
Logischer Typ
kann nur 2 Werte Speichern: true oder false
Standartwert: false
Platzbedarf: 1 byte
Wie wird innerhalb einer printf-Anweisung ein Zeilenwechsel aufgerufen?
%n
Für was steht @Override in einer Annotation?
Mit diesem Typ kann eine Methode gekennzeichnet werden, die die Methode ihrer Oberklasse überschreibt. Der Compiler stellt dann sicher, dass die Oberklasse diese Methode enthält und gibt einen Fehler aus, wenn dies nicht der Fall ist.
Beispiel:
public class A { public void eineMethode() {}} public class B extends A { @Override public void eineMethode() {}} Quelle: Wikipedia
Was wird im Stack-Segment gespeichert und wo sitzt dieses?
Das Stackseegment wird im Arbeitsspeicher belegt, welcher vom Programm verwendet wird.
Es enthät automatische Daten und ist eines der 3 Bereicht für die Daten eines Programmes (Neben Daten-Segment und Heap-Segment)
new-Operator
Objekterzeugung mit dem new-Operator:
new Klassenname(...);
Der new-Operator reserviert den Speicher des Objekts und initialisiert ihn mit einem Konstrukoraufruf.
extends
Schlüsselwort für Vererbung ---> wenn eine Klasse von einer Oberklass abgeleitet wird, muss dies im Kopf deklariert werden:
public final class Unterklasse extends Oberklasse { }
implements
Schlüsselwort für Schnitstellenvererbung ---> wenn eine Klasse ein Interface implementiert, muss dies im Kopf deklariert sein.
public final class Name implements Schnitstelle { }
java.lang.Object
- in Java ist eine Klasse direkte Unterklasse von java.lang.Object, wenn keine andere Oberklasse angegeben ist:
- indirekt ist damit jede Klasse Unterklasse von java.lang.Object
java.lang.Error
Unterklasse von Throwable
Unterklassen von Error (--> fatale Ausnahmen) deuten auf ernste Probleme hin, bei denen der normale Programmablauf nicht wiederhergestellt werden sollte.
Sie sollten in der Regel nicht gefangen werden.
protected
Zugriffsrechte in Oberklassen:
aus allen Unterklassen dieser Oberklasse zugreifbar
Auszug aus Java ist auch eine Insel:
"Sind also weitere Klassen im gleichen Paket und Eigenschaften protected, ist die Sichtbarkeit für sie public. Für andere Nicht-Unterklassen in anderen Paketen sind dieprotected-Eigenschaften private. Damit lassen sich die Sichtbarkeiten so ordnen:
public > protected > paketsichtbar > private"
Programmierparadigma
= ein fundamentaler Programmierstil
Die Paradigmen unterscheiden sich in den Prinzipien die der jeweiligen Programmiersprache zugrunde liegen.
Auszug Wikipedia
Ein Programmierparadigma ist ein fundamentaler Programmierstil.[1] „Der Programmierung liegen je nach Design der einzelnen Programmiersprache verschiedene Prinzipien zugrunde. Diese sollen den Entwickler bei der Erstellung von "gutem Code" unterstützen, in manchen Fällen sogar zu einer bestimmten Herangehensweise bei der Lösung von Problemen zwingen“
Was ist ein Stellenwertsystem?
Ein Zahlensystem, bei dem die Wertigkeit eines Symbols von seiner Position abhängt.
Beispiel: Dezimalsystem
123 ---> 1 * 100 + 2*10 + 3*1 --> 1 Höchste Wertigkeit, 3 niedrigste Wertigkeit.
Wort
Bytekombination, Transporteinheit auf dem Bus
Die Größe ist Rechnerabhängig, typisch 4 byte (x86) 8 byte (x64)
Was ist ein Peripheriegerät?
Das Peripheriegerät ist eine Komponente oder ein Gerät, das sich außerhalb der Zentraleinheit eines Computers befindet (kurz: Zubehör). Vereinfacht kann zwischen im Computer verbauten (internen) und mit diesem durch ein Kabel (oder auch durch Infrarot- oder Funktechnik) verbundenen (externen) Peripheriegeräten unterschieden werden.
Bsp: Intern (Grafikkarte, Netzwerkkarte,...) Extern (Drucker, Maus,....)
import
- import-Deklaration im Kopf der Quelldatei
- ermöglicht die Verwendung einfacher Klassenname
import Paketname.Klassenname;
public final class Beispiel {
Klassenname.Methode();
}
Boxing
Diese Kapselung von primitiven Datentypen in Referenztypen, z.B. um diese in einer Collection ablegen zu können, erfolgt über sog. Wrapper-Klassen. Das 'Verpacken' eines primitiven Typs wird als Boxing, das 'Entpacken' als Unboxing bezeichnet. Java stellt seit der Version 5.0 einen Mechanismus bereit, der diese Verfahren automatisch erledigt (Autoboxing), sodass die folgenden Formulierungen möglich sind:
Integer i = new Integer(5);
int n = i;
Integer j = n;
Utility-Klassen
Klassen ohne Instanzmethoden & Instanzvariablen.
(--> sollten als final deklariert sein und einen privaten Default.Konstruktor haben)
Beispiele für Utility-Klassen:
RANDOM, DATE, CALENDAR, SYSTEM
Ausdruck
Liefert einen Wert
Zusammengesetzte Ausdrücke mit operatoren, Operanden und Klammern
Datentyp abhängig von operatoren und Operanden