Beginning Java 17 fundamentals object-oriented programming in Java 17

Learn the fundamentals of the Java 17 LTS or Java Standard Edition version 17 Long Term Support release, including basic programming concepts and the object-oriented fundamentals necessary at all levels of Java development. Authors Kishori Sharan and Adam L. Davis walk you through writing your first...

Descripción completa

Detalles Bibliográficos
Otros Autores: Sharan, Kishori (Software engineer) author (author), Davis, Adam L., author
Formato: Libro electrónico
Idioma:Inglés
Publicado: New York : Apress Media LLC [2022]
Edición:Third edition
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009638313706719
Tabla de Contenidos:
  • Intro
  • Table of Contents
  • About the Authors
  • About the Technical Reviewer
  • Acknowledgments
  • Introduction
  • Chapter 1: Programming Concepts
  • What Is Programming?
  • Components of a Programming Language
  • Programming Paradigms
  • Imperative Paradigm
  • Procedural Paradigm
  • Declarative Paradigm
  • Functional Paradigm
  • Logic Paradigm
  • Object-Oriented Paradigm
  • What Is Java?
  • The Object-Oriented Paradigm and Java
  • Abstraction
  • Abstraction for Hiding Complexities
  • Data Abstraction
  • Encapsulation and Information Hiding
  • Inheritance
  • Polymorphism
  • Overloading Polymorphism
  • Coercion Polymorphism
  • Inclusion Polymorphism
  • Parametric Polymorphism
  • Summary
  • Chapter 2: Setting Up the Environment
  • System Requirements
  • Installing JDK 17
  • The JDK Directory Structure
  • Verifying the JDK Installation
  • Starting the JShell Tool
  • Installing NetBeans 12
  • Configuring NetBeans
  • Summary
  • Chapter 3: Writing Java Programs
  • The Goal Statement
  • Using the JShell Tool
  • What Is a Java Program?
  • Writing the Source Code
  • Writing Comments
  • Declaring a Module
  • Declaring Types
  • Package Declaration
  • Import Declarations
  • Class Declaration
  • Types Have Two Names
  • Compiling the Source Code
  • Packaging the Compiled Code
  • Running a Java Program
  • Playing with Module Options
  • Listing Observable Modules
  • Limiting the Observable Modules
  • Describing a Module
  • Printing Module Resolution Details
  • Dry-Running Your Program
  • Enhancing a Module Descriptor
  • Running Java Programs in Legacy Mode
  • Duplicate Modules on a Module Path
  • Syntax for Command-Line Options
  • Writing Java Programs Using the NetBeans IDE
  • Creating a Java Project
  • Creating Modular JARs in NetBeans
  • NetBeans Project Directory Structure
  • Adding Classes to a Module
  • Customizing NetBeans Project Properties.
  • Opening an Existing NetBeans Project
  • Behind the Scenes
  • Summary
  • Chapter 4: Data Types
  • What Is a Data Type
  • What Is an Identifier?
  • Keywords
  • Data Types in Java
  • Local Variable Type Inference
  • Primitive Data Types in Java
  • Integral Data Types
  • The int Data Type
  • The long Data Type
  • The byte Data Type
  • The short Data Type
  • The char Data Type
  • Character Literals in Single Quotes
  • Character Escape Sequence
  • Unicode Character Escape Sequence
  • Octal Character Escape Sequence
  • The boolean Data Type
  • Floating-Point Data Types
  • The float Data Type
  • The double Data Type
  • Underscores in Numeric Literals
  • Java Compiler and Unicode Escape Sequence
  • A Short Break
  • Binary Representation of Integers
  • Diminished Radix Complement
  • Radix Complement
  • Binary Representation of Floating-Point Numbers
  • 32-Bit Single-Precision Floating-Point Format
  • Sign
  • Exponent
  • Significand
  • Special Floating-Point Numbers
  • Signed Zeros
  • Signed Infinities
  • NaN
  • Denormals
  • Rounding Modes
  • Rounding Toward Zero
  • Rounding Toward Positive Infinity
  • Rounding Toward Negative Infinity
  • Rounding Toward Nearest
  • IEEE Floating-Point Exceptions
  • Division by Zero Exception
  • Invalid Operation Exception
  • Overflow Exception
  • Underflow Exception
  • Inexact Exception
  • Java and IEEE Floating-Point Standards
  • Little-Endian and Big-Endian
  • Summary
  • Chapter 5: Operators
  • What Is an Operator?
  • Assignment Operator
  • Declaration, Initialization, and Assignment
  • Arithmetic Operators
  • Addition Operator (+)
  • Subtraction Operator (-)
  • Multiplication Operator (*)
  • Division Operator (/)
  • Modulus Operator (%)
  • Rule #1
  • Rule #2
  • Rule #1
  • Rule #2
  • Rule #3
  • Rule #4
  • Rule #5
  • Unary Plus Operator (+)
  • Unary Minus Operator (-)
  • Compound Arithmetic Assignment Operators.
  • Increment (++) and Decrement (--) Operators
  • String Concatenation Operator (+)
  • Relational Operators
  • Equality Operator (==)
  • Rule #1
  • Rule #2
  • Rule #3
  • Inequality Operator (!=)
  • Greater Than Operator (&gt
  • )
  • Greater Than or Equal to Operator (&gt
  • =)
  • Less Than Operator (&lt
  • )
  • Less Than or Equal to Operator (&lt
  • =)
  • Boolean Logical Operators
  • Logical NOT Operator (!)
  • Logical Short-Circuit AND Operator (&amp
  • &amp
  • )
  • Logical AND Operator (&amp
  • )
  • Logical Short-Circuit OR Operator (||)
  • Logical OR Operator (|)
  • Logical XOR Operator (^)
  • Compound Boolean Logical Assignment Operators
  • Ternary Operator (?:)
  • Bitwise Operators
  • Operator Precedence
  • Summary
  • Chapter 6: Statements
  • What Is a Statement?
  • Types of Statements
  • Declaration Statement
  • Expression Statement
  • Control Flow Statement
  • A Block Statement
  • The if-else Statement
  • The switch Statement
  • The switch Expression
  • The for Statement
  • Initialization
  • Condition Expression
  • Expression List
  • The for-each Statement
  • The while Statement
  • The do-while Statement
  • The break Statement
  • The continue Statement
  • An Empty Statement
  • Summary
  • Chapter 7: Classes
  • What Is a Class?
  • Declaring a Class
  • Declaring Fields in a Class
  • Creating Instances of a Class
  • The null Reference Type
  • Using Dot Notation to Access Fields of a Class
  • Default Initialization of Fields
  • Access Level Modifiers for a Class
  • Import Declarations
  • Single-Type Import Declaration
  • Import-on-Demand Declaration
  • Import Declarations and Type Search Order
  • Automatic Import Declarations
  • Static Import Declarations
  • Static Import Rule #1
  • Static Import Rule #2
  • Static Import Rule #3
  • Declaring a Record
  • Summary
  • Chapter 8: Methods
  • What Is a Method?
  • Declaring Methods of a Class.
  • Local Variables
  • Rule #1
  • Rule #2
  • Rule #3
  • Rule #4
  • Instance Methods and Class Methods
  • Invoking a Method
  • The Special main() Method
  • What Is this?
  • Access Levels for Class Members
  • Access Level: A Case Study
  • What Is a Var-Args Method?
  • Overloading a Var-Args Method
  • Var-Args Methods and the main() Method
  • Parameter-Passing Mechanisms
  • Pass by Value
  • Pass by Constant Value
  • Pass by Reference
  • Pass by Reference Value
  • Pass by Constant Reference Value
  • Pass by Result
  • Pass by Value Result
  • Pass by Name
  • Pass by Need
  • Parameter-Passing Mechanisms in Java
  • Summary
  • Chapter 9: Constructors
  • What Is a Constructor?
  • Declaring a Constructor
  • Overloading a Constructor
  • Writing Code for a Constructor
  • Calling a Constructor from Another Constructor
  • Using a return Statement Inside a Constructor
  • Access Level Modifier for a Constructor
  • Default Constructor
  • A static Constructor
  • Instance Initialization Block
  • Static Initialization Block
  • The final Keyword
  • final Local Variables
  • final Parameters
  • final Instance Variables
  • final Class Variables
  • final Reference Variables
  • Compile-Time vs. Runtime final Variables
  • Generic Classes
  • Summary
  • Chapter 10: Modules
  • What Is a Module?
  • Declaring Modules
  • Declaring Module Dependence
  • An Example of Module Dependence
  • Troubleshooting
  • Empty Package Error
  • Module Not Found Error
  • Package Does Not Exist Error
  • Module Resolution Exception
  • Implicit Dependence
  • Optional Dependence
  • Opening Modules and Packages
  • Open Modules
  • Opening Packages
  • Splitting Packages Across Modules
  • Restrictions in Module Declarations
  • Types of Modules
  • Normal Modules
  • Open Modules
  • Automatic Modules
  • Unnamed Modules
  • Aggregator Modules
  • Knowing About Modules at Runtime
  • Migration Path to Modules.
  • Java Class Dependency Analyzer
  • Disassembling Module Definitions
  • Summary
  • Chapter 11: Object and Objects Classes
  • The Object Class
  • Rule #1
  • Rule #2
  • What Is the Class of an Object?
  • Computing the Hash Code of an Object
  • Comparing Objects for Equality
  • String Representation of an Object
  • Cloning Objects
  • Finalizing an Object
  • Immutable Objects
  • The Objects Class
  • Bounds Checks
  • Comparing Objects
  • Computing Hash Code
  • Checking for Null
  • Validating Arguments
  • Obtaining String Representation of Objects
  • Using the Objects Class
  • Summary
  • Chapter 12: Wrapper Classes
  • Wrapper Classes
  • Numeric Wrapper Classes
  • The Character Wrapper Class
  • The Boolean Wrapper Class
  • Unsigned Numeric Operations
  • Autoboxing and Unboxing
  • Beware of Null Values
  • Overloaded Methods and Autoboxing/Unboxing
  • Comparison Operators and Autoboxing/Unboxing
  • Collections and Autoboxing/Unboxing
  • Summary
  • Chapter 13: Exception Handling
  • What Is an Exception?
  • An Exception Is an Object
  • Using a try-catch Block
  • Transfer of Control
  • Exception Class Hierarchy
  • Arranging Multiple catch Blocks
  • A Multi-catch Block
  • Checked and Unchecked Exceptions
  • Checked Exception: Catch or Declare
  • Checked Exceptions and Initializers
  • Throwing an Exception
  • Creating an Exception Class
  • The finally Block
  • Rethrowing an Exception
  • Analysis of Rethrown Exceptions
  • Throwing Too Many Exceptions
  • Accessing the Stack of a Thread
  • The try-with-resources Block
  • Summary
  • Chapter 14: Assertions
  • What Is an Assertion?
  • Testing Assertions
  • Enabling/Disabling Assertions
  • Using Assertions
  • Checking for Assertion Status
  • Summary
  • Chapter 15: Strings
  • What Is a String?
  • String Literals
  • Escape Sequence Characters in String Literals
  • Unicode Escapes in String Literals
  • What Is a CharSequence?.
  • Creating String Objects.