Java

The Comprehensive Guide
Langbeschreibung
This is the up-to-date, practical guide to Java you've been looking for! Whether you're a beginner, you're switching to Java from another language, or you're just looking to brush up on your Java skills, this is the only book you need. You'll get a thorough grounding in the basics of the Java language, including classes, objects, arrays, strings, and exceptions. You'll also learn about more advanced topics: threads, algorithms, XML, JUnit testing, and much more. This book belongs on every Java programmer's shelf!
Hauptbeschreibung
Work with expressions, statements, classes, objects, and much more
Inhaltsverzeichnis
... Preface ... 31... Target Group ... 31... What This Book Is Not ... 31... My Life and Java, Or ¿Why a Java Book?¿ ... 32... Software and Versions ... 33... Which Java Version to Use ... 33... Using This Book to Learn ... 33... Personal Learning Strategies ... 34... Focusing on the Essentials ... 35... Special Sections ... 35... Tasks ... 36... Structure of This Book ... 36... Conventions ... 38... Program Listings ... 40... Application Programming Interface Documentation in This Book ... 40... Executable Programs ... 41... Acknowledgments ... 41... Resources for This Book ... 42... Feedback ... 421 ... Introduction ... 431.1 ... Historical Background ... 431.2 ... On the Popularity of Java: The Key Features ... 451.3 ... Java versus Other Languages* ... 561.4 ... Further Development and Losses ... 591.5 ... Java Platforms ... 621.6 ... Java Platform, Standard Edition, Implementations ... 671.7 ... Installing the Java Development Kit ... 691.8 ... Compiling and Testing the First Program ... 711.9 ... Development Environments ... 751.10 ... Further Reading ... 812 ... Imperative Language Concepts ... 832.1 ... Elements of the Java Programming Language ... 832.2 ... From Classes to Statements ... 912.3 ... Data Types, Typing, Variables, and Assignments ... 1022.4 ... Expressions, Operands, and Operators ... 1192.5 ... Conditional Statements or Case Distinctions ... 1422.6 ... Always the Same with Loops ... 1602.7 ... Methods of a Class ... 1772.8 ... Further Reading ... 2003 ... Classes and Objects ... 2013.1 ... Object-Oriented Programming ... 2013.2 ... Members of a Class ... 2033.3 ... Natural Modeling Using Unified Modeling Language* ... 2043.4 ... Creating New Objects ... 2063.5 ... ZZZZZnake ... 2183.6 ... Tying Packages, Imports, and Compilation Units ... 2203.7 ... Using References, Diversity, Identity, and Equality ... 2283.8 ... Further Reading ... 2394 ... Arrays and Their Areas of Use ... 2414.1 ... Simple Field Work ... 2414.2 ... The Extended for Loop ... 2524.3 ... A Method with a Variable Number of Arguments ... 2564.4 ... Multidimensional Arrays* ... 2594.5 ... Library Support for Arrays ... 2644.6 ... Using the Arrays Class for Comparing, Filling, Searching, and Sorting ... 2674.7 ... The Entry Point for the Runtime System: main(...) ... 2814.8 ... Further Reading ... 2855 ... Handling Characters and Strings ... 2875.1 ... From ASCII via ISO-8859-1 to Unicode ... 2875.2 ... Data Types for Characters and Strings ... 2955.3 ... The Character Class ... 2965.4 ... Strings ... 3015.5 ... The String Class and Its Methods ... 3035.6 ... Mutable Strings with StringBuilder and StringBuffer ... 3335.7 ... CharSequence as Base Type ... 3425.8 ... Converting Primitives and Strings ... 3455.9 ... Concatenating Strings ... 3535.10 ... Decomposing Strings ... 3555.11 ... Formatting Outputs ... 3605.12 ... Further Reading ... 3676 ... Writing Custom Classes ... 3696.1 ... Declaring Custom Classes with Members ... 3696.2 ... Privacy and Visibility ... 3806.3 ... One for All: Static Methods and Class Variables ... 3906.4 ... Constants and Enumerations ... 3976.5 ... Creating and Destroying Objects ... 4056.6 ... Class and Object Initialization* ... 4186.7 ... Conclusion ... 4267 ... Object-Oriented Relationship ... 4277.1 ... Associations between Objects ... 4277.2 ... Inheritance ... 4367.3 ... Types in Hierarchies ... 4477.4 ... Overriding Methods ... 4577.5 ... Testing Dynamic Bindings ... 4637.6 ... Final Classes and Final Methods ... 4667.7 ... Abstract Classes and Abstract Methods ... 4687.8 ... Further Information on Overriding and Dynamic Binding ... 4767.9 ... A Programming Task ... 4828 ... Interfaces, Enumerations, Sealed Classes, Records ... 4838.1 ... Interfaces ... 4838.2 ... Enumeration Types ... 5138.3 ... Sealed Classes and Interfaces ... 5238.4 ... Records ... 5299 ... There Must Be Exceptions ... 5399.1 ... Fencing In Problem Areas ... 5399.2 ... Redirecting Exceptions and throws at the Head of Methods/Constructors ... 5499.3 ... The Class Hierarchy of Exceptions ... 5509.4 ... Final Handling Using finally ... 5589.5 ... Triggering Custom Exceptions ... 5649.6 ... try with Resources (Automatic Resource Management) ... 5799.7 ... Special Features of Exception Handling* ... 5889.8 ... Hard Errors: Error* ... 5939.9 ... Assertions* ... 5949.10 ... Conclusion ... 59710 ... Nested Types ... 59910.1 ... Nested Classes, Interfaces, and Enumerations ... 59910.2 ... Static Nested Types ... 60110.3 ... Non-Static Nested Types ... 60310.4 ... Local Classes ... 60510.5 ... Anonymous Inner Classes ... 60710.6 ... Nests ... 61310.7 ... Conclusion ... 61411 ... Special Types of Java SE ... 61511.1 ... Object Is the Mother of All Classes ... 61611.2 ... Weak References and Cleaners ... 63811.3 ... The java.util.Objects Utility Class ... 63911.4 ... Comparing Objects and Establishing Order ... 64311.5 ... Wrapper Classes and Autoboxing ... 65111.6 ... Iterator, Iterable* ... 67011.7 ... Annotations in Java Platform, Standard Edition ... 67711.8 ... Further Reading ... 68212 ... Generics ... 68312.1 ... Introduction to Java Generics ... 68312.2 ... Implementing Generics, Type Erasure, and Raw Types ... 69912.3 ... Restricting Types via Bounds ... 70612.4 ... Type Parameters in the throws Clause* ... 71012.5 ... Inheritance and Invariance with Generics ... 71312.6 ... Consequences of Type Erasure: Type Tokens, Arrays* ... 72512.7 ... Further Reading ... 72913 ... Lambda Expressions and Functional Programming ... 73113.1 ... Functional Interfaces and Lambda Expressions ... 73113.2 ... Method References ... 75513.3 ... Constructor References ... 75913.4 ... Functional Programming ... 76213.5 ... Functional Interfaces from the java.util.function Package ... 77013.6 ... Optional Is Not a Non-Starter ... 78413.7 ... What Is So Functional Now? ... 79513.8 ... Further Reading ... 79714 ... Architecture, Design, and Applied Object Orientation ... 79914.1 ... SOLID Modeling ... 79914.2 ... Architecture, Design, and Implementation ... 80314.3 ... Design Patterns ... 80314.4 ... Further Reading ... 81115 ... Java Platform Module System ... 81315.1 ... Class Loader and Module/Classpath ... 81315.2 ... Importing Modules ... 81915.3 ... Developing Custom Modules ... 82515.4 ... Further Reading ... 83316 ... The Class Library ... 83516.1 ... The Java Class Philosophy ... 83516.2 ... Simple Time Measurement and Profiling* ... 84216.3 ... The Class Class ... 84316.4 ... The Utility Classes System and Members ... 84616.5 ... The Languages of Different Countries ... 85316.6 ... Overview of Important Date Classes ... 85716.7 ... Date-Time API ... 86016.8 ... Logging with Java ... 86416.9 ... Maven: Resolving Build Management and Dependencies ... 86716.10 ... Further Reading ... 86917 ... Introduction to Concurrent Programming ... 87117.1 ... Concurrency and Parallelism ... 87117.2 ... Generating Existing Threads and New Threads ... 87517.3 ... Thread Members and States ... 88217.4 ... Enter the Executor ... 89317.5 ... Further Reading ... 90718 ... Introduction to Data Structures and Algorithms ... 90918.1 ... Lists ... 90918.2 ... Sets ... 92818.3 ... Associative Memory ... 93818.4 ... The Stream API ... 94418.5 ... Creating a Stream ... 94718.6 ... Terminal Operations ... 95118.7 ... Intermediary Operations ... 96218.8 ... Further Reading ... 96819 ... Files and Data Streams ... 96919.1 ... Old and New Worlds in java.io and java.nio ... 96919.2 ... File Systems and Paths ... 97019.3 ... Random Access Files ... 98019.4 ... Base Classes for Input/Output ... 98519.5 ... Reading from Files and Writing to Files ... 99619.6 ... Further Reading ... 100320 ... Introduction to Database Management with JDBC ... 100520.1 ... Relational Databases and Java Access ... 100520.2 ... A Sample Query ... 100820.3 ... Further Reading ... 100921 ... Bits and Bytes, Mathematics and Money ... 101121.1 ... Bits and Bytes ... 101121.2 ... Floating Point Arithmetic in Java ... 102521.3 ... The Members of the Math Class ... 103121.4 ... Accuracy and the Value Range of Type and Overflow Control* ... 104221.5 ... Random Numbers: Random, ThreadLocalRandom, and SecureRandom ... 104621.6 ... Large Numbers* ... 105121.7 ... Money and Currency ... 106421.8 ... Further Reading ... 106622 ... Testing with JUnit ... 106722.1 ... Software Tests ... 106722.2 ... The JUnit Testing Framework ... 106822.3 ... Java Assertion Libraries and AssertJ ... 108122.4 ... Structure of Large Test Cases ... 108322.5 ... Good Design Enables Effective Testing ... 108522.6 ... Dummy, Fake, Stub, and Mock ... 108722.7 ... JUnit Extensions and Testing Add-Ons ... 108922.8 ... Further Reading ... 108923 ... The Tools of the JDK ... 109123.1 ... Overview ... 109123.2 ... Translating Java Sources ... 109223.3 ... The Java Runtime Environment ... 109323.4 ... Documentation Comments with Javadoc ... 109623.5 ... The JAR Archive Format ... 110523.6 ... Further Reading ... 1107... The Author ... 1109... Index ... 1111
ISBN-13:
9781493222957
Veröffentl:
2023
Erscheinungsdatum:
10.03.2023
Seiten:
1126
Autor:
Christian Ullenboom
Gewicht:
1910 g
Format:
255x177x56 mm
Serie:
Rheinwerk Computing
Sprache:
Englisch

59,95 €*

Lieferzeit: Sofort lieferbari
Alle Preise inkl. MwSt. | zzgl. Versand