did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780321421029

Starting Out with Java : From Control Structures Through Data Structures

by ;
  • ISBN13:

    9780321421029

  • ISBN10:

    0321421027

  • Edition: 1st
  • Format: Paperback
  • Copyright: 2007-01-01
  • Publisher: Addison Wesley
  • View Upgraded Edition

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $140.00 Save up to $35.00
  • Buy Used
    $105.00
    Add to Cart Free Shipping Icon Free Shipping

    USUALLY SHIPS IN 2-4 BUSINESS DAYS

Supplemental Materials

What is included with this book?

Summary

Starting Out with Java: From Control Structures through Data Structures is designed to be used in a 2 or 3 semester/quarter sequence for beginning programmers. Tony Gaddis emphasizes problem-solving and program design by teaching the Java programming language through a step-by-step detailed presentation. He introduces procedural programming early and covers control structures and methods before objects. Students are engaged and have plenty of opportunity to practice using programming concepts through practical tools that includeend-of-section and chapter exercises, case studies and programming projects.

Table of Contents

Preface xv
Introduction to Computers and Java
1(26)
Introduction
1(1)
Why Program?
1(1)
Computer Systems: Hardware and Software
2(4)
Programming Languages
6(3)
What is a Program Made of?
9(7)
The Programming Process
16(3)
Object-Oriented Programming
19(8)
Review Questions and Exercises
21(4)
Programming Challenge
25(2)
Java Fundamentals
27(80)
The Parts of a Java Program
27(6)
The print and println Methods, and the Java API
33(6)
Variables and Literals
39(6)
Primitive Data Types
45(11)
Arithmetic Operators
56(6)
Combined Assignment Operators
62(1)
Conversion between Primitive Data Types
63(4)
Creating Named Constants with final
67(2)
The String Class
69(5)
Scope
74(2)
Comments
76(5)
Programming Style
81(2)
Reading Keyboard Input
83(8)
Dialog Boxes
91(7)
Common Errors to Avoid
98(9)
Review Questions and Exercises
99(5)
Programming Challenges
104(3)
Decision Structures
107(68)
The if Statement
107(10)
The if-else Statement
117(3)
The if-else-if Statement
120(6)
Nested if Statements
126(5)
Logical Operators
131(8)
Comparing String Objects
139(6)
More about Variable Declaration and Scope
145(1)
The Conditional Operator (Optional)
146(2)
The switch Statement
148(7)
Creating Objects with the DecimalFormat Class
155(6)
The printf Method
161(3)
Common Errors to Avoid
164(11)
Review Questions and Exercises
165(6)
Programming Challenges
171(4)
Loops and Files
175(60)
The Increment and Decrement Operators
175(4)
The while Loop
179(5)
Using the while Loop for Input Validation
184(4)
The do-while Loop
188(3)
The for Loop
191(8)
Running Totals and Sentinel Values
199(4)
Nested Loops
203(1)
The break and continue Statements (Optional)
204(1)
Deciding Which Loop to Use
205(1)
Introduction to File Input and Output
205(16)
The Random Class
221(2)
Common Errors to Avoid
223(12)
Review Questions and Exercises
224(7)
Programming Challenges
231(4)
Methods
235(46)
Introduction to Methods
235(10)
Passing Arguments to a Method
245(12)
More about Local Variables
257(2)
Returning a Value from a Method
259(6)
Problem Solving with Methods
265(5)
Common Errors to Avoid
270(11)
Review Questions and Exercises
271(4)
Programming Challenges
275(6)
A First Look at Classes
281(62)
Classes and Objects
281(23)
Instance Fields and Methods
304(5)
Constructors
309(4)
Overloading Methods and Constructors
313(9)
Scope of Instance Fields
322(1)
Packages and import Statements
323(2)
Focus on Object-Oriented Design: Finding the Classes and Their Responsibilities
325(7)
Common Errors to Avoid
332(11)
Review Questions and Exercises
332(6)
Programming Challenges
338(5)
A First Look at GUI Applications
343(88)
Introduction
343(3)
Creating Windows
346(28)
Equipping GUI Classes with a main Method
374(1)
Layout Managers
375(17)
Radio Buttons and Check Boxes
392(11)
Borders
403(3)
Focus on Problem Solving: Extending Classes from JPanel
406(12)
Using Console Output to Debug a GUI Application
418(5)
Common Errors to Avoid
423(8)
Review Questions and Exercises
423(4)
Programming Challenges
427(4)
Arrays and the ArrayList Class
431(82)
Introduction to Arrays
431(10)
Processing Array Elements
441(9)
Passing Arrays As Arguments to Methods
450(4)
Some Useful Array Algorithms and Operations
454(9)
Returning Arrays from Methods
463(2)
String Arrays
465(3)
Arrays of Objects
468(3)
The Sequential Search Algorithm
471(3)
Two-Dimensional Arrays
474(12)
Arrays with Three or More Dimensions
486(1)
Command-Line Arguments and Variable-Length Argument Lists
487(4)
The ArrayList Class
491(10)
Common Errors to Avoid
501(12)
Review Questions and Exercises
502(4)
Programming Challenges
506(7)
A Second Look at Classes and Objects
513(64)
Static Class Members
513(7)
Passing Objects As Arguments to Methods
520(3)
Returning Objects from Methods
523(2)
The toString Method
525(4)
Writing an equals Method
529(3)
Methods That Copy Objects
532(3)
Aggregation
535(13)
The this Reference Variable
548(3)
Enumerated Types
551(9)
Garbage Collection
560(2)
Focus on Object-Oriented Design: Class Collaboration
562(4)
Common Errors to Avoid
566(11)
Review Questions and Exercises
567(4)
Programming Challenges
571(6)
Text Processing and More about Wrapper Classes
577(54)
Introduction to Wrapper Classes
577(1)
Character Testing and Conversion with the Character Class
578(8)
More String Methods
586(14)
The StringBuffer Class
600(7)
Tokenizing Strings
607(8)
Wrapper Classes for the Numeric Data Types
615(3)
Focus on Problem Solving: The TestScoreReader Class
618(5)
Common Errors to Avoid
623(8)
Review Questions and Exercises
623(4)
Programming Challenges
627(4)
Inheritance
631(80)
What Is Inheritance?
631(13)
Calling the Superclass Constructor
644(8)
Overriding Superclass Methods
652(9)
Protected Members
661(6)
Chains of Inheritance
667(6)
The Object Class
673(2)
Polymorphism
675(5)
Abstract Classes and Abstract Methods
680(6)
Interfaces
686(13)
Common Errors to Avoid
699(12)
Review Questions and Exercises
700(5)
Programming Challenges
705(6)
Exceptions and More about Stream I/O
711(64)
Handling Exceptions
711(22)
Throwing Exceptions
733(6)
More about Input/Output Streams
739(9)
Advanced Topics: Binary Files, Random Access Files, and Object Serialization
748(17)
Common Errors to Avoid
765(10)
Review Questions and Exercises
766(7)
Programming Challenges
773(2)
Advanced GUI Applications
775(68)
The Swing and AWT Class Hierarchy
775(1)
Read-Only Text Fields
776(2)
Lists
778(16)
Combo Boxes
794(6)
Displaying Images in Labels and Buttons
800(6)
Mnemonics and Tool Tips
806(2)
File Choosers and Color Choosers
808(4)
Menus
812(9)
More about Text Components: Text Areas and Fonts
821(4)
Sliders
825(5)
Look and Feel
830(2)
Common Errors to Avoid
832(11)
Review Questions and Exercises
833(5)
Programming Challenges
838(5)
Applets and More
843(74)
Introduction to Applets
843(2)
A Brief Introduction to HTML
845(10)
Creating Applets with Swing
855(7)
Using AWT for Portability
862(5)
Drawing Shapes
867(22)
Handling Mouse Events
889(10)
Timer Objects
899(4)
Playing Audio
903(4)
Common Errors to Avoid
907(10)
Review Questions and Exercises
908(6)
Programming Challenges
914(3)
Recursion
917(24)
Introduction to Recursion
917(3)
Solving Problems with Recursion
920(5)
Examples of Recursive Methods
925(6)
The Towers of Hanoi
931(4)
Common Errors to Avoid
935(6)
Review Questions and Exercises
936(3)
Programming Challenges
939(2)
Sorting, Searching, and Algorithm Analysis
941(50)
Introduction to Sorting Algorithms
941(25)
Introduction to Search Algorithms
966(11)
Analysis of Algorithms
977(7)
Common Errors to Avoid
984(7)
Review Questions and Exercises
985(3)
Programming Challenges
988(3)
Generics
991(44)
Introduction to Generics
991(3)
Writing a Generic Class
994(8)
Passing Objects of a Generic Class to a Method
1002(6)
Writing Generic Methods
1008(1)
Constraining a Type Parameter in a Generic Class
1009(3)
Inheritance and Generic Classes
1012(4)
Defining Multiple Type Parameters
1016(3)
Generics and Interfaces
1019(4)
Erasure
1023(3)
Restrictions on the Use of Generic Types
1026(2)
Common Errors to Avoid
1028(7)
Review Questions and Exercises
1028(4)
Programming Challenges
1032(3)
Collections
1035(68)
Introduction to the Java Collections Framework
1035(6)
Lists
1041(20)
Sets
1061(17)
Maps
1078(14)
The Collections Class
1092(4)
Common Errors to Avoid
1096(7)
Review Questions and Exercises
1096(4)
Programming Challenges
1100(3)
Array-Based Lists
1103(48)
Introduction to Lists
1103(1)
Creating an Array-Based List to Hold String Objects
1104(21)
Creating a Generic Array-Based List
1125(15)
Writing Iterator Classes and Iterable Lists
1140(11)
Review Questions and Exercises
1147(2)
Programming Challenges
1149(2)
Linked Lists
1151(46)
Introduction to Linked Lists
1151(7)
Operations on Linked Lists
1158(12)
Doubly-Linked and Circularly-Linked Lists
1170(9)
Recursion on Linked Lists
1179(11)
Common Errors to Avoid
1190(7)
Review Questions and Exercises
1190(4)
Programming Challenges
1194(3)
Stacks and Queues
1197(38)
Stacks and Their Applications
1197(3)
Array Implementation of Stacks
1200(6)
Linked Implementation of Stacks
1206(5)
Queues and Their Applications
1211(1)
Array Implementation of Queues
1211(11)
Linked List Implementation of Queues
1222(5)
Generic Implementation of Stacks and Queues
1227(3)
Common Errors to Avoid
1230(5)
Review Questions and Exercises
1231(2)
Programming Challenges
1233(2)
Binary Trees, AVL Trees, and Priority Queues
1235(60)
Binary Trees and Their Applications
1235(10)
Binary Search Trees
1245(17)
AVL Trees
1262(13)
Priority Queues
1275(14)
Common Errors to Avoid
1289(6)
Review Questions and Exercises
1289(4)
Programming Challenges
1293(2)
Index 1295

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program