2019-11-13 21:19:09 +00:00
parent 6bfd1a9206
commit e63d93639e

@@ -40,6 +40,7 @@
- `do {} while(i == 1);` - **Semikolon am Ende!**
- **Überschreiben**: Rückgabe muss **exakten Typ** haben (*bei Primitiven*) oder alternativ **Subklasse** sein (*bei Klassen*)
- 0 % 3 == 0
- **Ueberladen**: null (als Schluesselwort kann nicht uebergeben werden, wenn der Compiler dadurch die Methode nicht eindeutig bestimmen kann. Wenn Typ bekannt ist, kein Problem.
- **`throw null`** führt zu `NullPointerException`
- **switch**: `ausdruck` muss Typ `enum`, `byte`, `short`, `int`, `char` oder `String` ergeben
- **Erlaubte Identifier-Namen**:
@@ -65,9 +66,18 @@
- `char` kann nur ein `char` zugewiesen werden, expliziter Cast erforderlich
- Interface-Methoden sind immer implizit public, nicht jedoch abstract, wenn sie static oder default sind.
- **String/StringBuffer und Indizees**
- String ("1234567890")
- String (Immutable)
- charAt() 0-based. Liefert *char*
- length: tatsaechliche Laenge
- length(): tatsaechliche Laenge
- substring(int start): start zero-based (inklusive)
- substring(int start, int end): *end one-based!* (inklusive)
- Exception, wenn Index ausserhalb Bereich oder end < start. "" bei end == start
- Exception, wenn Index ausserhalb Bereich oder end < start. "" bei end == start
- += definiert, weist dem String den neuen Wert auch zu. -= nicht
- StringBuilder (Nicht immutable)
- length(): tatsaechliche Laenge
- append(value, diverse Typen): Fuegt am Ende an
- delete(start, end): start zero-based, end one-based. end darf ausserhalb index sein, start nicht
- insert(start, value in diversen typen: start zero-based (vor dem Zeichen)
- substring(start, end): start zero-based, end one-based/ Liefert String als Rueckgabe, aendert Objekt nicht!
- null kann nicht angehaengt oder eingefuegt werden, da dann ueberladene Methode nicht aufgerufen werden kann.
- Immer darauf achten, toString() aufzurufen