Always Learning

Advanced Search

Starting Out with Java

Starting Out with Java

From Control Structures through Data Structures
4th Edition

Tony Gaddis, Godfrey Muganda

Mar 2018, Paperback, 1408 pages
ISBN13: 9780134787961
ISBN10: 013478796X
For orders to USA, Canada, Australia, New Zealand or Japan visit your local Pearson website
This title is ordered on demand which may result in extended delivery times.
  • Print pagePrint page
  • Email this pageEmail page
  • Share

For courses in computer programming in Java.

Provide a step-by-step introduction to programming in Java

Starting Out with Java: From Control Structures through Data Structures provides a step-by-step introduction to programming in Java. This text is designed to be used in a 2 or 3 semester sequence and covers everything from the fundamentals of Java programming to algorithms and data structures. As with all Gaddis texts, every chapter contains clear and easy-to-read code listings, concise and practical real-world examples, and an abundance of exercises. With the 4th Edition, JavaFX has replaced Swing as the standard GUI library for Java in chapters that focus on GUI development. The Swing and Applet material from the previous edition is available online.

Note: This ISBN contains an Access Code on the inside front cover that provides access to the Companion Website at

1. Introduction to Computers and Java

2. Java Fundamentals

3. Decision Structures

4. Loops and Files

5. Methods

6. A First Look at Classes

7. Arrays and the ArrayList Class

8. A Second Look at Classes and Objects

9. Text Processing and More about Wrapper Classes

10. Inheritance

11. Exceptions and Advanced File I/O

12. JavaFX: GUI Programming and Basic Controls

13. JavaFX: Advanced Controls

14. JavaFX: Graphics, Effects, and Media

15. Recursion

16. Sorting, Searching, and Algorithm Analysis

17. Generics

18. Collections and the Stream API

19. Linked Lists

20. Stacks and Queues

21. Binary Trees, AVL Trees, and Priority Queues

Online Appendices

Appendix A: The ASCII/Unicode Characters

Appendix B: Operator Precedence and Associativity

Appendix C: Java Key Words

Appendix D: Installing the JDK and Using the JDK Documentation

Appendix E: Using the javadoc Utility

Appendix F: More about the Math Class

Appendix G: Packages

Appendix H: Working with Records and Random Access Files

Appendix I: Configuring JavaDB and Installing Apache Derby

Appendix J: The QuickSort Algorithm

Appendix K: Named Colors

Appendix L: Answers to Checkpoints

Appendix M: Answers to Odd-Numbered Review Questions

Online Chapters

Chapter 22: Databases

Chapter 23: A First Look at GUI Applications with Swing

Chapter 24: Advanced Swing GUI Applications

Chapter 25: Applets and More

Online Case Studies

Case Study 1: Calculating Sales Commission

Case Study 2: The Amortization Class

Case Study 3: The PinTester Class

Case Study 4: Parallel Arrays

Case Study 5: The FeetInches Class

Case Study 6: The Serial Number Class

Case Study 7: A Simple Text Editor Application

Practical organization helps students grasp important concepts before applying them

  • Written in a clear, friendly, and easy-to-understand manner, the text uses a step-by-step approach to teach Java with each chapter covering a major set of topics and building knowledge as students progress through the book.
  • Procedural programming is covered before object-oriented programming, ensuring that students understand fundamental programming and problem-solving concepts.
  • Revised - JavaFX has replaced Swing in the chapters that focus on GUI development.
  • New - Three chapters (Ch. 12-14) discuss basics of (GUI) applications with JavaFX, CSS styling and advanced user interface controls, and 2D shapes, animation, visual effects, playing audio and video, and responding to mouse and keyboard events.
  • Updated - Online Database Chapter 22 now uses JavaFX instead of Swing for its GUI applications.
  • Chapters 23 – 25 (Online): Legacy Swing GUI Chapters. The previous edition’s chapters on Swing GUI and Applet programming are now available on the book's companion website ( as Chapters 23 through 25.

Pedagogical features convey and reinforce major concepts

  • New - Several new, motivational programming problems have been added throughout the book.
  • Example Programs are practical, real-world examples designed to highlight the current topic.
  • Review Questions and Exercises appear in each chapter and present a thorough and diverse set of review questions and exercises.
  • Programming Challenges and Case Studies present real-world problems to be solved, and solidify students’ knowledge of topics at hand offer.
  • In the Spotlight, Concept Statements, Checkpoints, and Program Outputs appear throughout each chapter to reinforce students’ understanding of key chapter topics.
  • Updated - VideoNotes developed specifically for this book are available at Icons appear throughout the text alerting the student to videos about specific topics.

Check out the preface for a complete list of features and what's new in this edition.

Tony Gaddis is the principal author of the Starting Out With series of textbooks. Tony has nearly 20 years experience teaching computer science courses at Haywood Community College in North Carolina. He is a highly acclaimed instructor who was previously selected as the North Carolina Community College Teacher of the Year and has received the Teaching Excellence award from the National Institute for Staff and Organizational Development. The Starting Out With series includes introductory books using the C++ programming language, the Java™ programming language, Microsoft® Visual Basic®, Microsoft® C#®, Python, Programming Logic and Design, MIT App Inventor, and Alice, all published by Pearson.

Godfrey Muganda is Professor of Computer Science at North Central College. He teaches a wide variety of courses at the undergraduate and graduate levels including courses in Linux and Unix programming, Windows and .NET programming, web application Development, web services, data structures, and algorithms. He is a past winner of the North Central College faculty award for outstanding scholarship. His primary research interests are in the area of fuzzy sets and systems.