Berner Fachhochschule BFH Technik und Informatik TI Einführung in die Programmierung P. Fierz Kurztest 2 vom 14.10.2011 Name: ...................................................................... Zeit: Hilfsmittel: Maximale Anzahl Punkte: Achtung: Anzahl Punkte: ......... 25 Minuten keine 20 bei Aufgaben die mit (**) markiert sind, können mehere Antworten richtig sein. Aufgabe 1: Wie nennt man eine Menge von Werten mit einer Menge von Operationen, die auf diesen Werten ausgeführt werden können? 2 Konstante 2 Zahl 2 Wert Typ Aufgabe 2: Welche der folgenden Schreibweisen für eine double Konstante ist in Java legal? 2 1.2x10ˆ 4 1e-4 2 3 1/2 2 7,2e5 Aufgabe 3: Wie nennt man eine Stelle im Speicher, die einen Namen einen Datentyp und einen Inhalt hat? 2 Identifier 2 Literal 2 Label Variable Aufgabe 4: Welcher Begriff wird verwendet, um den Namen einer Variablen, einer Methode oder einer Klasse zu beschreiben? Identifier 2 Typ 2 Label 2 Name 1 Berner Fachhochschule BFH Technik und Informatik TI Einführung in die Programmierung P. Fierz (**) Aufgabe 5: Welche Aussagen über Identifiers sind korrekt? 2 Gross-und Kleinschreibung spielt keine Rolle. Identifiers können das Symbol $ enthalten. 2 Identifiers können Symbole wie ? oder % enthalten. 2 Identifiers müssen mit einem Gross-oder Kleinbuchstaben beginnen. Identifiers dürfen Ziffern, Buchstaben und _ enthalten. 2 Identifiers können mit einer Ziffer beginnen. Aufgabe 6: Was ist die beste Wahl (in Java) für den Namen einer Variable, die ein Geburtsdatum speichert? 2 gd 2 Geburtsdatum geburtsDatum 2 geburtsdatum (**) Aufgabe 7: Welche der folgenden Code-Fragmente verursacht einen Compilerfehler? 2 int greeting = "hello, Peter".length(); String greeting = "hello, Dave".length(); 2 String greeting = "hello, John"; String greeting = "hello, John"; int greeting = "hello, John".lenght(); int luckyNumber; System.out.println(luckyNumber); Aufgabe 8: Was ist in der Sprache Java ein Objekt? 2 Eine Sequenz von Instruktionen 2 Irgend ein Wert, das in einer Variablen gespeichert ist. 2 Eine Input Methode Eine Entität des Programms, dass durch das Aufrufen von Methoden manipuliert wird. Aufgabe 9: Was ist der Typ eines Objekts? eine Klasse 2 ein primitiver Typ 2 ein Zeiger auf eine Speicheradresse 2 eine Methode 2 Berner Fachhochschule BFH Technik und Informatik TI Einführung in die Programmierung P. Fierz (**) Aufgabe 10: Welche der folgenden Aussagen über Methoden ist richtig? 2 Eine Methode verändert die Instanzvariablen des Objekets immer. Eine Methode kann die Instanzvariablen des Objektes lesen. Eine Methode kann einen Rückgabewert haben. 2 Der Name einer Methode ist über die ganze Klasse eindeutig. 2 Der Rückgabewert einer Methode gehört nicht zur Signatur der Methode. 2 Eine Methode kann mehrere implizite Parameter besitzen Es gibt Methoden ohne impliziten Parameter. Aufgabe 11: Was ist der Rückgabewert des Operators new? 2 ein int 2 ein Objekt Die Memoryadresse eines Objekts 2 eine Klasse Aufgabe 12: Betrachten Sie die folgende Klasse: public class Player { private String playerName; public void Player(String playerName) { this.playerName = playerName; } } Welche der folgenden Aussagen ist richtig? 2 Der Compiler erzeugt einen Syntaxfehler 2 public void Player(String playerName) ist ein Konstruktor 2 Beim Benutzen der Klasse gibt es einen Laufzeitfehler public void Player(String playerName) ist eine Methode (**) Aufgabe 13: Welche der folgenden Aussagen über Konstruktoren ist wahr? 2 Konstruktoren haben einen boolschen (true/false) Rückgabewert. Eine Klasse muss nicht unbedingt einen Konstruktor zur Verfügung stellen. 2 In einer Klasse gibt es höchstens einen Konstruktor 2 Ein Konstruktor muss alle Instanzvariablen initialisieren. Sonst gibt es einen Syntaxfehler. Ein Konstruktor kann auch private sein. 2 Der Name eines Konstruktors spielt keine Rolle. 3 Berner Fachhochschule BFH Technik und Informatik TI Einführung in die Programmierung P. Fierz (**) Aufgabe 14: Welche der folgenden Aussage ist korrekt? Lokale Variablen existieren nur bis zum Ende des Methodenaufrufs. 2 Nur die Konstruktoren der Klasse können auf private Instanzvariablen zugreifen. private Instanzvariablen werden erst zerstört, wenn keine Referenz mehr auf das Objekt existiert. 2 Lokale Variablen sind immer automatisch initialisiert 2 Alle Objektmethoden können auf einer lokalen Variablen zugreifen. Die Objektmethoden können auf private Instanzvariablen zugreifen. Aufgabe 15: Wie wird der Prozess genannt, der die Objektdaten versteckt dafür Methoden zur Manipulation dieser Daten zur Verfügung stellt? 2 Dokumentation Encapsulation 2 Instantiation 2 Abstraktion Aufgabe 16: Die private Implementation einer Klasse besteht aus: 2 Instanzvariablen und Signatur der Methoden. 2 Lokale Variablen und Signatur der Methoden. Instanzvariablen und Implementation der Konstruktoren und Methoden. 2 Parameter Variablen Lokale Variablen und der Rumpf der Methoden. Aufgabe 17: Wählen Sie die Signatur, die zum folgenden Methodenkommentar passt /** * Raises the salary of the employee * @param percentRaise salary percentage raise **/ 2 public void raiseSalary(double percent) 2 public double raiseSalary(double percent) 2 public double raiseSalary(double percentRaise) public void raiseSalary(double percentRaise) 4 Berner Fachhochschule BFH Technik und Informatik TI Einführung in die Programmierung P. Fierz Aufgabe 18: Was ist das Resultat des folgenden Codes? int num1 = 6; int num2 = num1; num2 = num2 + 10; System.out.println(num1); 2 16 2 10 6 2 8 Aufgabe 19: Wie wird überprüft, ob eine Klasse korrekt arbeitet, ohne dass dazu ein ganzes Programm geschrieben wird? mit einem Unit Test 2 Mit Hilfe der Encapsulation 2 Mit Hilfe der Abstraction 2 Mit Hilfe von Javadoc (**) Aufgabe 20: Welche der folgenden Aussagen über Datenkapselung (Information hiding) ist wahr? 2 Das Ändern der Methodensignaturen ist sehr einfach. Die private Implementation kann jederzeit geändert werden. 2 Der Name der Klasse kann einfach geändert werden. 2 Die Laufzeit des Programms wird verkürzt. 2 Es ist nicht notwendig das Interface der Klasse zu beschreiben. Die Fehlersuche wird vereinfacht, weil die Verantwortungen zwischen Klasse und Benutzer der Klasse klar geregelt sind. 5