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...
Otros Autores: | , |
---|---|
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 (>
- )
- Greater Than or Equal to Operator (>
- =)
- Less Than Operator (<
- )
- Less Than or Equal to Operator (<
- =)
- Boolean Logical Operators
- Logical NOT Operator (!)
- Logical Short-Circuit AND Operator (&
- &
- )
- Logical AND Operator (&
- )
- 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.