Book description
This book introduces programmers to objects at a gradual pace. The syntax boxes are revised to show typical code examples rather than abstract notation. This includes optional example modules using Alice and Greenfoot. The examples feature annotations with dos and don'ts along with cross references to more detailed explanations in the text. New tables show a large number of typical and cautionary examples. New programming and review problems are also presented that ensure a broad coverage of topics. In addition, Java 7 features are included to provide programmers with the most up-to-date information.
Table of contents
- Copyright
- PREFACE
- 1. Introduction
-
2. Using Objects
- 2.1. Types
- 2.2. Variables
- 2.3. The Assignment Operator
- 2.4. Objects, Classes, and Methods
- 2.5. Method Parameters and Return Values
- 2.6. Constructing Objects
- 2.7. Accessor and Mutator Methods
- 2.8. The API Documentation
- 2.9. Implementing a Test Program
- 2.10. Object References
- 2.11. Graphical Applications and Frame Windows
- 2.12. Drawing on a Component
-
2.13. Ellipses, Lines, Text, and Color
- 2.13.1. Ellipses and Circles
- 2.13.2. Lines
- 2.13.3. Drawing Text
- 2.13.4. Colors
- 2.13.5. Summary of Learning Objectives
- 2.13.6. Classes, Objects, and Methods Introduced in this Chapter
- 2.13.7. Media Resources
- 2.13.8. Review Exercises
- 2.13.9. Programming Exercises
- 2.13.10. Programming Projects
- 2.13.11. Answers to Self-Check Questions
- 3. Implementing Classes
- 4. Fundamental Data Types
- 5. Decisions
- 6. Iteration
-
7. Arrays and Array Lists
- 7.1. Arrays
- 7.2. Array Lists
- 7.3. Wrappers and Auto-boxing
- 7.4. The Enhanced for Loop
- 7.5. Partially Filled Arrays
-
7.6. Common Array Algorithms
- 7.6.1. Filling
- 7.6.2. Computing Sum and Average Values
- 7.6.3. Counting Matches
- 7.6.4. Finding the Maximum or Minimum
- 7.6.5. Searching for a Value
- 7.6.6. Locating the Position of an Element
- 7.6.7. Removing an Element
- 7.6.8. Inserting an Element
- 7.6.9. Copying and Growing Arrays
- 7.6.10. Printing Element Separators
- 7.7. Regression Testing
- 7.8. Two-Dimensional Arrays
- 8. Designing Classes
-
9. Interfaces and Polymorphism
- 9.1. Using Interfaces for Algorithm Reuse
- 9.2. Converting Between Class and Interface Types
- 9.3. Polymorphism
- 9.4. Using Interfaces for Callbacks
- 9.5. Inner Classes
- 9.6. Mock Objects
- 9.7. Events, Event Sources, and Event Listeners
- 9.8. Using Inner Classes for Listeners
- 9.9. Building Applications with Buttons
- 9.10. Processing Timer Events
- 9.11. Mouse Events
- 10. Inheritance
- 11. Input/Output and Exception Handling
-
12. Object-Oriented Design
- 12.1. The Software Life Cycle
- 12.2. Discovering Classes
- 12.3. Relationships Between Classes
- 12.4. Case Study: Printing an Invoice
-
12.5. Case Study: An Automatic Teller Machine
- 12.5.1. Requirements
- 12.5.2. CRC Cards
- 12.5.3. UML Diagrams
- 12.5.4. Method Documentation
- 12.5.5. Implementation
- 12.5.6. Summary of Learning Objectives
- 12.5.7. Media Resources
- 12.5.8. Review Exercises
- 12.5.9. Programming Exercises
- 12.5.10. Programming Projects
- 12.5.11. Answers to Self-Check Questions
- 13. Recursion
- 14. Sorting and Searching
- 15. An Introduction to Data Structures
- 16. Advanced Data Structures
- 17. Generic Programming
- 18. Graphical User Interfaces
- 19. Streams and Binary Input/Output
- 20. Multithreading
- 21. Internet Networking
- 22. Relational Databases
-
23. XML
- 23.1. XML Tags and Documents
- 23.2. Parsing XML Documents
- 23.3. Creating XML Documents
-
23.4. Validating XML Documents
- 23.4.1. Document Type Definitions
- 23.4.2. Specifying a DTD in an XML Document
- 23.4.3. Parsing and Validation
- 23.4.4. Summary of Learning Objectives
- 23.4.5. Media Resources
- 23.4.6. Classes, Objects, and Methods Introduced in this Chapter
- 23.4.7. Review Exercises
- 23.4.8. Programming Exercises
- 23.4.9. Programming Projects
- 23.4.10. Answers to Self-Check Questions
- 24. Web Applications
- A. The Basic Latin and Latin-1 Subsets of Unicode
- B. Java Operator Summary
- C. Java Reserved Word Summary
-
D. The Java Library
- D.1. Package java.applet
-
D.2. Package java.awt
- D.2.1. Class java.awt.BorderLayout
- D.2.2. Class java.awt.Color
- D.2.3. Class java.awt.Component
- D.2.4. Class java.awt.Container
- D.2.5. Class java.awt.Dimension
- D.2.6. Class java.awt.FlowLayout
- D.2.7. Class java.awt.Font
- D.2.8. Class java.awt.Frame
- D.2.9. Class java.awt.Graphics
- D.2.10. Class java.awt.Graphics2D
- D.2.11. Class java.awt.GridLayout
- D.2.12. Class java.awt.Rectangle
- D.2.13. Interface java.awt.Shape
- D.3. Package java.awt.event
- D.4. Package java.awt.geom
-
D.5. Package java.io
- D.5.1. Class java.io.EOFException
- D.5.2. Class java.io.File
- D.5.3. Class java.io.FileInputStream
- D.5.4. Class java.io.FileNotFoundException
- D.5.5. Class java.io.FileOutputStream
- D.5.6. Class java.io.InputStream
- D.5.7. Class java.io.InputStreamReader
- D.5.8. Class java.io.IOException
- D.5.9. Class java.io.ObjectInputStream
- D.5.10. Class java.io.ObjectOutputStream
- D.5.11. Class java.io.OutputStream
- D.5.12. Class java.io.PrintStream/Class java.io.PrintWriter
- D.5.13. Class java.io.RandomAccessFile
- D.5.14. Interface java.io.Serializable
-
D.6. Package java.lang
- D.6.1. Class java.lang.Boolean
- D.6.2. Class java.lang.Character
- D.6.3. Class java.lang.Class
- D.6.4. Interface java.lang.Cloneable
- D.6.5. Class java.lang.CloneNotSupportedException
- D.6.6. Interface java.lang.Comparable<T>
- D.6.7. Class java.lang.Double
- D.6.8. Class java.lang.Error
- D.6.9. Class java.lang.IllegalArgumentException
- D.6.10. Class java.lang.IllegalStateException
- D.6.11. Class java.lang.Integer
- D.6.12. Class java.lang.InterruptedException
- D.6.13. Class java.lang.Math
- D.6.14. Class java.lang.NullPointerException
- D.6.15. Class java.lang.NumberFormatException
- D.6.16. Class java.lang.Object
- D.6.17. Interface java.lang.Runnable
- D.6.18. Class java.lang.RuntimeException
- D.6.19. Class java.lang.String
- D.6.20. Class java.lang.System
- D.6.21. Class java.lang.Thread
- D.6.22. Class java.lang.Throwable
- D.7. Package java.math
- D.8. Package java.net
- D.9. Package java.sql
- D.10. Package java.text
-
D.11. Package java.util
- D.11.1. Class java.util.ArrayList<E>
- D.11.2. Class java.util.Arrays
- D.11.3. Class java.util.Calendar
- D.11.4. Interface java.util.Collection<E>
- D.11.5. Class java.util.Collections
- D.11.6. Interface java.util.Comparator<T>
- D.11.7. Class java.util.Date
- D.11.8. Class java.util.EventObject
- D.11.9. Class java.util.GregorianCalendar
- D.11.10. Class java.util.HashMap<K, V>
- D.11.11. Class java.util.HashSet<E>
- D.11.12. Class java.util.InputMismatchException
- D.11.13. Interface java.util.Iterator<E>
- D.11.14. Class java.util.LinkedHashMap<K, V>
- D.11.15. Class java.util.LinkedList<E>
- D.11.16. Interface java.util.List<E>
- D.11.17. Interface java.util.ListIterator<E>
- D.11.18. Interface java.util.Map<K, V>
- D.11.19. Class java.util.NoSuchElementException
- D.11.20. Class java.util.PriorityQueue<E>
- D.11.21. Class java.util.Properties
- D.11.22. Class java.util.Random
- D.11.23. Class java.util.Scanner
- D.11.24. Interface java.util.Set<E>
- D.11.25. Class java.util.TimeZone
- D.11.26. Class java.util.TreeMap<K, V>
- D.11.27. Class java.util.TreeSet<E>
- D.12. Package java.util.concurrent.locks
- D.13. Package java.util.logging
-
D.14. Package javax.swing
- D.14.1. Class javax.swing.AbstractButton
- D.14.2. Class javax.swing.ButtonGroup
- D.14.3. Class javax.swing.ImageIcon
- D.14.4. Class javax.swing.JButton
- D.14.5. Class javax.swing.JCheckBox
- D.14.6. Class javax.swing.JComboBox
- D.14.7. Class javax.swing.JComponent
- D.14.8. Class javax.swing.JFileChooser
- D.14.9. Class javax.swing.JFrame
- D.14.10. Class javax.swing.JLabel
- D.14.11. Class javax.swing.JMenu
- D.14.12. Class javax.swing.JMenuBar
- D.14.13. Class javax.swing.JMenuItem
- D.14.14. Class javax.swing.JOptionPane
- D.14.15. Class javax.swing.JPanel
- D.14.16. Class javax.swing.JRadioButton
- D.14.17. Class javax.swing.JScrollPane
- D.14.18. Class javax.swing.JSlider
- D.14.19. Class javax.swing.JTextArea
- D.14.20. Class javax.swing.JTextField
- D.14.21. Class javax.swing.Timer
- D.15. Package javax.swing.border
- D.16. Package javax.swing.event
- D.17. Package javax.swing.text
- D.18. Package javax.xml.parsers
- D.19. Package javax.xml.xpath
- D.20. Package org.w3c.dom
- D.21. Package org.w3c.dom.ls
- E. Java Syntax Summary
- F. HTML Summary
- G. Tool Summary
- H. javadoc Summary
- I. Number Systems
- J. Bit and Shift Operations
- K. UML Summary
- L. Java Language Coding Guidelines
- GLOSSARY
- ILLUSTRATION CREDITS
Product information
- Title: Big Java, 4th Edition
- Author(s):
- Release date: December 2009
- Publisher(s): Wiley
- ISBN: 9780470509487
You might also like
book
Java Cookbook, 4th Edition
Java continues to grow and evolve, and this cookbook continues to evolve in tandem. With this …
book
Think Java, 2nd Edition
Currently used at many colleges, universities, and high schools, this hands-on introduction to computer science is …
book
Sams Teach Yourself Java in 21 Days (Covers Java 11/12), 8th Edition
In just 21 days, you can acquire the knowledge and skills necessary to develop applications on …
book
Learn Java the Easy Way
"Java is the world’s most popular programming language, but it’s known for having a steep learning …