logo

Crowdly

SEW2b 1xHIT String-Objekte und weitere Kontrollstrukturen

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.

View this question

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.

View this question

Was wird bei folgendem Beispiel ausgegeben?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

/** ...

*/

public class

EinBeispiel {

public static void

main(String[] args) {

String s1 =

"YZ"

;

String s2 =

"XYZ"

;

String s3 =

"X"

+ s1;

if(s2.equals

(s3)) {

System.

out.println("Gleich"

);

}

else

{

System.

out.println("Ungleich"

);

}

}

}

View this question

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.

View this question

Welche Eigenschaften gelten für den Datentyp String. Wähle alle aus.

View this question

Ein einzelnes Zeichen herausholen

Es gibt keine parse

-Methode, mit der man Text ähnlich wie Zahlen in ein

Zeichen vom Typ

char

umwandeln kann. Stattdessen erfüllt eine

Objektmethode in der Klasse

String - die Methode charAt

- die Aufgabe,

einen Text in ein Zeichen (Datentyp

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 charAt

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

Index

genannt. Ein Index ist in der Programmierung immer eine

fortlaufende Nummer, die bei 0 beginnt. Die Buchstaben im Wort Objekt

haben damit folgende Indexe:

Das Zeichen j

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.

Im folgenden Beispiel wird das erste und das letzte Zeichen eines

eingegebenen Textes ausgegeben:

Ergänze folgende Zusammenfassung:

  • Die Methode charAt ist in der Klasse definiert.

  • In der API-Dokumentation dieser Methode ist

    angegeben, deshalb handelt es sich um eine .

  • Objektmethoden werden grundsätzlich mit

    . aufgerufen.

  • Die Methode charAt hat

    Parameter.

  • Der Parameter der Methode hat den Datentyp .

  • Für diesen Parameter wird

    als Aktualparameter angegeben.

  • Diese Methode benötigt

    Auffangvariable, weil der Rückgabetyp in der Methodendokumentation
    ist.

  • 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.

View this question

Die Anzahl der Zeichen

Eine sehr häufig verwende Methode bei Texten ist die Methode length der Klasse String

. Sie

berechnet, wie viele Zeichen (Buchstaben, Ziffern, Sonderzeichen, ...)

in einem

String

-Objekt vorhanden sind, und gibt den Wert zurück. Ihre

API-Dokumentation sieht folgendermaßen aus:

Die Detail-Analyse der Methode bietet folgendes Bild:

Im folgenden Beispiel wird die Anzahl der Zeichen einfach ausgegeben:

Ergänze folgende Zusammenfassung:

  • Die Methode length ist in der Klasse definiert.

  • In der API-Dokumentation dieser Methode ist

    angegeben, deshalb handelt es sich um eine .

  • Objektmethoden werden grundsätzlich mit

    . aufgerufen.

  • Die Methode length hat

    Parameter.

  • Diese Methode benötigt

    Auffangvariable, weil der Rückgabetyp in der Methodendokumentation
    ist.

  • Der Rückgabetyp der Methode ist , deshalb muss auch die Auffangvariable den Typ haben.

View this question

Vergleichen von Strings

String-Objekte können inhaltlich nicht mit dem Vergleichsoperator ==

verglichen werden, weil dadurch eigentlich nur die Referenzen verglichen

werden. Abhilfe schafft in diesem Fall eine Methode aus der

String

-API:

equals. Diese Methode vergleicht zwei String

-Objekte inhaltlich. Die

API-Dokumentation der Klasse

String und dieser Methode sieht folgendermaßen aus:

Diese Methode ist eine Objekt-Methode, wie am fehlenden static

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:

Im beschreibenden Text steht geschrieben, dass dieser Text

(der

„this-String") mit dem Parameter-Objekt verglichen wird. Das

this

bezieht sich dabei auf das Objekt, dessen Referenzvariable für den

Aufruf verwendet wird. Das entspricht einem fundamentalen Grundsatz für

Objektmethoden:

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.

Ergänze folgende Zusammenfassung:

  • Objektmethoden brauchen ein -Objekt für den Aufruf.

  • Das this-Objekt liefert wichtige Informationen für die Methode. Deshalb wird bei Objektmethoden

    der Klassenname für den Aufruf verwendet.

  • Beim Aufruf einer Objektmethoden wird

    vor dem Punkt geschrieben.

  • Für den Aufruf einer String-Objektmethode wird deshalb

    vor dem Punkt geschrieben.

  • Die Variable vor dem Punkt verweist auf das -Objekt.

  • Die Methode equals ist in der Klasse definiert.

  • In der API-Dokumentation dieser Methode ist

    angegeben, deshalb handelt es sich um eine .

  • Objektmethoden werden grundsätzlich mit

    . aufgerufen.

  • Die Methode equals hat

    Parameter.

  • Der Parameter hat den Datentyp , deshalb kann jeder Objektdatentyp (z.B. auch String) als Aktualparameter verwendet werden.

  • Diese Methode benötigt

    Auffangvariable, weil der Rückgabetyp in der Methodendokumentation
    ist.

  • Der Rückgabetyp der Methode ist , deshalb muss auch die Auffangvariable den Typ haben.

View this question

String-Methoden

String

ist ein Referenzdatentyp bzw. Objektdatentyp. Damit kann er als

Basis dienen, um Objektmethoden aus der Klasse

String

aufzurufen. Dazu

müssen folgende Punkte beachtet werden

  • Eine Objekt-Methode in der API erkennt man daran, dass kein static

    angegeben ist

  • 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 als

    this-Objekt bezeichnet.

  • Ohne this

    -Objekt können Objekt-Methoden nicht arbeiten, weil sie auf

    den Inhalt dieses Objektes zugreifen müssen oder ihn verändern.

Ergänze folgende Zusammenfassung:

  • Klassenmethoden erkennt man am Schlüsselwort in der Kopfzeile bzw. in der API-Dokumentation.

  • Objektmethoden haben

    in der Kopfzeile bzw. in der API-Dokumentation.

  • 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.

View this question

Können zwei Referenzvariablen auch den gleichen Inhalt haben?

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.

Und wie kann man nun zwei Strings inhaltlich vergleichen?

Dies kann nur mit Hilfe von Objekt-Methoden erreicht werden. Dazu muss

man sich die API-Dokumentation der Klasse String ansehen (oder einfach

weiterlesen).

Ergänze folgende Zusammenfassung:

  • Referenzen können auch durch

    von einer Referenzvariablen in eine andere Referenzvariable kopiert werden.

  • Danach haben beide Variablen

    Referenz gespeichert.

  • Anders ausgedrückt verweisen beide Referenzvariablen auf

    Speicher-Ort.

  • In diesem Fall liefert ein Vergleich mit == das Ergebnis

View this question

Want instant access to all verified answers on elearning.tgm.ac.at?

Get Unlimited Answers To Exam Questions - Install Crowdly Extension Now!