Java Methods A&AB, AP Edition
Edition: Student edition
Publisher: Skylight Publishing
Published: March 15, 2006
Language: eng
Format: Textbook Binding
Number of pages: 688
ISBN-13: 9780972705578
Subjects: Children: Young Adult (Gr. 10-12); Computers - Programming; Juvenile Nonfiction
Genres: Textbook
First sentence: This book offers a thorough introduction to the concepts and practices of object-oriented programming in Java.
Description: Once again, the Litvins bring you a textbook that expertly covers the subject, is fun to read, and works for students with different learning styles.  In one volume, this edition covers both introductory Java/OOP A-level material and AB-level topics (data structures and algorithms).  The book follows Java 5.0 - 6.0 and incorporates many other changes, big and small, to reflect the current priorities of the AP CS program.  This edition offers an early focus on object-oriented programming and design and an expanded discussion of the Java collections framework.  What has not changed is the authors' respect for students, clear explanation of concepts, common sense about practical software development issues, and realistic and fun case studies and labs.  By choosing this book, you have joined the many thousands of students who have mastered computer science fundamentals and received high grades on AP CS exams using the Litvins' C++ and Java books.
Notes: See http://www.skylit.com/jm-a-ab.html for more details; see http://www.skylit.com/javamethods/index.html for online materials.
Table of contents: title: Preface
pagenum: xvii; title: How to Use This Book
pagenum: xxi; label: Chapter 1
title: An Introduction to Hardware, Software, and the Internet
pagenum: 1; label: 1.1
title: Prologue
pagenum: 2; label: 1.2
title: Hardware Overview; label: 1.2.1
title: The CPU; label: 1.2.2
title: Memory; label: 1.2.3
title: Secondary Storage Devices; label: 1.2.4
title: Input and Output Devices; label: 1.3
title: Software Overview; label: 1.4
title: What Do Programmers Do?; label: 1.5
title: Representation of Information in Computer Memory; label: 1.5.1
title: Numbers; label: 1.5.2
title: Characters; label: 1.6
title: The Internet; label: 1.7
title: Summary; title: Exercises
pagenum: 5; label: Chapter 2
title: An Introduction to Software Development
pagenum: 11; label: 2.1
title: Prologue
pagenum: 12; label: 2.2
title: Compilers and Interpreters
pagenum: 14; label: 2.3
title: Software Components and Packages
pagenum: 20; label: 2.4
title: Lab: Three Ways to Say Hello
pagenum: 21; label: 2.5
title: Object-Oriented Programming
pagenum: 27; label: 2.6
title: Lab: More Ways to Say Hello
pagenum: 30; label: 2.7
title: Summary
pagenum: 37; title: Exercises
pagenum: 38; label: Chapter 3
title: Objects and Classes
pagenum: 43; label: 3.1
title: Prologue
pagenum: 44; label: 3.2
title: Objects in a Program: An Example
pagenum: 45; label: 3.3
title: Classes
pagenum: 49; label: 3.4
title: Fields, Constructors, and Methods
pagenum: 54; label: 3.5
title: Case Study and Lab: First Steps
pagenum: 59; label: 3.6
title: Inheritance
pagenum: 62; label: 3.7
title: Summary
pagenum: 67; title: Exercises
pagenum: 69; label: Chapter 4
title: Algorithms
pagenum: 75; label: 4.1
title: Prologue
pagenum: 76; label: 4.2
title: Properties of Algorithms
pagenum: 77; label: 4.3
title: Iterations
pagenum: 82; label: 4.4
title: Recursion
pagenum: 83; label: 4.5
title: Case Study: Euclid's GCF Algorithm
pagenum: 86; label: 4.6
title: Working with Lists
pagenum: 88; label: 4.7
title: Case Study: File Manager
pagenum: 90; label: 4.8
title: Summary
pagenum: 94; title: Exercises
pagenum: 95; label: Chapter 5
title: Java Syntax and Style
pagenum: 103; label: 5.1
title: Prologue
pagenum: 104; label: 5.2
title: Using Comments
pagenum: 105; label: 5.3
title: Reserved Words and Programmer-Defined Names
pagenum: 107; label: 5.4
title: Syntax vs. Style
pagenum: 110; label: 5.5
title: Statements, Blocks, Indentation
pagenum: 114; label: 5.6
title: Lab: Correcting Syntax Errors
pagenum: 115; label: 5.7
title: Summary
pagenum: 117; title: Exercises
pagenum: 118; label: Chapter 6
title: Data Types, Variables, and Arithmetic
pagenum: 121; label: 6.1
title: Prologue
pagenum: 122; label: 6.2
title: Declaring Fields and Local Variables
pagenum: 124; label: 6.3
title: Primitive Data Types
pagenum: 128; label: 6.4
title: Strings
pagenum: 129; label: 6.5
title: Constants
pagenum: 130; label: 6.6
title: Scope of Variables
pagenum: 133; label: 6.7
title: Arithmetic Expressions
pagenum: 134; label: 6.8
title: Compound Assignment and Increment Operators
pagenum: 138; label: 6.9
title: Converting Numbers and Objects into Strings
pagenum: 140; label: 6.10
title: Lab: Pie Chart
pagenum: 143; label: 6.11
title: Summary
pagenum: 145; title: Exercises
pagenum: 146; label: Chapter 7
title: Boolean Expressions and if-else Statements
pagenum: 153; label: 7.1
title: Prologue
pagenum: 154; label: 7.2
title: if-else Statements
pagenum: 156; label: 7.3
title: boolean Data Type
pagenum: 157; label: 7.4
title: Relational Operators
pagenum: 158; label: 7.5
title: Logical Operators
pagenum: 160; label: 7.6
title: Order of Operators
pagenum: 162; label: 7.7
title: Short-Circuit Evaluation
pagenum: 163; label: 7.8
title: if-else-if and Nested if-else
pagenum: 164; label: 7.9
title: Case Study and Lab: Rolling Dice
pagenum: 169; label: 7.10
title: The switch statement
pagenum: 178; label: 7.11
title: Enumerated Data Types
pagenum: 180; label: 7.12
title: Case Study and Lab: Rolling Dice Concluded
pagenum: 183; label: 7.13
title: Summary
pagenum: 186; title: Exercises
pagenum: 188; label: Chapter 8
title: Iterative Statements: while, for, do-while
pagenum: 193; label: 8.1
title: Prologue
pagenum: 194; label: 8.2
title: The while and for Loops
pagenum: 194; label: 8.3
title: The do-while Loop
pagenum: 198; label: 8.4
title: return and break in Loops
pagenum: 199; label: 8.5
title: Nested Loops
pagenum: 201; label: 8.6
title: Lab: Perfect Numbers
pagenum: 204; label: 8.7
title: Summary
pagenum: 205; title: Exercises
pagenum: 206; label: Chapter 9
title: Implementing Classes and Using Objects
pagenum: 211; label: 9.1
title: Prologue
pagenum: 212; label: 9.2
title: Public and Private Features of a Class
pagenum: 216; label: 9.3
title: Constructors
pagenum: 218; label: 9.4
title: References to Objects
pagenum: 222; label: 9.5
title: Defining Methods
pagenum: 223; label: 9.6
title: Calling Methods and Accessing Fields
pagenum: 226; label: 9.7
title: Passing Parameters to Constructors and Methods
pagenum: 229; label: 9.8
title: return Statement
pagenum: 232; label: 9.9
title: Case Study and Lab: Snack Bar
pagenum: 235; label: 9.10
title: Overloaded Methods
pagenum: 240; label: 9.11
title: Static Fields and Methods
pagenum: 243; label: 9.12
title: Case Study and Lab: Snack Bar Concluded
pagenum: 248; label: 9.13
title: Summary
pagenum: 249; title: Exercises
pagenum: 251; label: Chapter 10
title: Strings
pagenum: 259; label: 10.1
title: Prologue
pagenum: 260; label: 10.2
title: Literal Strings
pagenum: 260; label: 10.3
title: String Constructors and Immutability
pagenum: 261; label: 10.4
title: String Methods
pagenum: 264; label: 10.5
title: Formatting Numbers into Strings
pagenum: 271; label: 10.6
title: Extracting Numbers from Strings
pagenum: 274; label: 10.7
title: Character Methods
pagenum: 275; label: 10.8
title: Lab: Lipograms
pagenum: 276; label: 10.9
title: The StringBuffer Class
pagenum: 278; label: 10.10
title: Summary
pagenum: 280; title: Exercises
pagenum: 281; label: Chapter 11
title: Class Hierarchies and Interfaces
pagenum: 287; label: 11.1
title: Prologue
pagenum: 288; label: 11.2
title: Class Hierarchies and Polymorphism
pagenum: 289; label: 11.3
title: Abstract Classes
pagenum: 294; label: 11.4
title: Invoking Superclass's Constructors
pagenum: 298; label: 11.5
title: Calling Superclass's Methods
pagenum: 300; label: 11.6
title: Case Study: Dance Studio
pagenum: 302; label: 11.7
title: Interfaces
pagenum: 306; label: 11.8
title: Case Study: Dance Studio Concluded
pagenum: 310; label: 11.9
title: Summary
pagenum: 314; title: Exercises
pagenum: 317; label: Chapter 12
title: Arrays and ArrayLists
pagenum: 321; label: 12.1
title: Prologue
pagenum: 322; label: 12.2
title: One-Dimensional Arrays
pagenum: 323; label: 12.3
title: Lab: Fortune Teller
pagenum: 327; label: 12.4
title: The ArrayList Class
pagenum: 327; label: 12.5
title: ArrayList's Constructors and Methods
pagenum: 331; label: 12.6
title: ArrayList's Pitfalls
pagenum: 333; label: 12.7
title: Iterations and the "For Each" Loop
pagenum: 336; label: 12.8
title: Inserting and Removing Elements
pagenum: 339; label: 12.9
title: Lab: Creating an Index for a Document
pagenum: 340; label: 12.10
title: Two-Dimensional Arrays
pagenum: 344; label: 12.11
title: Case Study and Lab: Chomp
pagenum: 346; label: 12.12
title: Summary
pagenum: 352; title: Exercises
pagenum: 354; label: Chapter 13
title: Searching and Sorting
pagenum: 363; label: 13.1
title: Prologue
pagenum: 364; label: 13.2
title: equals, compareTo, and compare
pagenum: 365; label: 13.3
title: Sequential and Binary Search
pagenum: 371; label: 13.4
title: Lab: Keeping Things in Order
pagenum: 375; label: 13.5
title: Selection Sort
pagenum: 376; label: 13.6
title: Insertion Sort
pagenum: 377; label: 13.7
title: Mergesort
pagenum: 379; label: 13.8
title: Quicksort
pagenum: 382; label: 13.9
title: Lab: Benchmarks
pagenum: 384; label: 13.10
title: java.util.Arrays and java.util.Collections
pagenum: 386; label: 13.11
title: Summary
pagenum: 388; title: Exercises
pagenum: 390; label: Chapter 14
title: Streams and Files
pagenum: 393; label: 14.1
title: Prologue
pagenum: 394; label: 14.2
title: Pathnames and the java.io.File Class
pagenum: 396; label: 14.3
title: Reading from a Text File
pagenum: 398; label: 14.4
title: Writing to a Text File
pagenum: 401; label: 14.5
title: Lab: Choosing Words
pagenum: 403; label: 14.6
title: Summary
pagenum: 404; title: Exercises
pagenum: 405; label: Chapter 15
title: Graphics
pagenum: 409; label: 15.1
title: Prologue
pagenum: 410; label: 15.2
title: paint, paintComponent, and repaint
pagenum: 412; label: 15.3
title: Coordinates
pagenum: 415; label: 15.4
title: Colors
pagenum: 418; label: 15.5
title: Drawing Shapes
pagenum: 419; label: 15.6
title: Fonts and Text
pagenum: 421; label: 15.7
title: Case Study and Lab: Pieces of the Puzzle
pagenum: 422; label: 15.8
title: Summary
pagenum: 429; title: Exercises
pagenum: 430; label: Chapter 16
title: GUI Components and Events
pagenum: 433; label: 16.1
title: Prologue
pagenum: 434; label: 16.2
title: Pluggable Look and Feel; label: 16.3
title: Basic Swing Components and Their Events; label: 16.4
title: Layouts; label: 16.5
title: Menus; label: 16.6
title: Case Study and Lab: the Ramblecs Game; label: 16.7
title: Summary; title: Exercises
pagenum: 436; label: Chapter 17
title: Mouse, Keyboard, Sounds, and Images
pagenum: 441; label: 17.1
title: Prologue
pagenum: 442; label: 17.2
title: Mouse Events Handling; label: 17.3
title: Keyboard Events Handling; label: 17.4
title: Case Study and Lab: Drawing Editor; label: 17.5
title: Sounds and Images; label: 17.6
title: Case Study and Lab: Ramblecs Concluded; label: 17.7
title: Summary; title: Exercises
pagenum: 443; label: Chapter 18
title: Big-O Analysis of Algorithms
pagenum: 445; label: 18.1
title: Prologue
pagenum: 446; label: 18.2
title: The Big-O Concept
pagenum: 447; label: 18.3
title: Big-O of Sorting Algorithms
pagenum: 455; label: 18.4
title: Summary
pagenum: 459; title: Exercises
pagenum: 461; label: Chapter 19
title: The Java Collections Framework
pagenum: 465; label: 19.1
title: Prologue
pagenum: 466; label: 19.2
title: Collection and Iterator
pagenum: 468; label: 19.3
title: Lists and ListIterator
pagenum: 472; label: 19.4
title: The Stack Class
pagenum: 478; label: 19.5
title: The Queue Interface
pagenum: 480; label: 19.6
title: The PriorityQueue Class
pagenum: 482; label: 19.7
title: Sets
pagenum: 484; label: 19.8
title: Maps
pagenum: 487; label: 19.9
title: Case Study and Lab: Stock Exchange
pagenum: 492; label: 19.10
title: Summary
pagenum: 499; title: Exercises
pagenum: 499; label: Chapter 20
title: Lists and Iterators
pagenum: 507; label: 20.1
title: Prologue
pagenum: 508; label: 20.2
title: Singly-Linked List
pagenum: 508; label: 20.3
title: Traversals
pagenum: 514; label: 20.4
title: Lab: Implementing a Singly-Linked List
pagenum: 516; label: 20.5
title: Linked List with a Tail
pagenum: 517; label: 20.6
title: Doubly-Linked List and Circular List
pagenum: 518; label: 20.7
title: Lab: Teletext
pagenum: 521; label: 20.8
title: Summary
pagenum: 522; title: Exercises
pagenum: 523; label: Chapter 21
title: Stacks and Queues
pagenum: 527; label: 21.1
title: Prologue
pagenum: 528; label: 21.2
title: Implementations of Stacks
pagenum: 528; label: 21.3
title: Lab: Browsing
pagenum: 531; label: 21.4
title: The Hardware Stack
pagenum: 533; label: 21.5
title: Implementations of Queues
pagenum: 535; label: 21.6
title: Case Study and Lab: Actors World
pagenum: 536; label: 21.7
title: Summary
pagenum: 541; title: Exercises
pagenum: 542; label: Chapter 22
title: Recursion Revisited
pagenum: 547; label: 22.1
title: Prologue
pagenum: 548; label: 22.2
title: Three Examples
pagenum: 548; label: 22.3
title: When Not to Use Recursion
pagenum: 556; label: 22.4
title: Understanding and Debugging Recursive Methods
pagenum: 559; label: 22.5
title: Lab: the Tower of Hanoi
pagenum: 562; label: 22.6
title: Case Study and Lab: the Game of Hex
pagenum: 563; label: 22.7
title: Summary
pagenum: 568; title: Exercises
pagenum: 568; label: Chapter 23
title: Binary Trees
pagenum: 575; label: 23.1
title: Prologue
pagenum: 576; label: 23.2
title: Implementations of Binary Trees
pagenum: 581; label: 23.3
title: Traversals
pagenum: 583; label: 23.4
title: Binary Search Trees
pagenum: 584; label: 23.5
title: A Do-It-Yourself BST
pagenum: 586; label: 23.6
title: Lab: Morse Code
pagenum: 591; label: 23.7
title: Case Study and Lab: Java Messenger
pagenum: 592; label: 23.8
title: Summary
pagenum: 594; title: Exercises
pagenum: 595; label: Chapter 24
title: Lookup Tables and Hashing
pagenum: 603; label: 24.1
title: Prologue
pagenum: 604; label: 24.2
title: Lookup Tables
pagenum: 604; label: 24.3
title: Lab: Cryptogram Solver
pagenum: 607; label: 24.4
title: Hash Tables
pagenum: 610; label: 24.5
title: java.util's HashSet and HashMap
pagenum: 613; label: 24.6
title: Lab: Search Engine
pagenum: 615; label: 24.7
title: Summary
pagenum: 617; title: Exercises
pagenum: 618; label: Chapter 25
title: Heaps and Priority Queues
pagenum: 623; label: 25.1
title: Prologue
pagenum: 624; label: 25.2
title: Implementations of Priority Queues
pagenum: 624; label: 25.3
title: Binary Trees: Non-Linked Representation
pagenum: 626; label: 25.4
title: A Do-It-Yourself Priority Queue
pagenum: 628; label: 25.5
title: Lab: Heapsort
pagenum: 632; label: 25.6
title: Summary
pagenum: 633; title: Exercises
pagenum: 634; label: Chapter 26
title: Design Patterns
pagenum: 637; label: 26.1
title: Prologue
pagenum: 638; label: 26.2
title: Facade; label: 26.3
title: Strategy; label: 26.4
title: Singleton; label: 26.5
title: Decorator; label: 26.6
title: Composite; label: 26.7
title: MVC (Model-View-Controller); label: 26.8
title: Summary; title: Exercises
pagenum: 640; title: Appendices
pagenum: 645; label: A
title: The 17 Bits of Style; label: B
title: Common Syntax Error Messages; label: C
title: HTML Tutorial; label: D
title: GUI Examples Index; label: E
title: The EasyReader, EasyWriter, EasySound, EasyDate, and EasyFormat Classes; label: F
title: Computing in Context: Responsible and Ethical Computer Use; title: Solutions to Selected Exercises
pagenum: 645; title: Index of Tables and Figures
pagenum: 647; title: Index
pagenum: 653