Java Programmierung 1 WS 2024/2025
44 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Welches der folgenden ist kein Ziel von Java?

  • Einfach
  • Sicher
  • Verteilt
  • Objektorientiert
  • Komplex (correct)
  • Welche der folgenden Komponenten ist nicht direkt an der Erstellung eines Programms beteiligt?

  • Linker
  • Debugger (correct)
  • Loader
  • Editor
  • Compiler
  • Java-Programme werden als Text in Dateien eingegeben.

    True

    Ordnen Sie die folgenden Java-Schlüsselwörter ihren jeweiligen Kategorien zu.

    <p>class = Klasse if = Selektion while = Schleife break = Schleife return = Methode static = Methode final = Konstante</p> Signup and view all the answers

    Welche der folgenden Aussagen über Konstanten in Java ist falsch?

    <p>Konstanten können nach der Initialisierung geändert werden.</p> Signup and view all the answers

    Welches der folgenden ist kein primitiver Datentyp in Java?

    <p>String</p> Signup and view all the answers

    Was ist eine Wertzuweisung?

    <p>Eine Wertzuweisung ist die Zuweisung eines Werts an eine Variable.</p> Signup and view all the answers

    Welcher Operator dient in Java zur Stringaddition?

    <ul> <li></li> </ul> Signup and view all the answers

    Welcher Operator ist ein unärer Operator in Java?

    <p>++</p> Signup and view all the answers

    Der Typ char kann in Java Vorzeichen haben.

    <p>False</p> Signup and view all the answers

    Was ist der Unterschied zwischen der charAt und der substring Methode in Java?

    <p>Die <code>charAt</code> Methode gibt ein einzelnes Zeichen an einer bestimmten Position in einem String zurück, während die <code>substring</code> Methode eine neue Zeichenkette aus einem Teil des ursprünglichen Strings extrahiert.</p> Signup and view all the answers

    Welche der folgenden Aussagen über die switch-Anweisung in Java ist falsch?

    <p>Die <code>case</code>-Anweisung kann eine Bereichsangabe enthalten.</p> Signup and view all the answers

    Die for-Schleife in Java ist eine annehmende Schleife.

    <p>False</p> Signup and view all the answers

    Welche der folgenden Aussagen über die do-while-Schleife in Java ist richtig?

    <p>Der Schleifenrumpf wird mindestens einmal ausgeführt, unabhängig von der Schleifenbedingung.</p> Signup and view all the answers

    Welches der folgenden ist kein gültiges Konzept in der Objektorientierung?

    <p>Rekursion</p> Signup and view all the answers

    Was versteht man unter Kapselung in der Objektorientierung?

    <p>Kapselung bedeutet, dass die Attribute eines Objekts vor direktem Zugriff von außerhalb geschützt werden, die Manipulation erfolgt nur über die Methoden des Objekts.</p> Signup and view all the answers

    Welches der folgenden Schlüsselwörter dient nicht zur Steuerung der Sichtbarkeit von Klassenmitgliedern in Java?

    <p>final</p> Signup and view all the answers

    Statische Methoden können nur von Instanzen einer Klasse aufgerufen werden.

    <p>False</p> Signup and view all the answers

    Welche der folgenden Aussagen über Konstruktoren in Java ist richtig?

    <p>Konstruktoren haben immer den gleichen Namen wie die Klasse.</p> Signup and view all the answers

    Wofür dient das Schlüsselwort this in Java?

    <p>Das Schlüsselwort <code>this</code> verweist innerhalb einer Methode oder eines Konstruktors auf das aktuelle Objekt.</p> Signup and view all the answers

    Ein Objekt einer Unterklasse kann alle Methoden und Attribute der Oberklasse nutzen.

    <p>True</p> Signup and view all the answers

    Welche der beiden Methoden ist für die späte Bindung verantwortlich?

    <p>clone()</p> Signup and view all the answers

    Was ist der Hauptunterschied zwischen einer flachen und einer tiefen Kopie in Java?

    <p>Eine <code>flache</code> Kopie kopiert nur Referenzen, während eine <code>tiefe</code> Kopie den Inhalt der referenzierten Objekte kopiert.</p> Signup and view all the answers

    Ein Interface in Java kann mehrere andere Interfaces erben.

    <p>True</p> Signup and view all the answers

    Beschreiben Sie die Verwendung von abstract Schlüsselwort in Java.

    <p>Das <code>abstract</code> Schlüsselwort wird verwendet, um abstrakte Klassen und Methoden zu deklarieren. Abstrakte Klassen können nicht instanziiert werden, und abstrakte Methoden müssen in Unterklassen implementiert werden.</p> Signup and view all the answers

    Die Klasse Scanner in Java ermöglicht das Einlesen von Daten von der Tastatur.

    <p>True</p> Signup and view all the answers

    Was sind die Vorteile der Verwendung von Paketen in Java?

    <p>Pakete ermöglichen eine bessere Strukturierung von Code, fördern die Wiederverwendbarkeit und reduzieren Namenskonflikte.</p> Signup and view all the answers

    Welche der folgenden Aussagen über die garbage collection in Java ist richtig?

    <p>Die <code>garbage collection</code> ist ein Mechanismus, der nicht verfügbaren Speicherplatz freigibt.</p> Signup and view all the answers

    Exceptions in Java müssen immer abgefangen werden, um ein Absturz des Programms zu vermeiden.

    <p>False</p> Signup and view all the answers

    Ordnen Sie die folgenden Arten von Exceptions ihren jeweiligen Kategorien zu.

    <p>ArithmeticException = Kontrollierte Ausnahme RuntimeException = Unkontrollierte Ausnahme Error = Unkontrollierte Ausnahme</p> Signup and view all the answers

    Wie können Exceptions in Java behandelt werden?

    <p>Exceptions in Java können mit Hilfe von <code>try-catch</code> Blöcken abgefangen und behandelt werden. Der <code>try</code>-Block enthält den Code, der möglicherweise eine Ausnahme auslösen könnte, während der <code>catch</code>-Block den Fehler behandelt.</p> Signup and view all the answers

    Welche der folgenden Aussagen über das Schlüsselwort throws in Java ist falsch?

    <p>Das Schlüsselwort <code>throws</code> wird verwendet, um die Exception zu behandeln.</p> Signup and view all the answers

    Vererbung in Java ermöglicht es, dass Unterklassen Attribute und Methoden der Oberklasse überschreiben.

    <p>True</p> Signup and view all the answers

    Welches der folgenden Schlüsselwörter wird in Java verwendet, um eine Klasse als abstrakte Klasse zu deklarieren?

    <p>abstract</p> Signup and view all the answers

    Ein Interface in Java kann Methoden mit Implementierung enthalten.

    <p>False</p> Signup and view all the answers

    Was ist der Unterschied zwischen einer abstrakten Klasse und einer Schnittstelle in Java?

    <p>Eine abstrakte Klasse kann sowohl abstrakte als auch konkrete Methoden und Attribute enthalten, während eine Schnittstelle nur abstrakte Methoden und Konstanten definiert.</p> Signup and view all the answers

    Welches der folgenden Schlüsselwörter wird in Java verwendet, um eine Klasse als Schnittstelle zu deklarieren?

    <p>interface</p> Signup and view all the answers

    Eine Klasse in Java kann mehrere Interfaces implementieren.

    <p>True</p> Signup and view all the answers

    Was ist der Zweck des clone() -Methods in Java?

    <p>Die <code>clone()</code> -Methode ermöglicht es, eine Kopie eines Objekts zu erstellen.</p> Signup and view all the answers

    Welche der folgenden Aussagen über Klonen in Java ist richtig?

    <p>Um ein Objekt zu klonen, muss die Klasse das Interface <code>Cloneable</code> implementieren.</p> Signup and view all the answers

    Welcher Algorithmus ist am effizientesten für die Suche nach einem Element in einem sortierten Array?

    <p>Binäre Suche</p> Signup and view all the answers

    Rekursive Algorithmen werden in Java mit Hilfe von Schleifen implementiert.

    <p>False</p> Signup and view all the answers

    Was ist der Unterschied zwischen einem iterativen und einem rekursiven Algorithmus?

    <p>Ein <code>iterativer</code> Algorithmus verwendet Schleifen, um Aufgaben wiederholt auszuführen, während ein <code>rekursive</code> Algorithmus sich selbst aufruft, um eine Aufgabe zu lösen.</p> Signup and view all the answers

    Welcher der folgenden Sortieralgorithmen hat typischerweise einen Zeitaufwand von O(n log n)?

    <p>Mergesort</p> Signup and view all the answers

    Study Notes

    Allgemeines

    • Java ist eine objektorientierte Programmiersprache.
    • Sie wird verwendet, um Softwareanwendungen zu erstellen.
    • Java ist plattformunabhängig.

    Java Programmierung 1 WS 2024/2025

    • Das Modul Java Programmierung 1 wird von Professor Dr. Rainer Lütticke und Professorin Dr. Katrin Brabender unterrichtet.
    • Die Vorlesung umfasst Themen wie Softwareerstellung, Datentypen, Kontrollstrukturen, Arrays, Objektorientierung, UML, Exception-Handling, Vererbung, Polymorphie, Typkonvertierung von Referenzen, Algorithmen, rekursive Algorithmen, Kommentare, und die Erstellung von Java-Programmen.
    • Lehrmaterial stammt von Brabender, K. (Grundlagen der Informatik), Andreas de Vries und Volker Weiß (Grundlagen der Programmierung) und Christian Ullenboom (Java ist auch eine Insel).
    • Zu den Online-Ressourcen gehören Ullenboom, Java ist auch eine Insel, sowie Java Tutorial von Oracle und das interaktive Java-Tutorial (Einführung in die Informatik mit Java).

    Erstellung von Software – Anwendungsprogrammierung

    • Ein Programm ist eine Folge von Befehlen oder Anweisungen für einen Computer, um ein Problem automatisiert zu lösen.
    • Zur Erstellung eines Programms sind Editor, Compiler, Linker und Loader wichtig.
    • Der Editor erzeugt lesbare Textdateien in der Programmiersprache (Quellcode).
    • Übersetzung des Quellcodes in die Maschinensprache des Computers (Compiler und Interpreter).
    • Interpreter übersetzt eine einzige Anweisung und führt sie sofort aus.
    • Compiler übersetzt den gesamten Programmcode und speichert ihn als Objektcode.

    Hilfsmittel zur Softwareentwicklung

    • Debugger sind Systeme zur Identifizierung von logischen und Laufzeitfehlern in Programmen und unterstützen die Steuerung/Kontrolle der Programmausführung.

    IDE (Integrated Development Environment)

    • Eine Entwicklungsumgebung, die sämtliche Schritte der Programmentwicklung vereinfacht und auf einer gemeinsamen Oberfläche abbildet.
    • Sie vereinfacht die Komplexität der Softwareentwicklung und bietet eine graphische Oberfläche.

    Kurze Einführung in die Geschichte von Java

    • Java wurde 1991 von Sun Microsystems entwickelt (jetzt von Oracle übernommen).
    • Das Ziel war eine Programmiersprache zur Steuerung von Haushaltsgeräten.
    • 1995 fand der Durchbruch von Java durch Netscape Navigator 2.0.
    • Java-Programme werden als Text in Dateien mit der Endung .java gespeichert.

    Ziele von Java

    • Einfachheit, objektorientiert, verteil, robust, sicher, plattformunabhängig, portierbar, leistungsfähig, interpretierbar, parallelisierbar und dynamisch.

    Das Arbeitsprinzip von Java

    • Der Java-Quellcode (.java) wird vom Compiler (javac) in Bytecode (.class) übersetzt.
    • Der Bytecode wird von der Java Virtual Machine (JVM) ausgeführt.
    • Die JVM verwaltet die Ausführung des Programms.

    Die Voraussetzung für das Arbeiten mit Java

    • Java Development Kit (JDK): Enthält die JVM, den Compiler (javac) und weitere Werkzeuge.
    • Java Runtime Environment (JRE): Die Laufzeitumgebung für Java-Programme.

    Erstellung von Java-Programmen

    • Applikationen (Anwendungen): Unabhängige Programme, benötigen nur die JVM zur Ausführung.
    • Java Programme werden als Text in Dateien gespeichert.
    • Texteditoren oder IDEs zur Erstellung der Programme.

    Grundbestandteile eines Java-Programms

    • Jedes Java-Programm besteht mindestens aus einer Klasse.
    • Klassen sind in geschweiften Klammern ({}).
    • Der Startpunkt ist die Methode main.
    • Die Applikation „Willkommen.java“ zeigt die Ausgabe eines Textes.

    Kommentare

    • Kommentare dienen zur Dokumentation und Verbesserung der Lesbarkeit.
    • Einzeilige Kommentare beginnen mit //.
    • Mehrzeilige Kommentare beginnen mit /* und enden mit */.
    • Dokumentationskommentare beginnen mit /** und enden mit */.

    Die Klassendeklaration

    • Das Schlüsselwort class eröffnen die Klassendeklaration in Java.
    • Reservierte Wörter werden von Java belegt (nur Kleinbuchstaben).
    • Der Klassenname ist ein Bezeichner (Identifier).
    • Ein Identifier ist eine Folge von alphanumerischen Zeichen, Unterstrichen und Dollarzeichen.
    • Java ist case sensitive (Groß- und Kleinschreibung wird unterschieden).

    Merkregel für das Erstellen einfacher Applikationen

    • Klassennamen beginnen mit einem Großbuchstaben.

    Blöcke

    • Die Deklaration einer Klasse ist in Blöcke unterteilt, die von geschweiften Klammern eingeschlossen sind.

    Der Programmstart: Die Methode main

    • Die Methode main ist der Einstiegspunkt für Java-Programme.
    • Sie wird automatisch vom Java-Interpreter aufgerufen.
    • Die main-Methode hat immer die Signatur public static void main (String[] args).

    Implizite Typumwandlung bei kleinen ganzzahligen Datentypen

    • Werte der Datentypen byte und short werden bei Rechenoperationen automatisch in int umgewandelt.
    • Ist ein Operand vom Datentyp long, werden alle Operanden auf long gesetzt.

    Explizite Typanpassung

    • Bei der Konvertierung von grösseren Ganzzahltypen in kleinere können obere Bits abgeschnitten werden.
    • Bei der Umwandlung von Gleitpunktzahlen in Ganzzahlen kann es zu einem Verlust der Genauigkeit kommen.

    Typumwandlungen bei elementaren Datentypen

    • Automatisch oder explizit durch den cast-Operator.

    Datentypen

    • Variablen sind Speicherplätze, die Werte verschiedener Datentypen aufnehmen können.
    • Datentypen für ganzzahlige Werte (byte, short, int, long): mit Vorzeichen sowie für Gleitkommazahlen (float, double).
    • Datentypen für Boolesche Werte (boolean) und Unicode-Zeichen(char).

    Zahlensysteme

    • Zur Basis 2, 5, 7, 8, 10, 16. Zur Darstellung von Zahlen in verschiedenen Zahlensystemen.

    Darstellung reeller Zahlen im Rechner

    • Gleitkommadarstellung in Java.

    Wertzuweisungen/Zuweisungen

    • Die Zuweisungsoperatoren verwenden das Gleichheitszeichen (=), um Variablen Werte zuzuweisen.

    Spezielle arithmetische Operatoren

    • Kurzschreibweise für Zuweisungen plus arithmetische Operationen.

    Operatoren

    • Grundrechenoperationen.

    Inkrementoperator ++ und Dekrementoperator --

    • Inkrementoperator erhöht den Wert eines Operanden um 1, entweder vor oder nach einer Verwendung.
    • Dekrementoperator verringert den Wert eines Operanden um 1, entweder vor oder nach einer Verwendung.

    Kontrollstrukturen

    • Sequenz: Lineare Abfolge von Anweisungen.
    • Auswahl (Selektion): Bedingte Ausführung von Anweisungen basierend auf einer Bedingung.
    • Mehrfachwahl (switch): Auswahl unter mehreren Möglichkeiten.
    • Wiederholung (Schleife): Wiederholte Ausführung von Anweisungen.

    Rekursive Algorithmen

    • Algorithmen, die sich selbst aufrufen.

    Suchalgorithmen

    • Lineare Suche (Reihenfolge).
    • Binäre Suche (auf sortierten Daten).

    Austieg aus Schleifen

    • break beendet eine Schleife.
    • continue überspringt den Rest des aktuellen Schleifendurchgangs.

    Pakete in Java

    • Strukturierung in Kategorien.
    • Namen enthalten package meinPaket.ausgabe.

    Klassen vs. Instanzmethoden

    • Klassenmethoden sind für die gesamte Klasse anwendbar, Instanzmethoden für ein einzelnes Objekt.
    • Klassenmethoden: static (z.B. Math.sqrt())
    • Instanzmethoden: nicht static (z.B. String.length()).

    Attribute, Methoden, Variablen

    • Attribute: Datenelemente einer Klasse.
    • Methoden: Funktionen einer Klasse.
    • Lokale Variablen: Variablen innerhalb einer Methode.
    • Instanzvariablen: Variablen innerhalb eines Objekts.
    • Klassenvariable: Variable innerhalb einer Klasse.

    Garbage Collection

    • Automatisierte Speicherbereinigung in Java.

    Ausnahmen/Exceptions

    • Ausnahmen in Java: Fehlermeldungen während der Ausführung.
    • try-catch-finally: Fehlerbehandlung in Java-Code.
    • throw: Auslösen einer Exception.

    Vererbung

    • Vererbung: Wiederverwendung und Erweiterung bestehender Klassen.
    • Superklasse: Allgemeine Klasse.
    • Subklasse: Abgeleitete Klasse.
    • this und super: Verweisen auf das aktuelle Objekt und die Superklasse.

    Abstrakte Klassen und Interfaces

    • Abstrakte Klassen: Können nicht instanziiert werden, aber Methoden definieren.
    • Interfaces: Enthalten nur Methodensignaturen, aber keine Implementierung.

    Klonen von Objekten

    • Kopieren von Objekten.
    • Flache Kopie: Nur Referenzen werden kopiert.
    • Tiefe Kopie: Inhalte der Objekte werden kopiert.

    Methodenüberladen

    • Methoden mit gleichem Namen, aber unterschiedlicher Parameterliste oder Datentypen.

    Zeichenketten

    • Strings in Java: Strings (.String), StringBuffer, Scanner etc.

    Weitere String Method

    • substring, charAt, equals, compareTo, contains, replace
    • split, trim, toUpperCase, toLowerCase.
    • valueOf.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    Description

    Dieses Quiz behandelt die Grundlagen der Java-Programmierung, einschließlich Datentypen, Kontrollstrukturen und objektorientierter Programmierung. Es basiert auf dem Modul, das von Professor Dr. Rainer Lütticke und Professorin Dr. Katrin Brabender unterrichtet wird. Testen Sie Ihr Wissen über die Themen der Vorlesung und die empfohlenen Lehrmaterialien.

    Use Quizgecko on...
    Browser
    Browser