Kapitel 2 Flashcards
Imperativer Teil von Java
Primitive Datentypen Speicherung?
+ Eigenschaften?
werden auf Stack gespeichert, statt wie bei Objekten auf Heap -> effizienter
Standardmethoden sind nicht vorhanden
besitzen feste Größe (kein sizeof() notwendig)
haben immer definierte Werte (am Anfang immer initialisiert)
daneben gibt es noch Arrays und Objekttypen (Referenzen auf Objekte)
bei boolean gibt es kein 1 und 0, sondern nur true und false
bei char ist eine Transformation nach int (ohne Vorzeichen) möglich
Literale (einzelne Zeichen): ’a’, Strings (Zeichenketten): ”Heinz”
Variablen:
Typprüfung?
Typprüfung passiert zur Compilezeit => Fehler werden früher erkannt
Konstanten
final int i; //EINMAL setzbar, nicht zwingend bei Deklaration
i = 128; //ab jetzt nicht mehr setzbar bzw. veränderbar
i- -; //Fehler
Alternativ: final int i = 128; //in einer Zeile
SCE: Short Circuit Evaluation
Bei SCE: zuerst nur 1 Operand ausgewertet, dann ggf. noch 2. Operanden
Ohne SCE: immer beide auswerten
dreistelligen Operator: a?b:c
a?b:c bedeutet: if a then b else c (a muss boolean
sein, b und c müssen vom selbem Typ sein)
break;
break: springt zu erster Anweisung HINTER der Schleife (ggf. mit Label -> dann
hinter die Schleife, die gelabelt ist)
continue;
springt an Schleifenrumpfende (ggf. mit Label -> dann an Schleifenrumpfende
der gelabelten Schleife) und fährt mit nächster Iteration fort
Felder; semi-dynamisch?
Felder in Java sind semi-dynamisch: Größe zur Laufzeit festlegen, dann aber nicht mehr
veränderbar
x.length -> ergibt 5, length = Attribut, keine Methode