GradeFocus
BooksCategoriesAuthorsAboutContact
GradeFocus

Find textbooks and academic resources at competitive prices. Compare listings from VitalSource, Amazon, and more to save money on your course materials.

Browse

  • Books
  • Categories
  • Authors

Company

  • About
  • Contact
  • FAQ

Legal

  • Privacy
  • Terms
  • DMCA

© 2026 GradeFocus. All rights reserved.

PrivacyTermsSitemap
  1. Home
  2. /Programming Languages
Java Concepts: Late Objects cover

Java Concepts: Late Objects

by Cay S. Horstmann

3rd Edition

Publisher: Wiley

(0 reviews)
Programming Languages

Compare Prices

VitalSourceLifetime Access$128.95AmazonKindle$128.95Best PriceeTextShelfPDF$38.00

Book Details

Print ISBN9781119330370
eText ISBN9781119321026
PublisherWiley
Publishing Year2017
Edition3rd Edition
LanguageEnglish

Java Concepts: Late Objects, Enhanced eText, 3rd Edition, introduces fundamental programming principles and software design skills. Formerly published under the title Java for Everyone, the textbook guides students through core concepts to support the development of coding proficiency.

The text presents core procedural programming before transitioning to object-oriented principles. Thematic coverage includes fundamental data types, decisions, arrays, array lists, input/output operations, exception handling, and graphical user interfaces.

To support applied practice, the Enhanced eText integrates hundreds of programming activities, such as interactive code tracing exercises. It also features realistic examples and problem sets drawn from science and business to demonstrate Java applications across diverse fields.

Table of Contents

  1. Chapter 1: Introduction

    • • 1.1 Computer Programs
    • • 1.2 The Anatomy of a Computer
    • • 1.3 The Java Programming Language
    • • 1.4 Becoming Familiar with Your Programming Environment
    • • VE1 Compiling and Running a Program
    • • 1.5 Analyzing Your First Program
    • • 1.6 Errors
    • • 1.7 PROBLEM SOLVING Algorithm Design
    • • The Algorithm Concept
    • • An Algorithm for Solving an Investment Problem
    • • Pseudocode
    • • From Algorithms to Programs
    • • HT1 Describing an Algorithm with Pseudocode
    • • WE1 Writing an Algorithm for Tiling a Floor
    • • VE2 Dividing Household Expenses
  2. Chapter 2: Fundamental Data Types

    • • 2.1 Variables
    • • Variable Declarations
    • • Number Types
    • • Variable Names
    • • The Assignment Statement
    • • Constants
    • • Comments
    • • ST1 Numeric Types in Java
    • • ST2 Big Numbers
    • • 2.2 Arithmetic
    • • Arithmetic Operators
    • • Increment and Decrement
    • • Integer Division and Remainder
    • • Powers and Roots
    • • Converting Floating-Point Numbers to Integers
    • • J81 Avoiding Negative Remainders
    • • ST3 Combining Assignment and Arithmetic
    • • VE1 Using Integer Division
    • • 2.3 Input and Output
    • • Reading Input
    • • Formatted Output
    • • HT1 Carrying Out Computations
    • • WE1 Computing the Cost of Stamps
    • • 2.4 PROBLEM SOLVING First Do it By Hand
    • • WE2 Computing Travel Time
    • • 2.5 Strings
    • • The String Type
    • • Concatenation
    • • String Input
    • • Escape Sequences
    • • Strings and Characters
    • • Substrings
    • • ST4 Instance Methods and Static Methods
    • • ST5 Using Dialog Boxes for Input and Output
    • • VE2 Computing Distances on Earth
  3. Chapter 3: Decisions

    • • 3.1 The if Statement
    • • ST1 The Conditional Operator
    • • 3.2 Comparing Numbers and Strings
    • • ST2 Lexicographic Ordering of Strings
    • • HT1 Implementing an if Statement
    • • WE1 Extracting the Middle
    • • 3.3 Multiple Alternatives
    • • ST3 The switch Statement
    • • 3.4 Nested Branches
    • • ST4 Enumeration Types
    • • VE1 Computing the Plural of an English Word
    • • 3.5 PROBLEM SOLVING Flowcharts
    • • 3.6 PROBLEM SOLVING Test Cases
    • • ST5 Logging
    • • 3.7 Boolean Variables and Operators
    • • ST6 Short-Circuit Evaluation of Boolean Operators
    • • ST7 De Morgan’s Law
    • • 3.8 APPLICATION Input Validation
    • • VE2 The Genetic Code
  4. Chapter 4: Loops

    • • 4.1 The while Loop
    • • 4.2 PROBLEM SOLVING Hand-Tracing
    • • 4.3 The for Loop
    • • 4.4 The do Loop
    • • 4.5 APPLICATION Processing Sentinel Values
    • • ST1 The “Loop and a Half” Problem and the break Statement
    • • ST2 Redirection of Input and Output
    • • VE1 Evaluating a Cell Phone Plan
    • • 4.6 PROBLEM SOLVING Storyboards
    • • 4.7 Common Loop Algorithms
    • • Sum and Average Value
    • • Counting Matches
    • • Finding the First Match
    • • Prompting Until a Match is Found
    • • Maximum and Minimum
    • • Comparing Adjacent Values
    • • HT1 Writing a Loop
    • • WE1 Credit Card Processing
    • • 4.8 Nested Loops
    • • WE2 Manipulating the Pixels in an Image
    • • 4.9 PROBLEM SOLVING Solve a Simpler Problem First
    • • 4.10 APPLICATION Random Numbers and Simulations
    • • Generating Random Numbers
    • • Simulating Die Tosses
    • • The Monte Carlo Method
    • • ST3 Drawing Graphical Shapes
    • • VE1 Drawing a Spiral
  5. Chapter 5: Methods

    • • 5.1 Methods as Black Boxes
    • • 5.2 Implementing Methods
    • • 5.3 Parameter Passing
    • • 5.4 Return Values
    • • HT1 Implementing a Method
    • • WE1 Generating Random Passwords
    • • 5.5 Methods Without Return Values
    • • 5.6 PROBLEM SOLVING Reusable Methods
    • • 5.7 PROBLEM SOLVING Stepwise Refinement
    • • WE2 Calculating a Course Grade
    • • 5.8 Variable Scope
    • • VE1 Debugging
    • • 5.9 Recursive Methods (Optional)
    • • HT2 Thinking Recursively
    • • VE2 Fully Justified Text
  6. Chapter 6: Arrays and Array Lists

    • • 6.1 Arrays
    • • Declaring and Using Arrays
    • • Array References
    • • Partially Filled Arrays
    • • 6.2 The Enhanced for Loop
    • • 6.3 Common Array Algorithms
    • • Filling
    • • Sum and Average Value
    • • Maximum and Minimum
    • • Element Separators
    • • Linear Search
    • • Removing an Element
    • • Inserting an Element
    • • Swapping Elements
    • • Copying Arrays
    • • Reading Input
    • • ST1 Sorting with the Java Library
    • • ST2 Binary Search
    • • 6.4 Using Arrays with Methods
    • • ST3 Methods with a Variable Number of Parameters
    • • 6.5 PROBLEM SOLVING Adapting Algorithms
    • • HT1 Working with Arrays
    • • WE1 Rolling the Dice
    • • 6.6 PROBLEM SOLVING Discovering Algorithms by Manipulating Physical Objects
    • • VE1 Removing Duplicates from an Array
    • • 6.7 Two-Dimensional Arrays
    • • Declaring Two-Dimensional Arrays
    • • Accessing Elements
    • • Locating Neighboring Elements
    • • Computing Row and Column Totals
    • • Two-Dimensional Array Parameters
    • • WE2 A World Population Table
    • • ST4 Two-Dimensional Arrays with Variable Row Lengths
    • • ST5 Multidimensional Arrays
    • • 6.8 Array Lists
    • • Declaring and Using Array Lists
    • • Using the Enhanced for Loop with Array Lists
    • • Copying Array Lists
    • • Array Lists and Methods
    • • Wrappers and Auto-boxing
    • • Using Array Algorithms with Array Lists
    • • Storing Input Values in an Array List
    • • Removing Matches
    • • Choosing Between Array Lists and Arrays
    • • ST6 The Diamond Syntax
    • • VE2 Game of Life
  7. Chapter 7: Input/Output and Exception Handling

    • • 7.1 Reading and Writing Text Files
    • • ST1 Reading Web Pages
    • • ST2 File Dialog Boxes
    • • ST3 Reading and Writing Binary Data
    • • 7.2 Text Input and Output
    • • Reading Words
    • • Reading Characters
    • • Classifying Characters
    • • Reading Lines
    • • Scanning a String
    • • Converting Strings to Numbers
    • • Avoiding Errors When Reading Numbers
    • • Mixing Number, Word, and Line Input
    • • Formatting Output
    • • ST4 Regular Expressions
    • • ST5 Reading an Entire File
    • • VE1 Computing a Document’s Readability
    • • 7.3 Command Line Arguments
    • • HT1 Processing Text Files
    • • WE1 Analyzing Baby Names
    • • 7.4 Exception Handling
    • • Throwing Exceptions
    • • Catching Exceptions
    • • Checked Exceptions
    • • Closing Resources
    • • ST6 Assertions
    • • ST7 The try/finally Statement
    • • 7.5 APPLICATION Handling Input Errors
    • • VE2 Detecting Accounting Fraud
  8. Chapter 8: Objects and Classes

    • • 8.1 Object-Oriented Programming
    • • 8.2 Implementing a Simple Class
    • • 8.3 Specifying the Public Interface of a Class
    • • ST1 The javadoc Utility
    • • 8.4 Designing the Data Representation
    • • 8.5 Implementing Instance Methods
    • • 8.6 Constructors
    • • ST2 Overloading
    • • 8.7 Testing a Class
    • • HT1 Implementing a Class
    • • WE1 Implementing a Menu Class
    • • VE1 Paying Off a Loan
    • • 8.8 Problem Solving: Tracing Objects
    • • 8.9 Object References
    • • Shared References
    • • The null Reference
    • • The this Reference
    • • ST3 Calling One Constructor from Another
    • • 8.10 Static Variables and Methods
    • • 8.11 PROBLEM SOLVING Patterns for Object Data
    • • Keeping a Total
    • • Counting Events
    • • Collecting Values
    • • Managing Properties of an Object
    • • Modeling Objects with Distinct States
    • • Describing the Position of an Object
    • • VE2 Modeling a Robot Escaping from a Maze
    • • 8.12 Packages
    • • Organizing Related Classes into Packages
    • • Importing Packages
    • • Package Names
    • • Packages and Source Files
    • • ST4 Package Access
    • • HT2 Programming with Packages
  9. Chapter 9: Inheritance and Interfaces

    • • 9.1 Inheritance Hierarchies
    • • 9.2 Implementing Subclasses
    • • 9.3 Overriding Methods
    • • ST1 Calling the Superclass Constructor
    • • 9.4 Polymorphism
    • • ST2 Dynamic Method Lookup and the Implicit Parameter
    • • ST3 Abstract Classes
    • • ST4 Final Methods and Classes
    • • ST5 Protected Access
    • • HT1 Developing an Inheritance Hierarchy
    • • WE1 Implementing an Employee Hierarchy for Payroll Processing
    • • VE1 Building a Discussion Board
    • • 9.5 Object: The Cosmic Superclass
    • • Overriding the toString Method
    • • The equals Method
    • • The instanceof Operator
    • • ST6 Inheritance and the toString Method
    • • ST7 Inheritance and the equals Method
    • • 9.6 Interface Types
    • • Defining an Interface
    • • Implementing an Interface
    • • The Comparable Interface
    • • ST8 Constants in Interfaces
    • • ST9 Generic Interface Types
    • • J81 Static Methods in Interfaces
    • • J82 Default Methods
    • • ST10 Function Objects
    • • J83 Lambda Expressions
    • • WE2 Investigating Number Sequences
    • • VE2 Drawing Geometric Shapes
  10. Chapter 10: Graphical User Interfaces

    • • 10.1 Frame Windows
    • • Displaying a Frame
    • • Adding User-Interface Components to a Frame
    • • Using Inheritance to Customize Frames
    • • ST1 Adding the main Method to the Frame Class
    • • 10.2 Events and Event Handling
    • • Listening to Events
    • • Using Inner Classes for Listeners
    • • APPLICATION Showing Growth of an Investment
    • • ST2 Local Inner Classes
    • • ST3 Anonymous Inner Classes
    • • J81 Lambda Expressions for Event Handling
    • • 10.3 Processing Text Input
    • • Text Fields
    • • Text Areas
    • • 10.4 Creating Drawings
    • • Drawing on a Component
    • • Ovals, Lines, Text, and Color
    • • APPLICATION Visualizing the Growth of an Investment
    • • HT1 Drawing Graphical Shapes
    • • WE1 Coding a Bar Chart Creator
    • • VE1 Solving Crossword Puzzles
  11. Chapter 11: Advanced User Interfaces (Web Only)

    • • 11.1 Layout Management
    • • 11.2 Choices
    • • Radio Buttons
    • • Check Boxes
    • • Combo Boxes
    • • HT1 Laying Out a User Interface
    • • WE1 Programming a Working Calculator
    • • 11.3 Menus
    • • 11.4 Exploring the Swing Documentation
    • • 11.5 Using Timer Events for Animations
    • • 11.6 Mouse Events
    • • ST1 Keyboard Events
    • • ST2 Event Adapters
    • • WE2 Adding Mouse and Keyboard Support to the Bar Chart Creator
    • • VE1 Designing a Baby Naming Program
  12. Chapter 12: Object-Oriented Design (Web Only)

    • • 12.1 Classes and Their Responsibilities
    • • Discovering Classes
    • • The CRC Card Method
    • • Cohesion
    • • 12.2 Relationships Between Classes
    • • Dependency
    • • Aggregation
    • • Inheritance
    • • HT1 Using CRC Cards and UML Diagrams in Program Design
    • • ST1 Attributes and Methods in UML Diagrams
    • • ST2 Multiplicities
    • • ST3 Aggregation, Association, and Composition
    • • 12.3 APPLICATION Printing an Invoice
    • • Requirements
    • • CRC Cards
    • • UML Diagrams
    • • Method Documentation
    • • Implementation
    • • WE1 Simulating an Automatic Teller Machine
  13. Chapter 13: Recursion (Web Only)

    • • 13.1 Triangle Numbers
    • • HT1 Thinking Recursively
    • • WE1 Finding Files
    • • 13.2 Recursive Helper Methods
    • • 13.3 The Efficiency of Recursion
    • • 13.4 Permutations
    • • 13.5 Mutual Recursion
    • • 13.6 Backtracking
    • • WE2 Towers of Hanoi
  14. Chapter 14: Sorting and Searching (Web Only)

    • • 14.1 Selection Sort
    • • 14.2 Profiling the Selection Sort Algorithm
    • • 14.3 Analyzing the Performance of the Selection Sort Algorithm
    • • ST1 Oh, Omega, and Theta
    • • ST2 Insertion Sort
    • • 14.4 Merge Sort
    • • 14.5 Analyzing the Merge Sort Algorithm
    • • ST3 The Quicksort Algorithm
    • • 14.6 Searching
    • • Linear Search
    • • Binary Search
    • • 14.7 PROBLEM SOLVING Estimating the Running Time of an Algorithm
    • • Linear Time
    • • Quadratic Time
    • • The Triangle Pattern
    • • Logarithmic Time
    • • 14.8 Sorting and Searching in the Java Library
    • • Sorting
    • • Comparing Objects
    • • ST4 The Comparator Interface
    • • J81 Comparators with Lambda Expressions
    • • WE1 Enhancing the Insertion Sort Algorithm
  15. Chapter 15: The JAVA Collections Framework (Web Only)

    • • 15.1 An Overview of the Collections Framework
    • • 15.2 Linked Lists
    • • The Structure of Linked Lists
    • • The LinkedList Class of the Java
    • • Collections Framework
    • • List Iterators
    • • 15.3 Sets
    • • Choosing a Set Implementation
    • • Working with Sets
    • • 15.4 Maps
    • • J81 Updating Map Entries
    • • HT1 Choosing a Collection
    • • WE1 Word Frequency
    • • ST1 Hash Functions
    • • 15.5 Stacks, Queues, and Priority Queues
    • • Stacks
    • • Queues
    • • Priority Queues
    • • 15.6 Stack and Queue Applications
    • • Balancing Parentheses
    • • Evaluating Reverse Polish Expressions
    • • Evaluating Algebraic Expressions
    • • Backtracking
    • • WE2 Simulating a Queue of Waiting Customers
    • • VE1 Building a Table of Contents
    • • ST2 Reverse Polish Notation
  16. Chapter Appendix A: The Basic Latin and Latin-1 Subsets of Unicode

  17. Chapter Appendix B: JAVA Operator Summary

  18. Chapter Appendix C: JAVA Reserved Word Summary

  19. Chapter Appendix D: The JAVA Library

  20. Chapter Appendix E: JAVA Language Coding Guidelines

  21. Chapter Appendix F: Tool Summary

  22. Chapter Appendix G: Number Systems

  23. Chapter Appendix H: UML Summary

  24. Chapter Appendix I: JAVA Syntax Summary

  25. Chapter Appendix J: HTML Summary

Customer Reviews

0.0

0 reviews

5 stars
0
4 stars
0
3 stars
0
2 stars
0
1 stars
0

No reviews yet. Be the first to review this book!

Write a Review

Select rating

0/20 characters minimum

By submitting a review, you agree that it may be published after moderation.

Reviewed by GradeFocus Editorial Team

Related Books

Murach's Python Programming

Murach's Python Programming

Michael Urban

SQL Queries for Mere Mortals

SQL Queries for Mere Mortals

John L. Viescas

Concepts of Programming Languages

Concepts of Programming Languages

Robert W. Sebesta

Starting Out with Python

Starting Out with Python

Tony Gaddis

Python Crash Course

Python Crash Course

Eric Matthes

Murach's Java Programming

Murach's Java Programming

Joel Murach