دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: [1 ed.]
نویسندگان: Elisabeth Jung
سری: mitp Professional
ISBN (شابک) : 3747504493, 9783747504499
ناشر: mitp
سال نشر: 2021
تعداد صفحات: 544
[520]
زبان: German
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 2 Mb
در صورت تبدیل فایل کتاب Java Übungsbuch: Aufgaben mit vollständigen Lösungen für die Versionen Java 8 bis Java 17 به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب کتاب تمرین جاوا: تمرین هایی با راه حل های کامل برای نسخه های جاوا 8 تا جاوا 17 نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
این کتاب یک کتاب درسی نیست، بلکه یک کتاب تمرین خالص است و هدف آن خوانندگانی است که می خواهند دانش جاوا خود را از طریق تمرین های عملی متعدد از طریق "یادگیری از طریق انجام" بهبود بخشند. تعمیق و تحکیم. برای آماده شدن برای امتحانات یا تمرین برنامه نویسی جاوا به صورت عملی ایده آل است.
هر فصل با خلاصه ای مختصر از مطالب استفاده شده در تمرینات آن فصل آغاز می شود. سپس شما این فرصت را دارید که بین کارها در سه سطح مختلف دشواری - از آسان به دشوار، یکی را انتخاب کنید. این کارها یک آزمون عملی از دانش شماست. در پایان فصل ها، نمونه راه حل های کامل و نظر داده شده را خواهید یافت.
موضوعات زیر پوشش داده شده است:
فصل های 1 تا 3 شامل وظایفی برای شیء هستند. برنامه نویسی گرا با جاوا .
فصل 4 به طور مفصل به ژنریک ها و چارچوب مجموعه، کلاس ها و رابط های عمومی آن و تعریف شمارش می پردازد. فصل 5 مدیریت استثنا را توضیح می دهد.
فصل 6 به عناصر زبان جدید جاوا 8، لامبداها و جریان ها می پردازد. فصل 7 بینشی در مورد ماژولارسازی پلت فرم جاوا پیاده سازی شده با جاوا 9 ارائه می دهد.
فصل 8 پیشرفت های بیشتر از نسخه های 14 تا 17 جاوا را پوشش می دهد. اینها شامل معرفی رکوردها و کلاسهای مهر و موم شده و تطبیق الگو (هم برای نمونه عملگر و هم برای سوئیچ) است. فصل 9 شامل بسیاری از وظایف مربوط به تست کردن با JUnit 5 و Gradle و همچنین معرفی مختصری از هر دو سیستم است.
بعد از کار کردن با کتاب، دانش خوبی از برنامه نویسی و حجم زیادی از برنامه ها خواهید داشت. کد مثال.
از محتویات:
Dieses Buch ist kein Lehrbuch, sondern ein reines Übungsbuch und wendet sich an Leser, die ihre Java-Kenntnisse anhand zahlreicher praktischer Übungen durch »Learning by Doing« vertiefen und festigen möchten. Es ist ideal, um sich auf Prüfungen vorzubereiten oder das Programmieren mit Java praktisch zu üben.
Jedes Kapitel beginnt mit einer kompakten Zusammenfassung des Stoffs, der in den Übungsaufgaben dieses Kapitels verwendet wird. Anschließend haben Sie die Möglichkeit, zwischen Aufgaben in drei verschiedenen Schwierigkeitsstufen – von einfach bis anspruchsvoll – zu wählen. Anhand dieser Aufgaben können Sie Ihr Wissen praktisch testen. Am Ende der Kapitel finden Sie vollständige und kommentierte Musterlösungen.
Es werden folgende Themen abgedeckt:
Die Kapitel 1 bis 3 enthalten Aufgaben zur objektorientierten Programmierung mit Java.
In Kapitel 4 geht es im Detail um Generics und das Collection Framework, seine generischen Klassen und Interfaces sowie die Definition von Enumerationen. Kapitel 5 erläutert das Exception Handling.
Kapitel 6 beschäftigt sich mit den neuen Sprachmitteln von Java 8, Lambdas und Streams. Kapitel 7 bietet einen Einblick in die mit Java 9 vorgenommene Modularisierung der Java-Plattform.
In Kapitel 8 werden Weiterentwicklungen aus den Java-Versionen 14 bis 17 behandelt. Dazu gehören die Einführung von Records und Sealed Classes sowie das Pattern Matching (sowohl für den instanceof-Operator als auch für switch). Kapitel 9 enthält viele Aufgaben zu Tests mit JUnit 5 und Gradle sowie eine kurze Einführung in beide Systeme.
Nach dem Durcharbeiten des Buches verfügen Sie über fundierte Programmierkenntnisse und einen umfangreichen Fundus an Beispielcode.
Aus dem Inhalt:
Impressum Einleitung Vorkenntnisse Aufbau des Buches Benötigte Software Downloads Autorin Kapitel 1: Klassendefinition und Objektinstanziierung 1.1 Klassen und Objekte Aufgabe 1.1: Definition einer Klasse Aufgabe 1.2: Objekt (Instanz) einer Klasse erzeugen 1.2 Das Überladen von Methoden Aufgabe 1.3: Eine Methode überladen 1.3 Die Datenkapselung, ein Prinzip der objektorientierten Programmierung Aufgabe 1.4: Zugriffsmethoden 1.4 Das »aktuelle Objekt« und die »this-Referenz« Aufgabe 1.5: Konstruktordefinitionen 1.5 Die Wert- und Referenzübergabe in Methodenaufrufen Aufgabe 1.6: Wertübergabe in Methoden (»call by value«) 1.6 Globale und lokale Referenzen Aufgabe 1.7: Der Umgang mit Referenzen 1.7 Java-Pakete Aufgabe 1.8: Die package-Anweisung Aufgabe 1.9: Die import-Anweisung 1.8 Die Modifikatoren für Felder und Methoden in Zusammenhang mit der Definition von Paketen Aufgabe 1.10: Pakete und die Sichtbarkeit von Membern einer Klasse 1.9 Standard-Klassen von Java 1.10 Die Wrapper-Klassen von Java und das Auto(un)boxing Aufgabe 1.11: Das Auto(un)boxing 1.11 Das Paket java.lang.reflect 1.12 Arrays (Reihungen) und die Klassen Array und Arrays Aufgabe 1.12: Der Umgang mit Array-Objekten 1.13 Zeichenketten und die Klasse String Aufgabe 1.13: Der Umgang mit String-Objekten Aufgabe 1.14: Der Umgang mit Textblöcken 1.14 Sprachmerkmale, die in den weiteren Beispielen genutzt werden Aufgabe 1.15: Methoden mit variablen Argumentenlisten 1.15 Den Zugriff auf Klassen und Felder minimieren: Unveränderliche (immutable) Klassen und Objekte 1.16 Die alte und neue Date&Time-API als Beispiel für veränderliche und unveränderliche Klassen Aufgabe 1.16: Die Methoden von Date/Time-Klassen 1.17 Private Konstruktoren Aufgabe 1.17: Objekte mithilfe eines privaten Konstruktors erzeugen 1.18 Lösungen Lösung 1.1 Lösung 1.2 Lösung 1.3 Lösung 1.4 Lösung 1.5 Lösung 1.6 Lösung 1.7 Lösung 1.8 Lösung 1.9 Lösung 1.10 Lösung 1.11 Lösung 1.12 Lösung 1.13 Lösung 1.14 Lösung 1.15 Lösung 1.16 Lösung 1.17 Kapitel 2: Abgeleitete Klassen und Vererbung 2.1 Abgeleitete Klassen 2.2 Die Konstruktoren von abgeleiteten Klassen 2.3 Abgeleitete Klassen und die Sichtbarkeit von Feldern und Methoden Aufgabe 2.1: Test von Sichtbarkeitsebenen im Zusammenhang mit abgeleiteten Klassen 2.4 Das Verdecken von Klassenmethoden und das statische Binden von Methoden Aufgabe 2.2: Der Aufruf von verdeckten Klassenmethoden 2.5 Das Überschreiben von Instanzmethoden und das dynamische Binden von Methoden Aufgabe 2.3: Das dynamische Binden von Methoden 2.6 Vererbung und Komposition Aufgabe 2.4: Die Komposition Aufgabe 2.5: Die Vererbung 2.7 Kovariante Rückgabetypen in Methoden Aufgabe 2.6: Die Benutzung von kovarianten Rückgabetypen 2.8 Verdeckte Felder 2.9 Vergrößernde und verkleinernde Konvertierung (»up- und down-casting«) 2.10 Der Polymorphismus, ein Prinzip der objektorientierten Programmierung Aufgabe 2.7: Der »Subtyp-Polymorphismus« im Kontext einer Klassenhierarchie 2.11 Die Methoden der Klassen java.lang.Object und java.util.Objects Aufgabe 2.8: Die equals()- und hashCode()-Methoden von Object Aufgabe 2.9: Die equals()-Methode und die Vererbung 2.12 Das Klonen und die Gleichheit von geklonten Objekten Aufgabe 2.10: Das Klonen von Instanzen der eigenen Klasse Aufgabe 2.11: Das Klonen von Instanzen anderer Klassen Aufgabe 2.12: Das Klonen und der Copy-Konstruktor 2.13 Der Garbage Collector und das Beseitigen von Objekten 2.14 Lösungen Lösung 2.1 Lösung 2.2 Lösung 2.3 Lösung 2.4 Lösung 2.5 Lösung 2.6 Lösung 2.7 Lösung 2.8 Lösung 2.9 Lösung 2.10 Lösung 2.11 Lösung 2.12 Kapitel 3: Die Definition von abstrakten Klassen, Interfaces und Annotationen 3.1 Abstrakte Klassen 3.2 Abstrakte Java-Standard-Klassen und eigene Definitionen von abstrakten Klassen Aufgabe 3.1: Die abstrakte Klasse Number und ihre Unterklassen Aufgabe 3.2: Definition einer eigenen abstrakten Klasse 3.3 Interfaces (Schnittstellen) Aufgabe 3.3: Die Definition eines Interface 3.4 Die Entscheidung zwischen abstrakten Klassen und Interfaces Aufgabe 3.4: Paralleler Einsatz von Interfaces und abstrakten Klassen 3.5 Implementieren mehrerer Interfaces für eine Klasse Aufgabe 3.5: Das Ableiten von Interfaces 3.6 Die Definition von inneren Klassen Aufgabe 3.6: Ein Beispiel mit anonymer Klasse 3.7 Erweiterungen in der Definition von Interfaces Aufgabe 3.7: Private Interface-Methoden 3.8 Die Definition von Annotationen 3.9 Vordefinierte Annotationstypen Aufgabe 3.8: Annotationen an Methoden und Parameter von Methoden anheften Aufgabe 3.9: Eine Klasse annotieren Aufgabe 3.10: Die @Override- und @Inherited-Annotation 3.10 Lösungen Lösung 3.1 Lösung 3.2 Lösung 3.3 Lösung 3.4 Lösung 3.5 Lösung 3.6 Lösung 3.7 Lösung 3.8 Lösung 3.9 Lösung 3.10 Kapitel 4: Generics 4.1 Die Generizität 4.2 Generische Klassen und Interfaces Aufgabe 4.1: Generischer Datentyp als Behälter für die Instanzen vom Typ des Klassenparameters Aufgabe 4.2: Generischer Datentyp als »Über-Typ« für die Instanzen vom Typ des Klassenparameters 4.3 Wildcardtypen Aufgabe 4.3: Ungebundene Wildcardtypen Aufgabe 4.4: Obere und untere Schranken für Wildcardtypen 4.4 Legacy Code, Erasure und Raw-Typen Aufgabe 4.5: Raw-Typen am Beispiel einer generischen Klasse mit zwei Typparametern Aufgabe 4.6: Brückenmethoden (»bridge methods«) 4.5 Generische Arrays Aufgabe 4.7: Erzeugen von generischen Arrays 4.6 Generische Methoden Aufgabe 4.8: Generische Methodendefinitionen 4.7 Generische Standard-Klassen und -Interfaces 4.8 for-each-Schleifen für Collections Aufgabe 4.9: Das Interface Listund die Klasse ArrayList Aufgabe 4.10: Das Interface Collection und die Klasse Vector Aufgabe 4.11: Das Interface Map und die Klasse TreeMap 4.9 Factory-Methoden in Collections Aufgabe 4.12: Factory-Methoden für List, Set und Map 4.10 Die Interfaces Enumeration<E>, Iterable und Iterator 4.11 Enumerationen und die generische Klasse Enum > Aufgabe 4.13: Die Definition von Enumerationen 4.12 Die Interfaces Comparable und Comparator und das Sortieren von Objekten Aufgabe 4.14: Das Comparable -Interface Aufgabe 4.15: Comparable versus Comparator 4.13 Typinferenz für Methoden 4.14 Typinferenz beim Erzeugen von Instanzen eines generischen Typs Aufgabe 4.16: Typinferenz beim Instanziieren von generischen Klassen Aufgabe 4.17: Der Diamond-Operator in Java 9 4.15 Lösungen Lösung 4.1 Lösung 4.2 Lösung 4.3 Lösung 4.4 Lösung 4.5 Lösung 4.6 Lösung 4.7 Lösung 4.8 Lösung 4.9 Lösung 4.10 Lösung 4.11 Lösung 4.12 Lösung 4.13 Lösung 4.14 Lösung 4.15 Lösung 4.16 Lösung 4.17 Kapitel 5: Exceptions und Errors 5.1 Ausnahmen auslösen 5.2 Ausnahmen abfangen oder weitergeben Aufgabe 5.1: Unbehandelte RuntimeExceptions Aufgabe 5.2: Behandelte RuntimeExceptions 5.3 Das Verwenden von finally in der Ausnahmebehandlung Aufgabe 5.3: Der finally-Block 5.4 Ausnahmen manuell auslösen 5.5 Exception-Unterklassen erzeugen Aufgabe 5.4: Benutzerdefinierte Ausnahmen manuell auslösen 5.6 Multi-catch-Klausel und verbesserte Typprüfung beim Rethrowing von Exceptions Aufgabe 5.5: Disjunction-Typ für Exceptions Aufgabe 5.6: Typprüfung beim Rethrowing von Exceptions 5.7 Lösungen Lösung 5.1 Lösung 5.2 Lösung 5.3 Lösung 5.4 Lösung 5.5 Lösung 5.6 Kapitel 6: Lambdas und Streams 6.1 Mittels anonymer Klassen Code an Methoden übergeben 6.2 Funktionale Interfaces 6.3 Syntax und Deklaration von Lambda-Ausdrücken Aufgabe 6.1: Lambda-Ausdruck ohne Parameter versus anonymer Klasse Aufgabe 6.2: Lambda-Ausdruck mit Parameter versus anonymer Klasse 6.4 Scoping und Variable Capture Aufgabe 6.3: Die Umgebung von Lambda-Ausdrücken 6.5 Methoden- und Konstruktor-Referenzen Aufgabe 6.4: Methoden-Referenzen in Zuweisungen Aufgabe 6.5: Konstruktor-Referenzen und die neuen funktionalen Interfaces Supplier und Function 6.6 Default- und statische Methoden in Interfaces 6.7 Das neue Interface Stream 6.8 Die forEach-Methoden von Iterator, Iterable und Stream Aufgabe 6.6: Die funktionalen Interfaces BiConsumer , BiPredicate und BiFunction Aufgabe 6.7: Die Methoden des Interface Stream und die Behandlung von Exceptions in Lambda-Ausdrücken 6.9 Das Interface Collector und die Klasse Collectors: Reduktion mittels Methoden von Streams und Kollektoren. Aufgabe 6.8: Weitere Methoden des Interface Stream: limit(), count(), max(), min(), skip(), reduce() und collect() Aufgabe 6.9: Das Interface Collector und die Klasse Collectors 6.10 Parallele Streams Aufgabe 6.10: Parallele Streams 6.11 Die map()- und flatMap()-Methoden von Stream und Optional Aufgabe 6.11: map() versus flatMap() 6.12 Spracherweiterungen mit Java 10, Java 11, Java 12 und Java 13 Aufgabe 6.12: Typinferenz für lokale Variablen in Java 10 und Java 11 Aufgabe 6.13: Switch-Statements und Switch-Expressions 6.13 Lösungen Lösung 6.1 Lösung 6.2 Lösung 6.3 Lösung 6.4 Lösung 6.5 Lösung 6.6 Lösung 6.7 Lösung 6.8 Lösung 6.9 Lösung 6.10 Lösung 6.11 Lösung 6.12 Lösung 6.13 Kapitel 7: Die Modularität von Java 7.1 Das Java-Modulsystem Aufgabe 7.1: Eine einfache Modul-Definition Aufgabe 7.2: Eine Applikation mit mehreren Modulen Aufgabe 7.3: Implizites Lesen von Modulen Aufgabe 7.4: Eine modulbasierte Service-Implementierung 7.2 Lösungen Lösung 7.1 Lösung 7.2 Lösung 7.3 Lösung 7.4 Kapitel 8: Records, Sealed Classes und Pattern Matching 8.1 Das Pattern Matching für den instanceof-Operator 8.2 Der neue Java-Typ Record 8.3 Sealed Classes in Java 8.4 Das Pattern Matching für switch Aufgabe 8.1: Die Definition von record-Klassen und das Pattern Matching für den instanceof-Operator Aufgabe 8.2: sealed-, final- und non-sealed-Klassen Aufgabe 8.3: sealed-Interfaces und das Pattern Matching Aufgabe 8.4: Algebraische Datentypen (ADTs), ein weiterer Schritt in Richtung funktionale Programmierung Aufgabe 8.5: Das Pattern Matching für switch 8.5 Lösungen Lösung 8.1 Lösung 8.2 Lösung 8.3 Kapitel 9: JUnit-Tests 9.1 JUnit 5 im Überblick 9.2 Tests schreiben 9.3 Testen mit dem ConsoleLauncher und der JupiterEngine Aufgabe 9.1: Die Klassen App und AppTest Aufgabe 9.2: Die Klasse PublishingBookmitOrderingTest Aufgabe 9.3: Die Klassen AdditionmitMap und AdditionmitMapTest Aufgabe 9.4: Die Klassen MyClassTest und BuchmitEqualsTest Aufgabe 9.5: Die Klasse TestBeispiele Aufgabe 9.6: Die Klassen RechenOperationenTest und RechenOperationenParametrisierteTests Aufgabe 9.7: Die Klasse AssertThrowsTest 9.4 JUnit-Tests mit Gradle 9.5 Lösungen Lösung 9.1 Lösung 9.3 Lösung 9.4 Lösung 9.5