Skip to main content

Java For Everyone: Late Objects, 2nd Edition



Java For Everyone: Late Objects, 2nd Edition

Cay S. Horstmann

ISBN: 978-1-118-32728-9 January 2012 624 Pages

E-Book Rental (120 Days)
E-Book Rental (120 Days)
E-Book Rental (150 Days)
E-Book Rental (150 Days)
Download Product Flyer

Download Product Flyer

Download Product Flyer is to download PDF in new tab. This is a dummy description. Download Product Flyer is to download PDF in new tab. This is a dummy description. Download Product Flyer is to download PDF in new tab. This is a dummy description. Download Product Flyer is to download PDF in new tab. This is a dummy description.


Java For Everyone, 2nd Edition is a comprehensive introduction to Java and computer programming, which focuses on the principles of programming, software engineering, and effective learning. It is designed for a one-semester, mixed-major, first course in programming.

Nobody supports your desire to teach students good programming skills like Cay Horstmann. Active in both the classroom and the software industry, Horstmann knows that meticulous coding-not shortcuts-is the base upon which great programmers are made. Using an innovative visual design that leads students step-by-step through intricacies of Java programming, Java For Everyone, 2nd Edition instills confidence in beginning programmers and confidence leads to success.

Related Resources

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

1.5    Analyzing Your First Program

1.6    Errors

1.7    Problem Solving: Algorithm Design


Chapter 2 Fundamental Data Types

2.1    Variables

2.2    Arithmetic

2.3    Input and Output

2.4    Problem Solving: First Do it By Hand

2.6    Strings


Chapter 3 Decisions

3.1    The if Statement

3.2    Comparing Numbers and Strings

3.3    Multiple Alternatives

3.4    Nested Branches

3.5    Problem Solving: Flowcharts

3.6    Problem Solving: Test Cases

3.7    Boolean Variables and Operators

3.8    Application: Input Validation


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

4.6    Problem Solving: Storyboards

4.7    Common Loop Algorithms

4.8    Nested Loops

4.9    Application: Random Numbers and Simulations


Chapter 5 Methods

5.1    Methods as Black Boxes

5.2    Implementing Methods

5.3    Parameter Passing

5.4    Return Values

5.5    Methods Without Return Values

5.6    Problem Solving: Reusable Functions

5.7    Problem Solving: Stepwise Refinement

5.8    Variable Scope

5.9    Recursive Methods (Optional)


Chapter 6 Arrays and Array Lists

6.1    Arrays

6.2    The Enhanced for Loop

6.3    Common Array Algorithms

6.4    Using Arrays with Methods

6.5    Problem Solving: Adapting Algorithms

6.6    Problem Solving: Discovering Algorithms by
Manipulating Physical Objects

6.7    Two-Dimensional Arrays

6.8    Array Lists


Chapter 7 Input/Output and Exception Handling

7.1    Reading and Writing Text Files

7.2    Processing Text Input

7.3    Command Line Arguments

7.4    Checked and Unchecked Exceptions

7.5    Catching Exceptions

7.6    The finally Clause

7.7    Application: Handling Input Errors


Chapter 8 Object and Classes

8.1    Object-Oriented Programming

8.2    Implementing a Simple Class

8.3    Specifying the Public Interface of a Class

8.4    Designing the Data Representation

8.5    Problem Solving: Patterns for Representing Behavior

8.6    Implementing Instance Methods

8.7    Constructors

8.8    Problem Solving: Tracing Objects

8.9    Testing a Class

8.10  Object References

8.11  Static Variables and Methods


Chapter 9 Inheritance

9.1    Inheritance Hierarchies

9.2    Implementing Subclasses

9.3    Overriding Methods

9.4    Polymorphism

9.5    Object: The Cosmic Superclass

9.6    Interface Types

Chapter 10 Graphical User Interfaces

10.1      Frame Windows

10.2      Events and Event Handling

10.3      Using Inheritance to Customize Frames

10.4      Building Applications with Buttons

10.5      Using Inner Classes for Listeners

10.6      Processing Text Input

10.7      Text Areas


===== Web chapters  ==========================================


Chapter 11 Advanced Graphical User Interfaces

11.1      Layout Management

11.2      Choices

11.3      Menus

11.4      Exploring the Swing Documentation

11.5      Drawing on a Component

11.6      Using Timer Events for Animations

11.7      Mouse Events


Chapter 12 Object-Oriented Design

12.1      The Software Life Cycle

12.2      Discovering Classes

12.3      Relationships Between Classes

12.4      Cohesion and Coupling

12.5      Side Effects

12.5      Abstract Classes

12.6      Packages

12.7      Application: Printing an Invoice

12.8      Application: An Automatic Teller Machine


Chapter 13 Recursion

13.1      Triangle Numbers

13.2.    Thinking Recursively

13.3      Recursive Helper Methods

13.4      The Efficiency of Recursion

13.5      Permutations

13.6      Mutual Recursions

13.7      Backtracking


Chapter 14 Sorting and Searching

14.1      Selection Sort

14.2      Profiling the Selection Sort Algorithm

14.3      Analyzing the Performance of the Selection Sort Algorithm

14.4      Merge Sort

14.5      Analyzing the Merge Sort Algorithm

14.6      Searching

14.7      Binary Search

14.8      Sorting Real Data


Chapter 15 The Java Collections Framework

15.1.    An Overview of the Collections Framework

15.2.    Linked Lists

15.3.    Stacks, Queues, and Priority Queues

15.4.    Sets

15.5.    Maps


==== Appendices ==========================================











  • Increased coverage of problem-solving: This edition adds practical, step-by-step illustrations of techniques that can help students devise and evaluation solutions to programming problems. Introduced within the chapters where they are most relevant, these strategies include
  • Algorithm design (with pseudocode)
  • Flowcharts
  • Hand-tracing
  • Storyboards
  • Adapting Algorithms
  • New author videos: Cay Horstmann provides mini-lectures on difficult concepts to help students understand the material more thoroughly.
  • Optional science/engineering and business exercises: End-of-chapter exercises have been enhanced with problems from engineering and business domains. Geared to students learning Java for engineering or business/Information Systems majors, the exercises are designed to illustrate the value of programming in those fields. These exercises are divided between the text and the online book companion site.
  • New and reorganized topics: All chapters were revised and enhanced to respond to user feedback and improve the flow of topics. A chapter on GUI (that was online only in the first edition) is now included in the printed book, while a chapter on data structures that was printed in the first edition is now an online chapter. New example tables, photos, and exercises appear throughout the book.
  • Additional programming examples: The author has added many new programming examples both in the book and online on the book companion site.
  • Presents fundamentals first
  • o Java For Everyone takes a traditional path through the material, stressing control structures, methods, procedural decomposition, and arrays. Objects are used when appropriate in the early chapters. Students start designing and implementing their own classes in Chapter 8.
  • Practice makes perfect
  • o Before students begin to implement nontrivial programs, they need to have the confidence that they can succeed. This book contains a substantial number of self-check questions at the end of each section. Practice It pointers suggest exercises to try after each section, simple programming assignments, and a variety of online practice opportunities, including guided lab exercises, code completion questions, and skill-oriented multiple-choice questions provide ample opportunity for student programmers to practice what they are learning.
  • A visual approach motivates the reader and eases navigation
  • o Photographs present visual analogies that explain the nature and behavior of computer concepts. Step-by-step figures illustrate complex programming operations. Syntax boxes and example tables clearly present a variety of typical and special cases in a compact format. Visuals can be browsed by students prior to focusing on the textual material.
  • Guidance and worked examples help students succeed
  • o Beginning programmers often ask "How do I start?" and "Now what do I do?" While an activity as complex as programming cannot be reduced to cookbook-style instructions, step-by-step guidance is immensely helpful for building confidence and providing an outline for tasks at hand. The book contains a large number of How To guides for common tasks, together with additional worked examples and screencast videos on the web.