Previous Page TOC Index See Page

Anhang A

Antworten auf die Quiz-Fragen

Dieser Anhang enthält die Antworten auf die Quiz-Fragen aus den einzelnen Kapiteln. Beachten Sie, daß es in Kapitel 1 kein Quiz gab.

Kapitel 2, Java-Grundlagen

a. Booleschen Variablen können numerische Werte zugewiesen werden.

Antwort Falsch. In Java können Booleschen Variablen keine numerischen Werte zugewiesen werden. Sie können nur die Werte true oder false annehmen.

b. Der Additionsoperator hat eine höhere Priorität als der Multiplikationsoperator.

Antwort Falsch. Der Additionsoperator hat keine höhere Priorität als der Multiplikationsoperator. Verwechseln Sie in Tabelle 2.6 für die Operatorprioritäten nicht die unären Plus- und Minusoperatoren mit binären Infix-Additions- und Subtraktionsoperatoren.

c. Die Elemente eines Arrays können unterschiedliche Datentypen haben.

Antwort Falsch. Die Elemente eines Arrays müssen gleiche Datentypen haben.

d. Eine if-else-Bedingung kann einen Integer oder einen Booleschen Wert zurückgeben.

Antwort Falsch. Eine if-else-Bedingung kann nur einen Booleschen Wert zurückgeben.

e. Solange Sie den resultierenden Wert in einen int umwandeln können, können Sie in der Bedingung einer switch-Anweisung einen Ausdruck verwenden.

Antwort Richtig. Solange Sie den resultierenden Wert in einen int umwandeln können, können Sie einen Ausdruckt in der Bedingung einer switch-Anweisung verwenden.

Antwort Anweisungen werden durch geschweifte Klammern ({}) als Gruppe gekennzeichnet.

Antwort Indizes beginnen in Java mit 0.

int scores[] = new int[10];
int a = 3;
int b = 5;
scores[a-b];

Antwort Er wirft zur Laufzeit eine NegativeArraySizeException auf, weil der Integerausdruck im Index -2 ergibt, was keinen gültigen Wert darstellt.

char chArr[] = { 'I', 'n', 't', 'e', 'r', 'n', 'e', 't' };
String wwwStr = new String(chArr);
int wwwStrLength = wwwStr.length();

Antwort 8, weil wwwStr der Wert von chArr zugewiesen wird, der acht Zeichen umfaßt.

String firstStr = "Hier bin ich!"
String secondStr = "Nein, hier bin ich!!"
String thirdStr = "Hier bin ich!"

Antwort Er erzeugt nur zwei Strings im Speicher. Zuerst wird ein String mit dem Inhalt »Hier bin ich!« erzeugt, und ein zweiter mit dem String »Nein, hier bin ich!!«. Aufgrund der String-Optimierung von Java zeigen firstStr und thirdStr auf denselben String-Wert im Speicher.

Antwort Weil Sie die Variable in einem Anweisungsblock deklariert haben, ist sie nur im lokalen Gültigkeitsbereich des Blocks definiert. Nachdem der Block die Ausführung beendet hat, ist der Wert der Variablen undefiniert (sie existiert nicht mehr).

for (i = 0; i <= 100; i += 15);
System.out.println("Hidey, hidey, hidey, ho!");

Antwort Sie wird siebenmal durchlaufen, gibt aber nichts aus. Nachdem die for-Schleife die achte Auswertung beendet hat, wird die println-Anweisung ausgeführt.

Antwort Wenn Sie den Rumpf einer Schleife ausführen wollen und dann erneut, bis eine bestimmte Bedingung true ist, sollten Sie eine do-while-Schleife verwenden.

Kapitel 3, Noch mehr Java

Antwort Sie sollten vermeiden, zu viele angepaßte Klassen in Ihren Applets zu verwenden, weil sie von diesen angepaßten Klassen abhängig sind, auf die die Anwender, die Ihre Applets herunterladen, wahrscheinlich keinen Zugriff haben. Damit Ihre Applets garantiert in jedem Java-fähigen Browser ausgeführt werden, sollten Sie bei den Standard-Bibliotheksklassen bleiben.

Antwort Wenn Sie keine Oberklasse spezifizieren, erbt Ihre Klasse standardmäßig von Object.

Antwort Falsch. Java unterstützt keine Mehrfachvererbung, sondern nur Einfachvererbung. Das bedeutet, eine Unterklasse kann nur eine Oberklasse haben.

boolean aBoolean = true;
Boolean boolObject = new Boolean(aBoolean);

Antwort Die erste Codezeile initialisiert eine einfache Boolesche Variable namens aBoolean mit dem Wert true. Die zweite Codezeile instantiiert das Boolesche Objekt boolObj und weist ihr den aktuellen Wert von aBoolean zu, true.