Description
Efnisyfirlit
- Digital Resources for Students
- Title Page
- Copyright Page
- Preface
- Acknowledgments
- Contents
- Credits
- Chapter 1: Introduction
- 1.1. Computer Processing
- Software Categories
- Digital Computers
- Binary Numbers
- 1.2. Hardware Components
- Computer Architecture
- Input/Output Devices
- Main Memory and Secondary Memory
- The Central Processing Unit
- 1.3. Networks
- Network Connections
- Local-Area Networks and Wide-Area Networks
- The Internet
- The World Wide Web
- Uniform Resource Locators
- 1.4. The Java Programming Language
- A Java Program
- Comments
- Identifiers and Reserved Words
- White Space
- 1.5. Program Development
- Programming Language Levels
- Editors, Compilers, and Interpreters
- Development Environments
- Syntax and Semantics
- Errors
- 1.6. Object-Oriented Programming
- Problem Solving
- Object-Oriented Software Principles
- Chapter 2: Data and Expressions
- 2.1. Character Strings
- The print and println Methods
- String Concatenation
- Escape Sequences
- 2.2. Variables and Assignment
- Variables
- The Assignment Statement
- Constants
- 2.3. Primitive Data Types
- Integers and Floating Points
- Characters
- Booleans
- 2.4. Expressions
- Arithmetic Operators
- Operator Precedence
- Increment and Decrement Operators
- Assignment Operators
- 2.5. Data Conversion
- Conversion Techniques
- 2.6. Interactive Programs
- The Scanner Class
- Software Failure: NASA Mars Climate Orbiter and Polar Lander
- Chapter 3: Using Classes and Objects
- 3.1. Creating Objects
- Aliases
- 3.2. The String Class
- 3.3. Packages
- The import Declaration
- 3.4. The Random Class
- 3.5. The Math Class
- 3.6. Formatting Output
- The NumberFormat Class
- The DecimalFormat Class
- The printf Method
- 3.7. Enumerated Types
- 3.8. Wrapper Classes
- Autoboxing
- 3.9. Introduction to JavaFX
- 3.10. Basic Shapes
- 3.11. Representing Colors
- Chapter 4: Writing Classes
- 4.1. Classes and Objects Revisited
- 4.2. Anatomy of a Class
- Instance Data
- UML Class Diagrams
- 4.3. Encapsulation
- Visibility Modifiers
- Accessors and Mutators
- 4.4. Anatomy of a Method
- The return Statement
- Parameters
- Local Data
- Bank Account Example
- 4.5. Constructors Revisited
- 4.6. Arcs
- 4.7. Images
- Viewports
- 4.8. Graphical User Interfaces
- Alternate Ways to Specify Event Handlers
- 4.9. Text Fields
- Software Failure: Denver Airport Baggage Handling System
- Chapter 5: Conditionals and Loops
- 5.1. Boolean Expressions
- Equality and Relational Operators
- Logical Operators
- 5.2. The if Statement
- The if-else Statement
- Using Block Statements
- Nested if Statements
- 5.3. Comparing Data
- Comparing Floats
- Comparing Characters
- Comparing Objects
- 5.4. The while Statement
- Infinite Loops
- Nested Loops
- The break and continue Statements
- 5.5. Iterators
- Reading Text Files
- 5.6. The ArrayList Class
- 5.7. Determining Event Sources
- 5.8. Managing Fonts
- 5.9. Check Boxes
- 5.10. Radio Buttons
- Software Failure: Therac-25
- Chapter 6: More Conditionals and Loops
- 6.1. The switch Statement
- 6.2. The Conditional Operator
- 6.3. The do Statement
- 6.4. The for Statement
- The for-each Loop
- Comparing Loops
- 6.5. Using Loops and Conditionals with Graphics
- 6.6. Graphic Transformations
- Translation
- Scaling
- Rotation
- Shearing
- Applying Transformations on Groups
- Chapter 7: Object-Oriented Design
- 7.1 Software Development Activities
- 7.2 Identifying Classes and Objects
- Assigning Responsibilities
- 7.3. Static Class Members
- Static Variables
- Static Methods
- 7.4. Class Relationships
- Dependency
- Dependencies Among Objects of the Same Class
- Aggregation
- The this Reference
- 7.5. Interfaces
- The Comparable Interface
- The Iterator Interface
- 7.6. Enumerated Types Revisited
- 7.7. Method Design
- Method Decomposition
- Method Parameters Revisited
- 7.8. Method Overloading
- 7.9. Testing
- Reviews
- Defect Testing
- 7.10. GUI Design
- 7.11. Mouse Events
- 7.12. Key Events
- Software Failure: 2003 Northeast Blackout
- Chapter 8: Arrays
- 8.1. Array Elements
- 8.2. Declaring and Using Arrays
- Bounds Checking
- Alternate Array Syntax
- Initializer Lists
- Arrays as Parameters
- 8.3. Arrays of Objects
- 8.4. Command-Line Arguments
- 8.5. Variable Length Parameter Lists
- 8.6. Two-Dimensional Arrays
- Multidimensional Arrays
- 8.7. Polygons and Polylines
- 8.8. An Array of Color Objects
- 8.9. Choice Boxes
- Software Failure: LA Air Traffic Control
- Chapter 9: Inheritance
- 9.1. Creating Subclasses
- The protected Modifier
- The super Reference
- Multiple Inheritance
- 9.2. Overriding Methods
- Shadowing Variables
- 9.3. Class Hierarchies
- The Object Class
- Abstract Classes
- Interface Hierarchies
- 9.4. Visibility
- 9.5. Designing for Inheritance
- Restricting Inheritance
- 9.6. Inheritance in JavaFX
- 9.7. Color and Date Pickers
- 9.8. Dialog Boxes
- File Choosers
- Software Failure: Ariane 5 Flight 501
- Chapter 10: Polymorphism
- 10.1. Late Binding
- 10.2. Polymorphism via Inheritance
- 10.3. Polymorphism via Interfaces
- 10.4. Sorting
- Selection Sort
- Insertion Sort
- Comparing Sorts
- 10.5. Searching
- Linear Search
- Binary Search
- Comparing Searches
- 10.6. Designing for Polymorphism
- 10.7. Properties
- Change Listeners
- 10.8. Sliders
- 10.9. Spinners
- Chapter 11: Exceptions
- 11.1. Exception Handling
- 11.2. Uncaught Exceptions
- 11.3. The try-catch Statement
- The finally Clause
- 11.4. Exception Propagation
- 11.5. The Exception Class Hierarchy
- Checked and Unchecked Exceptions
- 11.6. I/O Exceptions
- 11.7. Tool Tips and Disabling Controls
- 11.8. Scroll Panes
- 11.9. Split Panes and List Views
- Chapter 12: Recursion
- 12.1. Recursive Thinking
- Infinite Recursion
- Recursion in Math
- 12.2. Recursive Programming
- Recursion vs. Iteration
- Direct vs. Indirect Recursion
- 12.3. Using Recursion
- Traversing a Maze
- The Towers of Hanoi
- 12.4. Tiled Images
- 12.5. Fractals
- Chapter 13: Collections
- 13.1. Collections and Data Structures
- Separating Interface from Implementation
- 13.2. Dynamic Representations
- Dynamic Structures
- A Dynamically Linked List
- Other Dynamic List Representations
- 13.3. Linear Collections
- Queues
- Stacks
- 13.4. Non-Linear Data Structures
- Trees
- Graphs
- 13.5. The Java Collections API
- Generics
- Appendix A: Glossary
- Appendix B: Number Systems
- Appendix C: The Unicode Character Set
- Appendix D: Java Operators
- Appendix E: Java Modifiers
- Appendix F: Java Coding Guidelines
- Appendix G: JavaFX Layout Panes
- Appendix H: JavaFX Scene Builder
- Appendix I: Regular Expressions
- Appendix J: Javadoc Documentation Generator
- Appendix K: Java Syntax
- Appendix L: Answers to Self-Review Questions
- Index
- Back Cover