Starting Out with Java
Subtitle: From Control Structures through Data Structures
Edition: 1 Pap/Cdr edition
Publisher: Addison Wesley
Published: August 4, 2006
Language: eng
Format: Paperback
Number of pages: 1319
ISBN-13: 9780321421029
Subjects: Java & variants; Computers; Computers - General Information; Computer Books: Languages; Computer Engineering; Engineering - Electrical & Electronic; Programming Languages - Java; Computers / Programming Languages / Java; Data structures (Computer science); Java (Computer program language)
Table of contents: title: Preface
pagenum: xv; label: Chapter 1
title: Introduction to Computers and Java
pagenum: 1; label: 1.1
title: Introduction
pagenum: 1; label: 1.2
title: Why Program?
pagenum: 1; label: 1.3
title: Computer Systems: Hardware and Software
pagenum: 2; label: 1.4
title: Programming Languages
pagenum: 6; label: 1.5
title: What Is a Program Made Of?
pagenum: 9; label: 1.6
title: The Programming Process
pagenum: 16; label: 1.7
title: Object-Oriented Programming
pagenum: 19; title: Review Questions and Exercises
pagenum: 21; title: Programming Challenge
pagenum: 25; label: Chapter 2
title: Java Fundamentals
pagenum: 27; label: 2.1
title: The Parts of a Java Program
pagenum: 27; label: 2.2
title: The print and println Methods and the Java API
pagenum: 33; label: 2.3
title: Variables and Literals
pagenum: 39; label: 2.4
title: Primitive Data Types
pagenum: 45; label: 2.5
title: Arithmetic Operators
pagenum: 56; label: 2.6
title: Combined Assignment Operators
pagenum: 62; label: 2.7
title: Conversion between Primitive Data Types
pagenum: 63; label: 2.8
title: Creating Named Constants with final
pagenum: 67; label: 2.9
title: The String Class
pagenum: 69; label: 2.10
title: Scope
pagenum: 74; label: 2.11
title: Comments
pagenum: 76; label: 2.12
title: Programming Style
pagenum: 81; label: 2.13
title: Reading Keyboard Input
pagenum: 83; label: 2.14
title: Dialog Boxes
pagenum: 91; label: 2.15
title: Common Errors to Avoid
pagenum: 98; title: Review Questions and Exercises
pagenum: 99; title: Programming Challenges
pagenum: 104; label: Chapter 3
title: Decision Structures
pagenum: 107; label: 3.1
title: The if Statement
pagenum: 107; label: 3.2
title: The if-else Statement
pagenum: 117; label: 3.3
title: The if-else-if Statement
pagenum: 120; label: 3.4
title: Nested if Statements
pagenum: 126; label: 3.5
title: Logical Operators
pagenum: 133; label: 3.6
title: Comparing String Objects
pagenum: 139; label: 3.7
title: More about Variable Declaration and Scope
pagenum: 145; label: 3.8
title: The Conditional Operator (Optional)
pagenum: 146; label: 3.9
title: The switch Statement
pagenum: 148; label: 3.10
title: Creating Objects with the DecimalFormat Class
pagenum: 155; label: 3.11
title: The printf Method
pagenum: 161; label: 3.12
title: Common Errors to Avoid
pagenum: 164; title: Review Questions and Exercises
pagenum: 165; title: Programming Challenges
pagenum: 171; label: Chapter 4
title: Loops and Files
pagenum: 175; label: 4.1
title: The Increment and Decrement Operators
pagenum: 175; label: 4.2
title: The while Loop
pagenum: 179; label: 4.3
title: Using the while Loop for Input Validation
pagenum: 184; label: 4.4
title: The do-while Loop
pagenum: 188; label: 4.5
title: The for Loop
pagenum: 191; label: 4.6
title: Running Totals and Sentinel Values
pagenum: 199; label: 4.7
title: Nested Loops
pagenum: 203; label: 4.8
title: The break and continue Statements (Optional)
pagenum: 204; label: 4.9
title: Deciding Which Loop to Use
pagenum: 205; label: 4.10
title: Introduction to File Input and Output
pagenum: 205; label: 4.11
title: The Random Class
pagenum: 221; label: 4.12
title: Common Errors to Avoid
pagenum: 223; title: Review Questions and Exercises
pagenum: 224; title: Programming Challenges
pagenum: 231; label: Chapter 5
title: Methods
pagenum: 235; label: 5.1
title: Introduction to Methods
pagenum: 235; label: 5.2
title: Passing Arguments to a Method
pagenum: 245; label: 5.3
title: More about Local Variables
pagenum: 257; label: 5.4
title: Returning a Value from a Method
pagenum: 259; label: 5.5
title: Problem Solving with Methods
pagenum: 265; label: 5.6
title: Common Errors to Avoid
pagenum: 270; title: Review Questions and Exercises
pagenum: 271; title: Programming Challenges
pagenum: 275; label: Chapter 6
title: A First Look at Classes
pagenum: 281; label: 6.1
title: Classes and Objects
pagenum: 281; label: 6.2
title: Instance Fields and Methods
pagenum: 304; label: 6.3
title: Constructors
pagenum: 309; label: 6.4
title: Overloading Methods and Constructors
pagenum: 313; label: 6.5
title: Scope of Instance Fields
pagenum: 322; label: 6.6
title: Packages and import Statements
pagenum: 323; label: 6.7
title: Focus on Object-Oriented Design: Finding the Classes and Their Responsibilities
pagenum: 325; label: 6.8
title: Common Errors to Avoid
pagenum: 332; title: Review Questions and Exercises
pagenum: 332; title: Programming Challenges
pagenum: 338; label: Chapter 7
title: A First Look at GUI Applications
pagenum: 343; label: 7.1
title: Introduction
pagenum: 343; label: 7.2
title: Creating Windows
pagenum: 346; label: 7.3
title: Equipping GUI Classes with a main Method
pagenum: 374; label: 7.4
title: Layout Managers
pagenum: 375; label: 7.5
title: Radio Buttons and Check Boxes
pagenum: 392; label: 7.6
title: Borders
pagenum: 403; label: 7.7
title: Focus on Problem Solving: Extending Classes from JPanel
pagenum: 406; label: 7.8
title: Using Console Output to Debug a GUI Application
pagenum: 418; label: 7.9
title: Common Errors to Avoid
pagenum: 423; title: Review Questions and Exercises
pagenum: 423; title: Programming Challenges
pagenum: 427; label: Chapter 8
title: Arrays and the ArrayList Class
pagenum: 431; label: 8.1
title: Introduction to Arrays
pagenum: 431; label: 8.2
title: Processing Array Elements
pagenum: 441; label: 8.3
title: Passing Arrays as Arguments to Methods
pagenum: 450; label: 8.4
title: Some Useful Array Algorithms and Operations
pagenum: 454; label: 8.5
title: Returning Arrays from Methods
pagenum: 463; label: 8.6
title: String Arrays
pagenum: 465; label: 8.7
title: Arrays of Objects
pagenum: 468; label: 8.8
title: The Sequential Search Algorithm
pagenum: 471; label: 8.9
title: Two-Dimensional Arrays
pagenum: 474; label: 8.10
title: Arrays with Three or More Dimensions
pagenum: 486; label: 8.11
title: Command-Line Arguments and Variable-Length Argument Lists
pagenum: 487; label: 8.12
title: The ArrayList Class
pagenum: 499; label: 8.13
title: Common Errors to Avoid
pagenum: 501; title: Review Questions and Exercises
pagenum: 502; title: Programming Challenges
pagenum: 506; label: Chapter 9
title: A Second Look at Classes and Objects
pagenum: 513; label: 9.1
title: Static Class Members
pagenum: 513; label: 9.2
title: Passing Objects as Arguments to Methods
pagenum: 520; label: 9.3
title: Returning Objects from Methods
pagenum: 523; label: 9.4
title: The toString Method
pagenum: 525; label: 9.5
title: Writing an equals Method
pagenum: 529; label: 9.6
title: Methods That Copy Objects
pagenum: 532; label: 9.7
title: Aggregation
pagenum: 535; label: 9.8
title: The this Reference Variable
pagenum: 548; label: 9.9
title: Enumerated Types
pagenum: 551; label: 9.10
title: Garbage Collection
pagenum: 560; label: 9.11
title: Focus on Object-Oriented Design: Class Collaboration
pagenum: 562; label: 9.12
title: Common Errors to Avoid
pagenum: 566; title: Review Questions and Exercises
pagenum: 567; title: Programming Challenges
pagenum: 571; label: Chapter 10
title: Text Processing and More about Wrapper Classes
pagenum: 577; label: 10.1
title: Introduction to Wrapper Classes
pagenum: 577; label: 10.2
title: Character Testing and Conversion with the Character Class
pagenum: 578; label: 10.3
title: More String Methods
pagenum: 586; label: 10.4
title: The StringBuffer Class
pagenum: 600; label: 10.5
title: Tokenizing Strings
pagenum: 607; label: 10.6
title: Wrapper Classes for the Numeric Data Types
pagenum: 615; label: 10.7
title: Focus on Problem Solving: The TestScoreReader Class
pagenum: 618; label: 10.8
title: Common Errors to Avoid
pagenum: 623; title: Review Questions and Exercises
pagenum: 623; title: Programming Challenges
pagenum: 627; label: Chapter 11
title: Inheritance
pagenum: 631; label: 11.1
title: What Is Inheritance?
pagenum: 631; label: 11.2
title: Calling the Superclass Constructor
pagenum: 644; label: 11.3
title: Overriding Superclass Methods
pagenum: 652; label: 11.4
title: Protected Members
pagenum: 661; label: 11.5
title: Chains of Inheritance
pagenum: 667; label: 11.6
title: The Object Class
pagenum: 673; label: 11.7
title: Polymorphism
pagenum: 675; label: 11.8
title: Abstract Classes and Abstract Methods
pagenum: 680; label: 11.9
title: Interfaces
pagenum: 686; label: 11.10
title: Common Errors to Avoid
pagenum: 699; title: Review Questions and Exercises
pagenum: 700; title: Programming Challenges
pagenum: 705; label: Chapter 12
title: Exceptions and More about Stream I/O
pagenum: 711; label: 12.1
title: Handling Exceptions
pagenum: 711; label: 12.2
title: Throwing Exceptions
pagenum: 733; label: 12.3
title: More about Input/Output Streams
pagenum: 739; label: 12.4
title: Advanced Topics: Binary Files, Random Access Files, and Object Serialization
pagenum: 748; label: 12.5
title: Common Errors to Avoid
pagenum: 765; title: Review Questions and Exercises
pagenum: 766; title: Programming Challenges
pagenum: 773; label: Chapter 13
title: Advanced GUI Applications
pagenum: 775; label: 13.1
title: The Swing and AWT Class Hierarchy
pagenum: 775; label: 13.2
title: Read-Only Text Fields
pagenum: 776; label: 13.3
title: Lists
pagenum: 778; label: 13.4
title: Combo Boxes
pagenum: 794; label: 13.5
title: Displaying Images in Labels and Buttons
pagenum: 800; label: 13.6
title: Mnemonics and Tool Tips
pagenum: 806; label: 13.7
title: File Choosers and Color Choosers
pagenum: 808; label: 13.8
title: Menus
pagenum: 812; label: 13.9
title: More about Text Components: Text Areas and Fonts
pagenum: 821; label: 13.10
title: Sliders
pagenum: 825; label: 13.11
title: Look and Feel
pagenum: 830; label: 13.12
title: Common Errors to Avoid
pagenum: 832; title: Review Questions and Exercises
pagenum: 833; title: Programming Challenges
pagenum: 838; label: Chapter 14
title: Applets and More
pagenum: 843; label: 14.1
title: Introduction to Applets
pagenum: 843; label: 14.2
title: A Brief Introduction to HTML
pagenum: 845; label: 14.3
title: Creating Applets with Swing
pagenum: 855; label: 14.4
title: Using AWT for Portability
pagenum: 862; label: 14.5
title: Drawing Shapes
pagenum: 867; label: 14.6
title: Handling Mouse Events
pagenum: 889; label: 14.7
title: Timer Objects
pagenum: 899; label: 14.8
title: Playing Audio
pagenum: 903; label: 14.9
title: Common Errors to Avoid
pagenum: 907; title: Review Questions and Exercises
pagenum: 908; title: Programming Challenges
pagenum: 914; label: Chapter 15
title: Recursion
pagenum: 917; label: 15.1
title: Introduction to Recursion
pagenum: 917; label: 15.2
title: Solving Problems with Recursion
pagenum: 920; label: 15.3
title: Examples of Recursive Methods
pagenum: 925; label: 15.4
title: The Towers of Hanoi
pagenum: 931; label: 15.5
title: Common Errors to Avoid
pagenum: 935; title: Review Questions and Exercises
pagenum: 936; title: Programming Challenges
pagenum: 939; label: Chapter 16
title: Sorting, Searching, and Algorithm Analysis
pagenum: 941; label: 16.1
title: Introduction to Sorting Algorithms
pagenum: 941; label: 16.2
title: Introduction to Search Algorithms
pagenum: 966; label: 16.3
title: Analysis of Algorithms
pagenum: 977; label: 16.4
title: Common Errors to Avoid
pagenum: 984; title: Review Questions and Exercises
pagenum: 985; title: Programming Challenges
pagenum: 988; label: Chapter 17
title: Generics
pagenum: 991; label: 17.1
title: Introduction to Generics
pagenum: 991; label: 17.2
title: Writing a Generic Class
pagenum: 994; label: 17.3
title: Passing Objects of a Generic Class to a Method
pagenum: 1002; label: 17.4
title: Writing Generic Methods
pagenum: 1008; label: 17.5
title: Constraining a Type Parameter in a Generic Class
pagenum: 1009; label: 17.6
title: Inheritance and Generic Classes
pagenum: 1012; label: 17.7
title: Defining Multiple Type Parameters
pagenum: 1016; label: 17.8
title: Generics and Interfaces
pagenum: 1019; label: 17.9
title: Erasure
pagenum: 1023; label: 17.10
title: Restrictions on the Use of Generic Types
pagenum: 1026; label: 17.11
title: Common Errors to Avoid
pagenum: 1028; title: Review Questions and Exercises
pagenum: 1028; title: Programming Challenges
pagenum: 1032; label: Chapter 18
title: Collections
pagenum: 1035; label: 18.1
title: Introduction to the Java Collections Framework
pagenum: 1035; label: 18.2
title: Lists
pagenum: 1041; label: 18.3
title: Sets
pagenum: 1061; label: 18.4
title: Maps
pagenum: 1078; label: 18.5
title: The Collections Class
pagenum: 1092; label: 18.6
title: Common Errors to Avoid
pagenum: 1096; title: Review Questions and Exercises
pagenum: 1096; title: Programming Challenges
pagenum: 1100; label: Chapter 19
title: Array-Based Lists
pagenum: 1103; label: 19.1
title: Introduction to Lists
pagenum: 1103; label: 19.2
title: Creating an Array-Based List to Hold String Objects
pagenum: 1104; label: 19.3
title: Creating a Generic Array-Based List
pagenum: 1125; label: 19.4
title: Writing Iterator Classes and Iterable Lists
pagenum: 1140; title: Review Questions and Exercises
pagenum: 1147; title: Programming Challenges
pagenum: 1149; label: Chapter 20
title: Linked Lists
pagenum: 1151; label: 20.1
title: Introduction to Linked Lists
pagenum: 1151; label: 20.2
title: Operations on Linked Lists
pagenum: 1158; label: 20.3
title: Doubly-Linked and Circularly-Linked Lists
pagenum: 1170; label: 20.4
title: Recursion on Linked Lists
pagenum: 1179; label: 20.5
title: Common Errors to Avoid
pagenum: 1190; title: Review Questions and Exercises
pagenum: 1190; title: Programming Challenges
pagenum: 1194; label: Chapter 21
title: Stacks and Queues
pagenum: 1197; label: 21.1
title: Stacks and Their Applications
pagenum: 1197; label: 21.2
title: Array Implementation of Stacks
pagenum: 1200; label: 21.3
title: Linked Implementation of Stacks
pagenum: 1206; label: 21.4
title: Queues and Their Applications
pagenum: 1211; label: 21.5
title: Array Implementation of Queues
pagenum: 1211; label: 21.6
title: Linked List Implementation of Queues
pagenum: 1222; label: 21.7
title: Generic Implementation of Stacks and Queues
pagenum: 1227; label: 21.8
title: Common Errors to Avoid
pagenum: 1230; title: Review Questions and Exercises
pagenum: 1231; title: Programming Challenges
pagenum: 1233; label: Chapter 22
title: Binary Trees, AVL Trees, and Priority Queues
pagenum: 1235; label: 22.1
title: Binary Trees and Their Applications
pagenum: 1235; label: 22.2
title: Binary Search Trees
pagenum: 1245; label: 22.3
title: AVL Trees
pagenum: 1262; label: 22.4
title: Priority Queues
pagenum: 1275; label: 22.5
title: Common Errors to Avoid
pagenum: 1289; title: Review Questions and Exercises
pagenum: 1289; title: Programming Challenges
pagenum: 1293; title: Index
pagenum: 1295