STARTING OUT W/JAVA:EARLY OBJECTS - 4th Edition - by GADDIS - ISBN 9780132164764

STARTING OUT W/JAVA:EARLY OBJECTS
4th Edition
GADDIS
Publisher: PEARSON
ISBN: 9780132164764

Sorry! We don’t have solutions for this edition yet.

Solutions are available for other editions of this book

View 6th Edition solutions

Book Details

Table of Contents Preface xv Chapter 1 Introduction to Computers and Java 1 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Why Program? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.3 Computer Systems: Hardware and Software . . . . . . . . . . . . . . . . . . . . . 2 1.4 Programming Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.5 What Is a Program Made of? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.6 The Programming Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.7 Object-Oriented Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Review Questions and Exercises 24 Programming Challenge 28 Chapter 2 Java Fundamentals 31 2.1 The Parts of a Java Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.2 The print and printIn Methods, and the Java API . . . . . . . . . . . . . . 37 2.3 Variables and Literals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.4 Primitive Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.5 Arithmetic Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 2.6 Combined Assignment Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 2.7 Conversion between Primitive Data Types . . . . . . . . . . . . . . . . . . . . . . 70 2.8 Creating Named Constants with final . . . . . . . . . . . . . . . . . . . . . . . . 74 2.9 The String Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 2.10 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 2.11 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 2.12 Programming Style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 2.13 Reading Keyboard Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 2.14 Dialog Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 2.15 The printf Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 2.16 Common Errors to Avoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Review Questions and Exercises 109 Programming Challenges 113 Chapter 3 A First Look at Classes and Objects 119 3.1 Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 3.2 More about Passing Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 3.3 Instance Fields and Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 3.4 Constructors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 3.5 A Bank Account Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 3.6 Classes, Variables, and Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 3.7 Packages and import Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 3.8 Focus on Object-Oriented Design: Finding the Classes and Their Responsibilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 3.9 Common Errors to Avoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 Review Questions and Exercises 173 Programming Challenges 177 Chapter 4 Decision Structures 181 4.1 The if Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 4.2 The if-else Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 4.3 The Payroll Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 4.4 Nested i f Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 4.5 The if-else-if Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 4.6 Logical Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 4.7 Comparing String Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 4.8 More about Variable Declaration and Scope . . . . . . . . . . . . . . . . . . . 223 4.9 The Conditional Operator (Optional) . . . . . . . . . . . . . . . . . . . . . . . . . 225 4.10 The switch Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 4.11 Formatting Numbers with the Decimal Format Class. . . . . . . . . . . . 236 4.12 Focus on Problem Solving: The Sales Commission Class . . . . . . . . . . 240 4.13 The Random Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 4.14 Common Errors to Avoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 Review Questions and Exercises 251 Programming Challenges 256 Chapter 5 Loops and Files 263 5.1 The Increment and Decrement Operators . . . . . . . . . . . . . . . . . . . . . 263 5.2 The while Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 5.3 Using the while Loop for Input Validation . . . . . . . . . . . . . . . . . . . . . 274 5.4 The do-while Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 5.5 The for Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 5.6 Running Totals and Sentinel Values . . . . . . . . . . . . . . . . . . . . . . . . . . 291 5.7 Nested Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 5.8 The break and continue Statements . . . . . . . . . . . . . . . . . . . . . . . . 299 5.9 Deciding Which Loop to Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 5.10 Introduction to File Input and Output . . . . . . . . . . . . . . . . . . . . . . . . 300 5.11 Common Errors to Avoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 Review Questions and Exercises 321 Programming Challenges 326 Chapter 6 A Second Look at Classes and Objects 333 6.1 Static Class Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 6.2 Overloaded Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 6.3 Overloaded Constructors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 6.4 Passing Objects as Arguments to Methods . . . . . . . . . . . . . . . . . . . . . 352 6.5 Returning Objects from Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 6.6 The toString Method. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 6.7 Writing an equals Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 6.8 Methods That Copy Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 6.9 Aggregation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 6.10 The this Reference Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 6.11 Inner Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 6.12 Enumerated Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 6.13 Garbage Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 6.14 Focus on Object-Oriented Design: Class Collaboration . . . . . . . . . . . 397 6.15 Common Errors to Avoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 Review Questions and Exercises 402 Programming Challenges 407 Chapter 7 Arrays and the ArrayList Class 413 7.1 Introduction to Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 7.2 Processing Array Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 7.3 Passing Arrays as Arguments to Methods . . . . . . . . . . . . . . . . . . . . . . 436 7.4 Some Useful Array Algorithms and Operations . . . . . . . . . . . . . . . . . . 440 7.5 Returning Arrays from Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 7.6 String Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454 7.7 Arrays of Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458 7.8 The Sequential Search Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462 7.9 The Selection Sort and the Binary Search Algorithms . . . . . . . . . . . . . 465 7.10 Two-Dimensional Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473 7.11 Arrays with Three or More Dimensions . . . . . . . . . . . . . . . . . . . . . . . 485 7.12 Command-Line Arguments and Variable-Length Argument Lists . . . . 486 7.13 The ArrayList Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490 7.14 Common Errors to Avoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 Review Questions and Exercises 499 Programming Challenges 503 Chapter 8 Text Processing and Wrapper Classes 511 8.1 Introduction to Wrapper Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511 8.2 Character Testing and Conversion with the Character Class . . . . . . . 512 8.3 More about String Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 8.4 The StringBuilder Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533 8.5 Tokenizing Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542 8.6 Wrapper Classes for the Numeric Data Types . . . . . . . . . . . . . . . . . . . 551 8.7 Focus on Problem Solving: The Test Score Reader Class . . . . . . . . . . 555 8.8 Common Errors to Avoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559 Review Questions and Exercises 559 Programming Challenges 563 Chapter 9 Inheritance 569 9.1 What Is Inheritance? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569 9.2 Calling the Superclass Constructor . . . . . . . . . . . . . . . . . . . . . . . . . . . 580 9.3 Overriding Superclass Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588 9.4 Protected Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596 9.5 Classes That Inherit from Subclasses. . . . . . . . . . . . . . . . . . . . . . . . . . 603 9.6 The Object Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608 9.7 Polymorphism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610 9.8 Abstract Classes and Abstract Methods . . . . . . . . . . . . . . . . . . . . . . . 615 9.9 Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621 9.10 Common Errors to Avoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632 Review Questions and Exercises 633 Programming Challenges 639 Chapter 10 Exceptions and Advanced File I /O 645 10.1 Handling Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645 10.2 Throwing Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666 10.3 Advanced Topics: Binary Files, Random Access Files, and Object Serialization . . . . . . . . . . . . . . . . . . 674 10.4 Common Errors to Avoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690 Review Questions and Exercises 691 Programming Challenges 697 Chapter 11 GUI Applications–Part 1 701 11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701 11.2 Dialog Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704 11.3 Creating Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715 11.4 Equipping GUI Classes with a main Method. . . . . . . . . . . . . . . . . . . . 739 11.5 Layout Managers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741 11.6 Radio Buttons and Check Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758 11.7 Borders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 771 11.8 Focus on Problem Solving: Extending the JPanel Class . . . . . . . . . . . 773 11.9 Splash Screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787 11.10 Using Console Output to Debug a GUI Application . . . . . . . . . . . . . . 788 11.11 Common Errors to Avoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792 Review Questions and Exercises 793 Programming Challenges 798 Chapter 12 GUI Applications–Part 2 803 12.1 Read-Only Text Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803 12.2 Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804 12.3 Combo Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821 12.4 Displaying Images in Labels and Buttons . . . . . . . . . . . . . . . . . . . . . . 827 12.5 Mnemonics and Tool Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833 12.6 File Choosers and Color Choosers . . . . . . . . . . . . . . . . . . . . . . . . . . . 835 12.7 Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839 12.8 More about Text Components: Text Areas and Fonts . . . . . . . . . . . . . 848 12.9 Sliders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853 12.10 Look and Feel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 857 12.11 Common Errors to Avoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 859 Review Questions and Exercises 860 Programming Challenges 865 Chapter 13 Applets and More 869 13.1 Introduction to Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 869 13.2 A Brief Introduction to HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 871 13.3 Creating Applets with Swing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 881 13.4 Using AWT for Portability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 889 13.5 Drawing Shapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894 13.6 Handling Mouse Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 914 13.7 Timer Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925 13.8 Playing Audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 929 13.9 Common Errors to Avoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934 Review Questions and Exercises 934 Programming Challenges 940 Chapter 14 Recursion 943 14.1 Introduction to Recursion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943 14.2 Solving Problems with Recursion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946 14.3 Examples of Recursive Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 950 14.4 A Recursive Binary Search Method . . . . . . . . . . . . . . . . . . . . . . . . . . . 957 14.5 The Towers of Hanoi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 960 14.6 Common Errors to Avoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 964 Review Questions and Exercises 965 Programming Challenges 968 Chapter 15 Databases 971 15.1 Introduction to Database Management Systems . . . . . . . . . . . . . . . . 971 15.2 Tables, Rows, and Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974 15.3 The SQL SELECT Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977 15.4 Introduction to JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986 15.5 Inserting Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994 15.6 Updating and Deleting Existing Rows . . . . . . . . . . . . . . . . . . . . . . . . 996 15.7 Creating and Deleting Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 998 15.8 Creating a New Database with Java DB . . . . . . . . . . . . . . . . . . . . . . 1001 15.9 Scrollable Result Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003 15.10 Result Set Meta Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1005 15.11 Displaying Query Results in a J Table . . . . . . . . . . . . . . . . . . . . . . . 1008 15.12 Relational Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1019 15.13 Advanced Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1040 15.14 Common Errors to Avoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1042 Review Questions and Exercises 1042 Programming Challenges 1047 Appendix A Getting Started with Alice 1049 Index 1077 Available on the book’s online resource page at www.pearsonhighered.com/gaddis: Appendix B The ASCII/Unicode Characters Appendix C Operator Precedence and Associativity Appendix D Java Key Words Appendix E Installing the JDK and JDK Documentation Appendix F Using the javadoc Utility Appendix G More about the Math Class Appendix H Packages Appendix I Working with Records and Random-Access Files Appendix J Installing Java DB Appendix K The QuickSort Algorithm Appendix L Answers to Checkpoints Questions Appendix M Answers to Odd-Numbered Review Questions Case Study 1 The Amortization Class Case Study 2 The PinTester Class Case Study 3 Parallel Arrays Case Study 4 The Serial Number Class Case Study 5 A Simple Text Editor Application

More Editions of This Book

Corresponding editions of this textbook are also available below:

Starting Out With Java: Early Objects (3rd Edition)
3rd Edition
ISBN: 9780321497680
Starting Out with Java: Early Objects, Student Value Edition (6th Edition)
6th Edition
ISBN: 9780134457918
Pearson eText for Starting Out with Java: Early Objects -- Instant Access (Pearson+)
6th Edition
ISBN: 9780137516803
Starting Out with Java: Early Objects (6th Edition)
6th Edition
ISBN: 9780134462011
Starting Out with Java: Early Objects plus MyProgrammingLab with Pearson eText -- Access Card Package (5th Edition)
5th Edition
ISBN: 9780133796308

Related Computer Science Textbooks with Solutions

Still sussing out bartleby
Check out a sample textbook solution.
See a sample solution