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 in a Nutshell, 8th Edition
This updated edition of the Nutshell guide not only helps experienced Java programmers get the most …
book
Learning Java, 4th Edition
Java is the preferred language for many of today’s leading-edge technologies—everything from smartphones and game consoles …
book
Head First Java, 2nd Edition
Learning a complex new language is no easy task especially when it s an object-oriented computer …
book
Learning Java, 6th Edition
Ideal for working programmers new to Java, this best-selling book guides you through the language features …