Looking for SEW2b 1xHIT String-Objekte und weitere Kontrollstrukturen test answers and solutions? Browse our comprehensive collection of verified answers for SEW2b 1xHIT String-Objekte und weitere Kontrollstrukturen at elearning.tgm.ac.at.
Get instant access to accurate answers and detailed explanations for your course questions. Our community-driven platform helps students succeed!
Gegeben ist folgende Deklaration:
1 | String wort = "Ferien" |
Welche Index-Nummer hat der Buchstabe n
im Text der Variablen wort
.
Gegeben ist die String
-Variable namens satz
. Schreibe die Anweisung, um das 6. Zeichen aus dieser Variablen in die Zeichen-Variable namens erg
zu speichern. Beide Variablen sind deklariert und die Variable satz
ist auch schon initialisiert.
Was wird bei folgendem Beispiel ausgegeben?
| /** ... */public class |
Welche der folgenden Aussagen treffen auf die folgenden lokalen Variablen s1
und s2
vom Typ String
und die int
-Variable x1
zu, wenn diese bereits deklariert und initialisiert sind.
Welche Eigenschaften gelten für den Datentyp String. Wähle alle aus.
Es gibt keine -Methode, mit der man Text ähnlich wie Zahlen in ein Zeichen vom Typ umwandeln kann. Stattdessen erfüllt eine Objektmethode in der Klasse - die Aufgabe, einen Text in ein Zeichen (Datentyp parse
char
String
- die Methode charAt
char
) umzuwandeln:
Die Beschreibung der Methode wurde um den Teil zwischen den eckigen Klammern erweitert, um größere Klarheit zu schaffen. Die Struktur der Methode ergibt sich damit wie folgt:
Die Methode wandelt nicht einfach einen Text in ein Zeichen um. Da ein Text aus mehreren Zeichen bestehen kann, holt die Methode ein bestimmtes Zeichen aus diesem Text heraus. Deswegen muss die Nummer des Zeichens, das man herausholen möchte, angegeben werden. Diese Nummer wird genannt. Ein Index ist in der Programmierung immer eine fortlaufende Nummer, die bei 0 beginnt. Die Buchstaben im Wort Objekt haben damit folgende Indexe:charAt
Das Zeichen hat also im Text Objekt den Index 2. Der letzte Index eines Textes ist immer um 1 kleiner als die Länge des Textes, wie man anhand des Wortes Objekt sehen kann. Dies ergibt sich daraus, dass die Länge in natürlicher Weise von 1 ausgehend gezählt wird und damit der tatsächlichen Anzahl an Zeichen im Text entspricht, während der Index bei 0 zu zählen beginnt.j
Im folgenden Beispiel wird das erste und das letzte Zeichen eines eingegebenen Textes ausgegeben:
Die Methode charAt
ist in der Klasse definiert.
In der API-Dokumentation dieser Methode ist
Objektmethoden werden grundsätzlich mit
.
aufgerufen.Die Methode charAt
hat
Der Parameter der Methode hat den Datentyp .
Für diesen Parameter wird
Diese Methode benötigt
Der Rückgabetyp der Methode ist , deshalb muss auch die Auffangvariable den Typ haben.
Ein Index beginnt immer bei der Zahl zu zählen.
Im Wort Variable
hat also der Buchstabe V
den Index .
Der Buchstabe r
hat im Wort Variable
den Index .
Die Länge eines Textes wird auf natürliche Weise gezählt. Daher ist die Länge des Wortes Variable
gleich .
Der Index des letzten Buchstabens im Wort Variable
hat hingegen den Wert .
Der Index des letzten Zeichens in einem Text ist immer um kleiner als die Länge des Textes und kann damit berechnet werden.
Eine sehr häufig verwende Methode bei Texten ist die Methode . Sie berechnet, wie viele Zeichen (Buchstaben, Ziffern, Sonderzeichen, ...) in einem -Objekt vorhanden sind, und gibt den Wert zurück. Ihre API-Dokumentation sieht folgendermaßen aus:length
der Klasse String
String
Die Detail-Analyse der Methode bietet folgendes Bild:
Im folgenden Beispiel wird die Anzahl der Zeichen einfach ausgegeben:
Die Methode length
ist in der Klasse definiert.
In der API-Dokumentation dieser Methode ist
Objektmethoden werden grundsätzlich mit
.
aufgerufen.Die Methode length
hat
Diese Methode benötigt
Der Rückgabetyp der Methode ist , deshalb muss auch die Auffangvariable den Typ haben.
String
sverglichen werden, weil dadurch eigentlich nur die Referenzen verglichen werden. Abhilfe schafft in diesem Fall eine Methode aus der -API: -Objekte inhaltlich. Die API-Dokumentation der Klasse String
-Objekte können inhaltlich nicht mit dem Vergleichsoperator ==
String
equals
. Diese Methode vergleicht zwei String
String
und dieser Methode sieht folgendermaßen aus:
Diese Methode ist eine Objekt-Methode, wie am fehlenden sichtbar ist, und hat nur einen Parameter. Aber zum Vergleichen benötigt man zwei Werte - wo kommt der zweite Wert her? Eine genauere Analyse der Methode birgt einen Hinweis:static
Im beschreibenden Text steht geschrieben, dass dieser Text (der „this-String") mit dem Parameter-Objekt verglichen wird. Das bezieht sich dabei auf das Objekt, dessen Referenzvariable für den Aufruf verwendet wird. Das entspricht einem fundamentalen Grundsatz für Objektmethoden:this
Objektmethoden beziehen sich immer auf ein Objekt, das
this
-Objekt,
und arbeiten mit dem internen Zustand (= den internen Werten) dieses
Objektes
Das Objekt, auf dass sich eine Objektmethode bezieht, ist immer das Objekt, welches für den Aufruf vor dem Punkt geschrieben wird. Der interne Zustand, mit dem gearbeitet wird, ist der Text, der in dem Objekt gespeichert ist.
Beim folgenden Aufruf ist also text1
das this
-Objekt.
Bei diesem Aufruf ist text2
das this
-Objekt.
Alle weiteren Aspekte eines Methodenaufrufes - Parameter und Rückgabewerte - funktioneren gleich, wie bei den Klassenmethoden.
Objektmethoden brauchen ein -Objekt für den Aufruf.
Das this
-Objekt liefert wichtige Informationen für die Methode. Deshalb wird bei Objektmethoden
Beim Aufruf einer Objektmethoden wird
Für den Aufruf einer String
-Objektmethode wird deshalb
Die Variable vor dem Punkt verweist auf das -Objekt.
Die Methode equals
ist in der Klasse definiert.
In der API-Dokumentation dieser Methode ist
Objektmethoden werden grundsätzlich mit
.
aufgerufen.Die Methode equals
hat
Der Parameter hat den Datentyp , deshalb kann jeder Objektdatentyp (z.B. auch String
) als Aktualparameter verwendet werden.
Diese Methode benötigt
Der Rückgabetyp der Methode ist , deshalb muss auch die Auffangvariable den Typ haben.
String
-Methoden ist ein Referenzdatentyp bzw. Objektdatentyp. Damit kann er als Basis dienen, um Objektmethoden aus der Klasse aufzurufen. Dazu müssen folgende Punkte beachtet werdenString
String
Eine Objekt-Methode in der API erkennt man daran, dass kein angegeben iststatic
Eine Objekt-Methode braucht eine Referenz auf ein Objekt für den Aufruf (anstelle des Klassennamens).
Das Objekt, das für den Aufruf referenziert wird, wird oft alsthis
-Objekt bezeichnet.
Ohne -Objekt können Objekt-Methoden nicht arbeiten, weil sie auf den Inhalt dieses Objektes zugreifen müssen oder ihn verändern.this
Klassenmethoden erkennt man am Schlüsselwort in der Kopfzeile bzw. in der API-Dokumentation.
Objektmethoden haben
Anstelle des Klassennamens wird bei Objektmethoden für den Aufruf eine auf ein benötigt.
Das Objekt, mit dem die Objektmethode aufgerufen wird, wird als -Objekt bezeichnet.
Zwei Referenzvariablen haben dann den gleichen Inhalt, wenn sie auf das selbe Objekt verweisen. Das kann z.B. sein, wenn der Inhalt der einen Referenzvariablen direkt der anderen zugewiesen wird. Dies erreicht man, wenn man zum obigen Beispiel folgende Zeilen hinzufügt.
Dabei wird die Referenz, die in text1
gespeichert ist, kopiert und der Variablen text3
zugewiesen. Danach haben beide Variablen den gleichen "Speicher-Ort" als Referenz und verweisen beide auf den selben Text. Das zugehörige Bild im Speicher kann man sich so vorstellen:
Ein Vergleich der beiden Variablen text1
und text3
mit ==
vergleicht nun die Referenzen, d.h. den "Speicher-Ort". Deshalb kommt dieser Vergleich zu dem Ergebnis, dass beide Variablen auf den selben "Ort" verweisen und damit ist das Ergebnis true
.
Dies kann nur mit Hilfe von Objekt-Methoden erreicht werden. Dazu muss man sich die API-Dokumentation der Klasse String ansehen (oder einfach weiterlesen).
Referenzen können auch durch
Danach haben beide Variablen
Anders ausgedrückt verweisen beide Referenzvariablen auf
In diesem Fall liefert ein Vergleich mit ==
das Ergebnis
Get Unlimited Answers To Exam Questions - Install Crowdly Extension Now!