Introduction to Programming Using Java: An Object-Oriented Approach / Edition 1

Introduction to Programming Using Java: An Object-Oriented Approach / Edition 1

by David M. Arnow, Gerald Weiss
     
 

ISBN-10: 0201311844

ISBN-13: 9780201311846

Pub. Date: 03/28/1998

Publisher: Addison-Wesley

Features:
Uses object-oriented concepts from the very beginning--classes, objects, and messages are all introduced in Chapter 1--and develops them throughout. Applies a consistent class design procedure, usable by beginners.
Contains graphic user interface (GUI) supplements in each chapter . Provides an early introduction to testing, covering test drivers,

Overview

Features:
Uses object-oriented concepts from the very beginning--classes, objects, and messages are all introduced in Chapter 1--and develops them throughout. Applies a consistent class design procedure, usable by beginners.
Contains graphic user interface (GUI) supplements in each chapter . Provides an early introduction to testing, covering test drivers, debugging, and test case selection. Includes a chapter with three robust applications--a LOGO turtle, a Web surveyor, and Mancala (a strategy game)--which use the text's class design procedure and allow the students to tie the material together.

Product Details

ISBN-13:
9780201311846
Publisher:
Addison-Wesley
Publication date:
03/28/1998
Pages:
765
Product dimensions:
7.41(w) x 9.06(h) x 1.22(d)

Table of Contents

1 Jumping Into Java
1(22)
1.1 Computers and Programs
1(1)
1.2 Programs and Models
2(2)
1.3 Objects, Behavior, and Classes
4(1)
1.4 Our First Object: A Monitor
5(3)
1.5 Sending a Message to the System.out Object
8(2)
1.6 A Java Program
10(1)
Java Interlude: Identifiers, Statement Order, Format, and Comments
11(4)
1.7 Mechanics
15(3)
1.8 Time
18(1)
Summary
19(1)
Study Aid: Terminology Review
20(1)
Questions for Review
21(1)
Further Exercises
21(1)
GUI Supplement: Introduction
21(2)
2 Using Objects
23(34)
2.1 Introduction
23(1)
2.2 Using PrintStream Objects
23(1)
Java Interlude: References, Methods, and Messages
24(2)
2.3 The String Class
26(3)
2.4 Methods, Arguments, and Return Values
29(1)
2.5 Reference Variables
30(3)
Java Interlude: Variables and Assignment
33(5)
2.6 Using String Methods
38(7)
Java Interlude: More Than One Method, More Than One Message
45(4)
Summary
49(1)
Study Aid: Terminology Review
49(1)
Questions for Review
50(1)
Further Exercises
51(1)
GUI Supplement: Web Pages and HTML
51(6)
3 Using Classes
57(32)
3.1 Introduction
57(1)
3.2 Creating Objects
57(2)
Java Interlude: Origins of Objects
59(1)
3.3 Disk Files
60(2)
3.4 Writing Output to Files
62(4)
3.5 Input: An Overview
66(2)
3.6 Input: The Keyboard
68(3)
3.7 Interactive Input/Output
71(3)
3.8 Input: Disk Files
74(3)
3.9 Network Computing: An Introduction
77(4)
Summary
81(1)
Study Aid: Terminology Review
81(1)
Questions for Review
82(1)
Further Exercises
83(1)
GUI Supplement: Applets
83(6)
4 Defining Classes
89(52)
4.1 Introduction
89(1)
4.2 Class Definitions
90(6)
4.3 Designing Classes: Specifying an InteractiveIO Class
96(4)
4.4 Implementing the InteractiveIO Class
100(2)
4.5 Improve the Implementation but Don't Touch the Interface!
102(3)
Java Interlude: Variables, Declarations, and the return Statement
105(4)
4.6 Specifying a Name Class
109(4)
4.7 Implementing the Name Class
113(5)
4.8 State and Behavior
118(1)
4.9 Outputting Objects: Revisiting the Name Class
119(2)
4.10 Inputting Objects: Another Visit to the Name Class
121(4)
4.11 Our First Program Revisited
125(1)
Summary
126(1)
Study Aid: Terminology Review
126(2)
Questions for Review
128(1)
Further Exercises
129(1)
GUI Supplement: Applets, Painting, and Creating Controls
129(12)
5 The Class Design Process; Method Implementation and Numerical Processing
141(48)
5.1 Introduction
141(1)
5.2 Designing Classes--An Overview
142(1)
5.3 Numeric Processing--The int Data Type
142(1)
5.4 Collecting Tolls: An Example
143(10)
Java Interlude: Primitive Data Types, int, Expressions, and Operators
153(8)
Java Interlude: int Methods and int Input
161(2)
5.5 Other Integer Types
163(2)
5.6 Modeling the Numbers of Measurement
165(5)
Summary
170(1)
Study Aid: Terminology Review
171(1)
Questions for Review
172(1)
Further Exercises
172(1)
GUI Supplement: Drawing Text
173(16)
6 Controlling Behavior--Conditional Execution
189(56)
6.1 Introduction
189(1)
6.2 Conditional Execution--The if Statement
190(1)
6.3 Employee Payroll: An Example
190(10)
Java Interlude: The if Statement
200(6)
6.4 Input Methods Revisited: Testing for End of Input
206(1)
6.5 Type boolean and Boolean-Valued Expressions
207(2)
6.6 A Time Class
209(9)
Java Interlude: boolean, Compound Conditionals, and Logical Operators
218(6)
Summary
224(1)
Study Aid: Terminology Review
224(1)
Questions for Review
225(1)
Further Exercises
225(1)
GUI Supplement 1: Responding to Controls: Event-Handling
226(6)
GUI Supplement 2: Bringing the Calculator to Life
232(13)
7 Verifying Object Behavior
245(20)
7.1 Introduction
245(2)
7.2 Categories of Errors
247(3)
7.3 Test Drivers
250(2)
7.4 Automatic Testing
252(3)
7.5 What to Test and How to Test It
255(5)
7.6 Debugging Techniques
260(2)
Summary
262(1)
Study Aid: Terminology Review
262(1)
Questions for Review
263(1)
Further Exercises
263(2)
8 Working with Multiple Objects
265(50)
8.1 Introduction
265(1)
8.2 Processing Multiple Objects
266(3)
8.3 Loop Patterns
269(2)
8.4 The Impact of Loops on Testing
271(1)
8.5 A Radio Station's Song Library
272(6)
8.6 Maintaining Multiple Values
278(2)
8.7 Vector--A Simple Collection Class
280(1)
8.8 Moving Through a Vector--Enumerations
281(3)
8.9 Revisiting the SongLibrary Class
284(2)
Java Interlude: Primitive Types and Collections; Revisiting the Wrapper Classes
286(1)
8.10 An Example--Determining a Student's Relative Performance
287(5)
8.11 A Set Class
292(8)
Java Interlude: Class Object Methods
300(3)
Summary
303(1)
Study Aid: Terminology Review
304(1)
Questions for Review
305(1)
Further Exercises
305(1)
GUI Supplement: List, Checkbox, and CheckboxGroup
305(10)
9 Iteration
315(64)
9.1 Introduction
315(1)
9.2 Designing Loops
316(5)
9.3 Another Simple Example
321(5)
9.4 Revisiting the Loop Patterns of Chapter 8
326(6)
9.5 Variations on the Payroll Loop
332(6)
9.6 More Loop Patterns: Counters, Accumulators, and Extremes
338(7)
Java Interlude: The for Loop, Short Circuits, and break and continue
345(4)
9.7 A Loop Design Strategy: Refining an Imperfect Solution
349(5)
9.8 The Radio Station's Play Schedule
354(7)
Summary
361(1)
Study Aid: Terminology Review
362(1)
Questions for Review
362(1)
Further Exercises
363(1)
GUI Supplement: Threads
363(16)
10 Organizing Objects
379(82)
10.1 Indexing
379(3)
10.2 The Limitations of Enumerations
382(4)
10.3 Searching
386(5)
10.4 Self-Organizing Vectors
391(7)
Java Interlude: The Methods of Vector and Their Efficiency
398(3)
10.5 Finding the Index of an Extreme
401(2)
10.6 Binary Search
403(10)
10.7 Sorting
413(6)
10.8 Introducing Arrays
419(3)
10.9 Vectors and Arrays
422(2)
10.10 Command-Line Arguments
424(1)
10.11 Strings and Indices
425(2)
10.12 The Game of Life: Two-Dimensional Arrays
427(14)
Summary
441(1)
Study Aid: Terminology Review
442(1)
Questions for Review
442(1)
Further Exercises
443(1)
GUI Supplement: The Game of Life Applet
444(17)
11 Recursion
461(54)
11.1 Introduction
461(1)
11.2 Example: Exponentiation
462(3)
11.3 How to Design a Recursive Method
465(4)
11.4 Recursive Methods: Under the Hood
469(5)
11.5 Recursion with Vectors, Arrays, and Strings
474(3)
11.6 Permutations
477(4)
11.7 Towers of Hanoi
481(13)
11.8 Recursion and Iteration
494(3)
Summary
497(1)
Study Aid: Terminology Review
497(1)
Questions for Review
498(1)
Further Exercises
498(1)
GUI Supplement: Towers of Hanoi Applet
499(16)
12 Examples
515(112)
12.1 Introduction
515(1)
12.2 The LOGO Turtle
515(14)
12.3 Web Site Maintenance
529(32)
12.4 The Game of Mancala
561(35)
Summary
596(1)
Study Aid: Terminology Review
596(1)
Questions for Review
596(1)
Further Exercises
597(1)
GUI Supplement: A Graphical Interface for the Game of Mancala
597(30)
13 Extending Class Behavior
627(50)
13.1 Introduction
627(1)
13.2 Extending Classes--Inheritance I
628(1)
13.3 A Better BufferedReader
629(6)
13.4 Adding State to the Subclass--Accessing the Superclass's State
635(1)
13.5 Revisiting the Name Class--Adding Additional State
636(4)
Java Interlude: Inheritance
640(7)
13.6 Overriding Methods
647(2)
Java Interlude: Polymorphism
649(3)
13.7 Factoring out Common Behavior--Inheritance II
652(4)
13.8 Abstract Methods and Classes
656(2)
13.9 Specifying Common Behavior--Interfaces
658(3)
13.10 A Generic Sorting Method
661(3)
Summary
664(1)
Study Aid: Terminology Review
665(1)
Questions for Review
666(1)
Further Exercises
667(1)
GUI Supplement: Exploring the AWT Portion of the Java Class Hierarchy
667(10)
14 Exceptions
677(36)
14.1 Expect the Unexpected
677(1)
14.2 Encountering the Unexpected
678(4)
Java Interlude: The Exception Class
682(1)
14.3 Handling the Unexpected
683(5)
14.4 Responsibility for the Unexpected
688(2)
14.5 Exceptions Are Not Always Errors
690(3)
Summary
693(1)
Study Aid: Terminology Review
694(1)
Questions for Review
694(1)
Further Exercises
694(1)
Net Supplement: Clients and Servers
695(18)
Appendix A: Glossary of Terms 713(14)
Appendix B: Three Java Environments 727(10)
Appendix C: Some of Java's Predefined Classes, Interfaces, Methods, and Constants 737(30)
Appendix D: Exercises for Selected GUI Supplements 767(4)
Index 771

Customer Reviews

Average Review:

Write a Review

and post it to your social network

     

Most Helpful Customer Reviews

See all customer reviews >