Starting out with Java
Subtitle: from control structures through objects
By: Tony Gaddis.
Edition: 4th ed.
Publisher: Pearson/Addison Wesley
Published: 2008
Place of publication: Boston
Language: eng
Number of pages: 977
ISBN-13: 9780136080206
Subjects: Java (Computer program language); Data structures (Computer science); Object-oriented programming (Computer science)
Description: "Tony Gaddis's accessible, step-by-step style helps beginning students understand the important details necessary to become skilled programmers at an introductory level. Gaddis motivates the study of both programming skills and a programming language by presenting all the details needed to understand the "how" and the "why" - but never losing sight of the fact that most beginners struggle with this material. His approach is both gradual and highly accessible, ensuring that students get the logic behind developing high-quality programs." "In Starting Out with Java: From Control Structures through Objects, Gaddis covers procedural programming - control structures and methods - before introducing object-oriented programming. As with all Gaddis texts, clear and easy-to-read code listings, concise and practical real-world examples, and an abundance of exercises appear in every chapter."--BOOK JACKET.
Notes: Includes index.
Table of contents: title: Preface
pagenum: 15; label: Chapter 1
title: Introduction to Computers and Java
pagenum: 25; label: 1.1
title: Introduction
pagenum: 25; label: 1.2
title: Why Program?
pagenum: 25; label: 1.3
title: Computer Systems: Hardware and Software
pagenum: 26; label: 1.4
title: Programming Languages
pagenum: 30; label: 1.5
title: What Is a Program Made Of?
pagenum: 33; label: 1.6
title: The Programming Process
pagenum: 40; label: 1.7
title: Object-Oriented Programming
pagenum: 43; title: Review Questions and Exercises
pagenum: 45; title: Programming Challenge
pagenum: 49; label: Chapter 2
title: Java Fundamentals
pagenum: 51; label: 2.1
title: The Parts of a Java Program
pagenum: 51; label: 2.2
title: The print and println Methods, and the Java API
pagenum: 57; label: 2.3
title: Variables and Literals
pagenum: 63; label: 2.4
title: Primitive Data Types
pagenum: 68; label: 2.5
title: Arithmetic Operators
pagenum: 78; label: 2.6
title: Combined Assignment Operators
pagenum: 87; label: 2.7
title: Conversion between Primitive Data Types
pagenum: 88; label: 2.8
title: Creating Named Constants with final
pagenum: 92; label: 2.9
title: The String Class
pagenum: 94; label: 2.10
title: Scope
pagenum: 99; label: 2.11
title: Comments
pagenum: 101; label: 2.12
title: Programming Style
pagenum: 106; label: 2.13
title: Reading Keyboard Input
pagenum: 108; label: 2.14
title: Dialog Boxes
pagenum: 116; label: 2.15
title: Common Errors to Avoid
pagenum: 123; title: Review Questions and Exercises
pagenum: 124; title: Programming Challenges
pagenum: 129; label: Chapter 3
title: Decision Structures
pagenum: 133; label: 3.1
title: The if Statement
pagenum: 133; label: 3.2
title: The if-else Statement
pagenum: 143; label: 3.3
title: Nested if Statements
pagenum: 146; label: 3.4
title: The if-else-if Statement
pagenum: 153; label: 3.5
title: Logical Operators
pagenum: 159; label: 3.6
title: Comparing String Objects
pagenum: 167; label: 3.7
title: More about Variable Declaration and Scope
pagenum: 173; label: 3.8
title: The Conditional Operator (Optional)
pagenum: 174; label: 3.9
title: The switch Statement
pagenum: 176; label: 3.10
title: Creating Objects with the DecimalFormat Class
pagenum: 183; label: 3.11
title: The printf Method
pagenum: 188; label: 3.12
title: Common Errors to Avoid
pagenum: 192; title: Review Questions and Exercises
pagenum: 193; title: Programming Challenges
pagenum: 198; label: Chapter 4
title: Loops and Files
pagenum: 203; label: 4.1
title: The Increment and Decrement Operators
pagenum: 203; label: 4.2
title: The while Loop
pagenum: 207; label: 4.3
title: Using the while Loop for Input Validation
pagenum: 214; label: 4.4
title: The do-while Loop
pagenum: 218; label: 4.5
title: The for Loop
pagenum: 221; label: 4.6
title: Running Totals and Sentinel Values
pagenum: 230; label: 4.7
title: Nested Loops
pagenum: 235; label: 4.8
title: The break and continue Statements (Optional)
pagenum: 236; label: 4.9
title: Deciding Which Loop to Use
pagenum: 237; label: 4.10
title: Introduction to File Input and Output
pagenum: 237; label: 4.11
title: The Random Class
pagenum: 257; label: 4.12
title: Common Errors to Avoid
pagenum: 259; title: Review Questions and Exercises
pagenum: 260; title: Programming Challenges
pagenum: 266; label: Chapter 5
title: Methods
pagenum: 271; label: 5.1
title: Introduction to Methods
pagenum: 271; label: 5.2
title: Passing Arguments to a Method
pagenum: 281; label: 5.3
title: More about Local Variables
pagenum: 293; label: 5.4
title: Returning a Value from a Method
pagenum: 295; label: 5.5
title: Problem Solving with Methods
pagenum: 304; label: 5.6
title: Common Errors to Avoid
pagenum: 308; title: Review Questions and Exercises
pagenum: 309; title: Programming Challenges
pagenum: 313; label: Chapter 6
title: A First Look at Classes
pagenum: 321; label: 6.1
title: Classes and Objects
pagenum: 321; label: 6.2
title: Instance Fields and Methods
pagenum: 344; label: 6.3
title: Constructors
pagenum: 349; label: 6.4
title: Overloading Methods and Constructors
pagenum: 358; label: 6.5
title: Scope of Instance Fields
pagenum: 366; label: 6.6
title: Packages and import Statements
pagenum: 367; label: 6.7
title: Focus on Object-Oriented Design: Finding the Classes and Their Responsibilities
pagenum: 369; label: 6.8
title: Common Errors to Avoid
pagenum: 376; title: Review Questions and Exercises
pagenum: 376; title: Programming Challenges
pagenum: 381; label: Chapter 7
title: A First Look at GUI Applications
pagenum: 387; label: 7.1
title: Introduction
pagenum: 387; label: 7.2
title: Creating Windows
pagenum: 390; label: 7.3
title: Equipping GUI Classes with a main Method
pagenum: 418; label: 7.4
title: Layout Managers
pagenum: 420; label: 7.5
title: Radio Buttons and Check Boxes
pagenum: 436; label: 7.6
title: Borders
pagenum: 447; label: 7.7
title: Focus on Problem Solving: Extending Classes from JPanel
pagenum: 450; label: 7.8
title: Splash Screens
pagenum: 462; label: 7.9
title: Using Console Output to Debug a GUI Application
pagenum: 463; label: 7.10
title: Common Errors to Avoid
pagenum: 468; title: Review Questions and Exercises
pagenum: 468; title: Programming Challenges
pagenum: 472; label: Chapter 8
title: Arrays and the ArrayList Class
pagenum: 475; label: 8.1
title: Introduction to Arrays
pagenum: 475; label: 8.2
title: Processing Array Elements
pagenum: 485; label: 8.3
title: Passing Arrays As Arguments to Methods
pagenum: 494; label: 8.4
title: Some Useful Array Algorithms and Operations
pagenum: 498; label: 8.5
title: Returning Arrays from Methods
pagenum: 511; label: 8.6
title: String Arrays
pagenum: 513; label: 8.7
title: Arrays of Objects
pagenum: 516; label: 8.8
title: The Sequential Search Algorithm
pagenum: 519; label: 8.9
title: Two-Dimensional Arrays
pagenum: 522; label: 8.10
title: Arrays with Three or More Dimensions
pagenum: 534; label: 8.11
title: The Selection Sort and the Binary Search Algorithms
pagenum: 535; label: 8.12
title: Command-Line Arguments and Variable-Length Argument Lists
pagenum: 540; label: 8.13
title: The ArrayList Class
pagenum: 544; label: 8.14
title: Common Errors to Avoid
pagenum: 552; title: Review Questions and Exercises
pagenum: 553; title: Programming Challenges
pagenum: 558; label: Chapter 9
title: A Second Look at Classes and Objects
pagenum: 563; label: 9.1
title: Static Class Members
pagenum: 563; label: 9.2
title: Passing Objects As Arguments to Methods
pagenum: 570; label: 9.3
title: Returning Objects from Methods
pagenum: 573; label: 9.4
title: The toString Method
pagenum: 575; label: 9.5
title: Writing an equals Method
pagenum: 579; label: 9.6
title: Methods That Copy Objects
pagenum: 582; label: 9.7
title: Aggregation
pagenum: 585; label: 9.8
title: The this Reference Variable
pagenum: 598; label: 9.9
title: Enumerated Types
pagenum: 601; label: 9.10
title: Garbage Collection
pagenum: 610; label: 9.11
title: Focus on Object-Oriented Design: Class Collaboration
pagenum: 612; label: 9.12
title: Common Errors to Avoid
pagenum: 616; title: Review Questions and Exercises
pagenum: 617; title: Programming Challenges
pagenum: 621; label: Chapter 10
title: Text Processing and More about Wrapper Classes
pagenum: 627; label: 10.1
title: Introduction to Wrapper Classes
pagenum: 627; label: 10.2
title: Character Testing and Conversion with the Character Class
pagenum: 628; label: 10.3
title: More String Methods
pagenum: 636; label: 10.4
title: The StringBuilder Class
pagenum: 650; label: 10.5
title: Tokenizing Strings
pagenum: 658; label: 10.6
title: Wrapper Classes for the Numeric Data Types
pagenum: 666; label: 10.7
title: Focus on Problem Solving: The TestScoreReader Class
pagenum: 669; label: 10.8
title: Common Errors to Avoid
pagenum: 673; title: Review Questions and Exercises
pagenum: 673; title: Programming Challenges
pagenum: 677; label: Chapter 11
title: Inheritance
pagenum: 683; label: 11.1
title: What Is Inheritance?
pagenum: 683; label: 11.2
title: Calling the Superclass Constructor
pagenum: 696; label: 11.3
title: Overriding Superclass Methods
pagenum: 704; label: 11.4
title: Protected Members
pagenum: 713; label: 11.5
title: Chains of Inheritance
pagenum: 719; label: 11.6
title: The Object Class
pagenum: 725; label: 11.7
title: Polymorphism
pagenum: 727; label: 11.8
title: Abstract Classes and Abstract Methods
pagenum: 732; label: 11.9
title: Interfaces
pagenum: 739; label: 11.10
title: Common Errors to Avoid
pagenum: 751; title: Review Questions and Exercises
pagenum: 752; title: Programming Challenges
pagenum: 757; label: Chapter 12
title: Exceptions and Advanced File I/O
pagenum: 763; label: 12.1
title: Handling Exceptions
pagenum: 763; label: 12.2
title: Throwing Exceptions
pagenum: 785; label: 12.3
title: Advanced Topics: Binary Files, Random Access Files, and Object Serialization
pagenum: 791; label: 12.4
title: Common Errors to Avoid
pagenum: 808; title: Review Questions and Exercises
pagenum: 808; title: Programming Challenges
pagenum: 814; label: Chapter 13
title: Advanced GUI Applications
pagenum: 817; label: 13.1
title: The Swing and AWT Class Hierarchy
pagenum: 817; label: 13.2
title: Read-Only Text Fields
pagenum: 818; label: 13.3
title: Lists
pagenum: 820; label: 13.4
title: Combo Boxes
pagenum: 836; label: 13.5
title: Displaying Images in Labels and Buttons
pagenum: 842; label: 13.6
title: Mnemonics and Tool Tips
pagenum: 848; label: 13.7
title: File Choosers and Color Choosers
pagenum: 850; label: 13.8
title: Menus
pagenum: 854; label: 13.9
title: More about Text Components: Text Areas and Fonts
pagenum: 863; label: 13.10
title: Sliders
pagenum: 867; label: 13.11
title: Look and Feel
pagenum: 872; label: 13.12
title: Common Errors to Avoid
pagenum: 874; title: Review Questions and Exercises
pagenum: 875; title: Programming Challenges
pagenum: 880; label: Chapter 14
title: Applets and More
pagenum: 885; label: 14.1
title: Introduction to Applets
pagenum: 885; label: 14.2
title: A Brief Introduction to HTML
pagenum: 887; label: 14.3
title: Creating Applets with Swing
pagenum: 896; label: 14.4
title: Using AWT for Portability
pagenum: 905; label: 14.5
title: Drawing Shapes
pagenum: 910; label: 14.6
title: Handling Mouse Events
pagenum: 931; label: 14.7
title: Timer Objects
pagenum: 941; label: 14.8
title: Playing Audio
pagenum: 945; label: 14.9
title: Common Errors to Avoid
pagenum: 950; title: Review Questions and Exercises
pagenum: 950; title: Programming Challenges
pagenum: 956; label: Chapter 15
title: Recursion
pagenum: 959; label: 15.1
title: Introduction to Recursion
pagenum: 959; label: 15.2
title: Solving Problems with Recursion
pagenum: 962; label: 15.3
title: Examples of Recursive Methods
pagenum: 967; label: 15.4
title: A Recursive Binary Search Method
pagenum: 973; label: 15.5
title: The Towers of Hanoi
pagenum: 976; label: 15.6
title: Common Errors to Avoid
pagenum: 981; title: Review Questions and Exercises
pagenum: 981; title: Programming Challenges
pagenum: 984; title: Index
pagenum: 987; title: Student CD-ROM; label: Appendix A
title: Getting Started with Alice; label: Appendix B
title: The ASCII/Unicode Characters; label: Appendix C
title: Operator Precedence and Associativity; label: Appendix D
title: Java Key Words; label: Appendix E
title: Installing the JDK and JDK Documentation; label: Appendix F
title: Using the javadoc Utility; label: Appendix G
title: More about the Math Class; label: Appendix H
title: Packages; label: Appendix I
title: Working with Records and Random Access Files; label: Appendix J
title: More about JOptionPane Dialog Boxes; label: Appendix K
title: Answers to Checkpoints; label: Appendix L
title: Answers to Odd-Numbered Review Questions; label: Case Study 1
title: Calculating Sales Commission; label: Case Study 2
title: The Amortization Class; label: Case Study 3
title: The PinTester Class; label: Case Study 4
title: Parallel Arrays; label: Case Study 5
title: The FeetInches Class; label: Case Study 6
title: The SerialNumber Class; label: Case Study 7
title: A Simple Text Editor Application