Wiley
Wiley.com
Print this page Share
Textbook

Java Concepts: Compatible with Java 5, 6 and 7 , 6th Edition

December 2009, ©2010
Java Concepts: Compatible with Java 5, 6 and 7 , 6th Edition (EHEP000342) cover image
In Java Concepts, Sixth Edition, Cay Horstmann provides a comprehensive introduction to fundamental programming techniques and design skills helping the student master basic concepts. Realistic programming examples, homework assignments, and lab exercises build student problem-solving abilities.

The homework package includes a great quantity and variety of problem types and the LabRat tool in WileyPLUS permits automated submission and grading of programming assignments.

See More

Preface.

Special Features.

Chapter 1. Introduction.

1.1 What Is Programming?

1.2 The Anatomy of a Computer.

1.3 Translating Human-Readable Programs to Machine Code.

1.4 The Java Programming Language.

1.5 The Structure of a Simple Program.

1.6 Compiling and Running a Java Program.

1.7 Errors.

1.8 Algorithms.

Chapter 2. Using Objects.

2.1 Types.

2.2 Variables.

2.3 The Assignment Operator.

2.4 Objects, Classes, and Methods.

2.5 Method Parameters and Retun Values.

2.6 Constructing Objects.

2.7 Accessor and Mutator Methods.

2.8 The API Documentation.

2.9T Implementing a Test Program.

2.10 Object References.

2.11G Graphical Applications and Frame Windows.

2.12G Drawing on a Component.

2.13G Ellipses, Lines, Text, and Color.

Chapter 3. Implementing Classes.

3.1 Instance Variables.

3.2 Encapsulation.

3.3 Specifying the Public Interface of a Class.

3.4 Commenting the Public Interface.

3.5 Providing the Class Implementation.

3.6T Unit Testing.

3.7 Local Variables.

3.8 Implicit Parameters.

3.9G Shape Classes.

Chapter 4. Fundamental Data Types.

4.1 Number Types.

4.2 Constants.

4.3 Arithmetic Operations and Mathematical Functions.

4.4 Calling Static Methods.

4.5 Strings.

4.6 Reading Input.

Chapter 5. Decisions.

5.1 The if Statement.

5.2 Comparing Values.

5.3 Multiple Alternatives.

5.4 Using Boolean Expressions.

5.5T Code Coverage. 

Chapter 6. Iteration.

6.1 while Loops.

6.2 for Loops.

6.3 Common Loop Algorithms.

6.4 Nested Loops.

6.5 Application: Random Numbers and Simulations.

6.6T Using a Dubugger.

Chapter 7. Arrays and Array Lists.

7.1 Arrays.

7.2 Array Lists.

7.3 Wrappers and Auto-boxing.

7.4 The Enhanced for Loop.

7.5 Partially Filled Arrays.

7.6 Common Array Algorithms.

7.7T Regression Testing.

7.8 Two-Dimensional Arrays. 

Chapter 8. Designing Classes.

8.1 Discovering Classes.

8.2 Cohesion and Coupling.

8.3 Immutable Classes.

8.4 Side Effects.

8.5 Preconditions and Postconditions.

8.6 Static Methods.

8.7 Static Variables.

8.8 Scope.

8.9 Packages.

8.10T Unit Test Frameworks. 

Chapter 9. Interfaces and Polymorphism.

9.1 Using Interfaces for Algorithm Reuse.

9.2 Converting Between Class and Interface Types.

9.3 Polymorphism.

9.4 Using Interfaces for Callbacks.

9.5 Inner Classes.

9.6T Mock Objects.

9.7G Events, Event Sources, and Event Listeners.

9.8G Using Inner Classes for Listeners.

9.9G Building Applications with Buttons.

9.10G Processing Timer Events.

9.11G Mouse Events. 

Chapter 10. Inheritance.

10.1 Inheritance Hierarchies.

10.2 Implementing Subclasses.

10.3 Overriding Methods.

10.4 Subclass Construction.

10.5 Converting Between Subclass and Superclass Types.

10.6 Polymorphism and Inheritance.

10.7 Object: The Cosmic Superclass.

10.8G Using Inheritance to Customize Frames.

Chapter 11. Input/Output and Exception Handling.

11.1 Reading and Writing Text Files.

11.2 Reading Text Input.

11.3 Throwing Exceptions.

11.4 Checked and Unchecked Exceptions.

11.5 Catching Exceptions.

11.6 The finally Clause.

11.7 Designing Your Own Exception Types.

11.8 Case Study: A Complete Example.  

Chapter 12. Object-Oriented Design.

12.1 The Software Life Cycle.

12.2 Discovering Classes.

12.3 Relationships Between Classes.

12.4 Case Study: Printing an Invoice.

12.5 Case Study: An Automatic Teller Machine.

Chapter 13. Recursion.

13.1 Triangle Numbers.

13.2 Recursive Helper Methods.

13.3 The Efficiency of Recursion.

13.4 Permutations.

13.5 Mutual Recursions.

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. An Introduction to Data Structures.

15.1 Using Linked Lists.

15.2 Implementing Linked Lists.

15.3 Abstract Data Types.

15.4 Stacks and Queues. 

Chapter 16. Advanced Data Structures (Advanced).

16.1 Sets.

16.2 Maps.

16.3 Hash Tables.

16.4 Computing Hash Codes.

16.5 Binary Search Trees.

16.6 Binary Tree Traversal.

16.7 Priority Queues.

16.8 Heaps.

16.9 The Heapsort Algorithm. 

Chapter 17. Generic Programming (Advanced).

17.1 Generic Classes and Type Parameters.

17.2 Implementing Generic Types.

17.3 Generic Methods.

17.4 Constraining Type Parameters.

17.5 Type Erasure. 

Chapter 18. Graphical User Interfaces (Advanced).

18.1G Processing Text Input.

18.2G Text Areas.

18.3G Layout Management.

18.4G Choices.

18.5G Menus.

18.6G Exploring the Swing Documentation. 

Appendices.

Appendix A. The Basic Latin and Latin-1 Subsets of Unicode.

Appendix B. Java Operator Summary.

Appendix C. Java Reserved Word Summary.

Appendix D. The Java Library.

Appendix E. Java Syntax Summary.

Appendix F. HTML Summary.

Appendix G. Tool Summary.

Appendix H. JavaDoc  Summary.

Appendix I. Number Systems.

Appendix J. Bit and Shift Operations.

Appendix K. UML Summary.

Appendix L. Java Language Coding Guidelines.

Glossary.

Index.

Illustration Credits.

See More
  • The LabRat software has been refocused on helping students PRACTICE programming.
  • More "scaffolding" for beginning programmers who learn by example or who need help tackling a problem: How To sections walk thru the steps to solving a problem; Worked Examples apply these steps to motivational examples (such as credit card processing); labs and online code-completion problems allow students to tackle larger tasks by breaking them into smaller steps.
  • Starting in Chapter 1, pseudocode is used to define the solution algorithm before coding begins.
  • More features for the non-linear reader: Example Tables present a variety of uses and special cases in a compact format. Common Errors, Tips, and Special Topics make it easy to refer back to these topics when solving problems.
  • Annotated Syntax Boxes call out features of typical example code to draw student attention to the key elements of the syntax. Additional annotations point out special cases, common errors, and good practice associated with the syntax.
  • Each chapter has been revised to focus each section on a specific Learning Objective. Sections have been shortened to present the concepts and syntax and how they are applied. These learning objectives also organize the chapter summary to help students assess their progress.
  • Early chapters have been thoroughly revised to provide more examples and concrete analogies.
  • See More
  • A gradual introduction to object-oriented programming techniques, beginning in Chapter 2, provides extensive practice with objects and classes before students are asked to write their own classes.
  • Works equally well for a wide mix of student backgrounds. Beginners will find clear presentations that use analogies and a wealth of concrete examples to make concepts understandable, plus How To boxes and Worked Examples to help them get started. Problem-solvers will be able to easily locate notes on special cases and common errors that come up as they work. Second-language learners will find annotated syntax boxes and realistic programs that compactly illustrate key elements of Java, plus a range of later chapters that make this book a complete reference for Java programming.
  • Horstmann's clear explanations follow the beginner's thinking process, providing examples and analogies, and anticipating where they may get confused or make mistakes.
  • Horstmann's clear explanations follow the beginner's thinking process, providing examples and analogies, and anticipating where they may get confused or make mistakes.
  • The Testing Track identifies and emphasizes the test-driven approach to programming.
  • The Graphics Track integrates optional graphics material into the chapters where it best fits.
  • Self-Check Questions test understanding, not memorization, and can be used as springboards to a deeper discussion of key concepts in each section.
  • See More
    Instructors Resources
    Wiley Instructor Companion Site
    Supplement ONLINE
    Test Bank (Thoroughly redesigned to focus on con-cepts and skills, not just terminology, and to be useful as practice assignments, 100 questions per chapter)
    Lab Excercises
    •Lab Exercises(step-by-step problem-solving and programming practice).
    ENHANCE YOUR COURSE
    WileyPLUS
    A research-based online environment for learning and assessment.
    Learn more
    CourseSmart
    Instant access to textbooks as eTextbooks.
    Learn more
    Digital evaluation copy available for this title
    Request Copy
    Contact your Wiley Representative
    Find Your Rep
    See More
    See Less
    Students Resources
    Wiley Student Companion Site
    Lab Excercises
    •Lab Exercises(step-by-step problem-solving and programming practice).
    ADDITIONAL RESOURCES
    WileyPLUS
    A research-based online environment for learning and assessment.
    Learn more
    CourseSmart
    Instant access to textbooks as eTextbooks.
    Learn more
    See More
    See Less
    Purchase Options
    Wiley E-Text   
    Java Concepts: Compatible with Java 5, 6 and 7, 6th Edition
    ISBN : 978-0-470-57405-8
    June 2010, ©2010
    $62.50   BUY

    Paperback   
    Java Concepts: Compatible with Java 5, 6 and 7, 6th Edition
    ISBN : 978-0-470-50947-0
    666 pages
    December 2009, ©2010
    $149.95   BUY

    Related Titles

    Back to Top