Absolute Java, Global Edition

Höfundur Walter Savitch; Kenrick Mock

Útgefandi Pearson International Content

Snið Page Fidelity

Print ISBN 9781292109220

Útgáfa 6

Höfundarréttur 2016

4.990 kr.

Description

Efnisyfirlit

  • Title Page
  • Copyright Page
  • Preface
  • Acknowledgments
  • Brief Contents
  • Contents
  • Chapter 1 Getting Started
  • 1.1 INTRODUCTION TO JAVA
  • Origins of the Java Language
  • Objects and Methods
  • Applets
  • A Sample Java Application Program
  • Byte-Code and the Java Virtual Machine
  • Class Loader
  • Compiling a Java Program or Class
  • Running a Java Program
  • TIP: Error Messages
  • 1.2 EXPRESSIONS AND ASSIGNMENT STATEMENTS
  • Identifiers
  • Variables
  • Assignment Statements
  • TIP: Initialize Variables
  • More Assignment Statements
  • Assignment Compatibility
  • Constants
  • Arithmetic Operators and Expressions
  • Parentheses and Precedence Rules
  • Integer and Floating-Point Division
  • PITFALL: Round-Off Errors in Floating-Point Numbers
  • PITFALL: Division with Whole Numbers
  • Type Casting
  • Increment and Decrement Operators
  • 1.3 THE CLASS STRING
  • String Constants and Variables
  • Concatenation of Strings
  • Classes
  • String Methods
  • Escape Sequences
  • String Processing
  • The Unicode Character Set
  • 1.4 PROGRAM STYLE
  • Naming Constants
  • Java Spelling Conventions
  • Comments
  • Indenting
  • Chapter Summary
  • Answers to Self-Test Exercises
  • Programming Projects
  • Chapter 2 Console Input and Output
  • 2.1 SCREEN OUTPUT
  • System.out.println
  • TIP: Different Approaches to Formatting Output
  • Formatting Output with printf
  • TIP: Formatting Monetary Amounts with printf
  • TIP: Legacy Code
  • Money Formats Using NumberFormat
  • Importing Packages and Classes
  • The DecimalFormat Class
  • 2.2 CONSOLE INPUT USING THE SCANNER CLASS
  • The Scanner Class
  • PITFALL: Dealing with the Line Terminator, ‘n’
  • The Empty String
  • TIP: Prompt for Input
  • TIP: Echo Input
  • Example: Self-Service Checkout
  • Other Input Delimiters
  • 2.3 INTRODUCTION TO FILE INPUT
  • The Scanner Class for Text File Input
  • Chapter Summary
  • Answers to Self-Test Exercises
  • Programming Projects
  • Chapter 3 Flow of Control
  • 3.1 BRANCHING MECHANISM
  • if-else Statements
  • Omitting the else
  • Compound Statements
  • TIP: Placing of Braces
  • Nested Statements
  • Multiway if-else Statement
  • Example: State Income Tax
  • The switch Statement
  • PITFALL: Forgetting a break in a switch Statement
  • The Conditional Operator
  • 3.2 BOOLEAN EXPRESSIONS
  • Simple Boolean Expressions
  • PITFALL: Using = in Place of ==
  • PITFALL: Using == with Strings
  • Lexicographic and Alphabetic Order
  • Building Boolean Expressions
  • PITFALL: Strings of Inequalities
  • Evaluating Boolean Expressions
  • TIP: Naming Boolean Variables
  • Short-Circuit and Complete Evaluation
  • Precedence and Associativity Rules
  • 3.3 LOOPS
  • while Statement and do-while Statement
  • Algorithms and Pseudocode
  • Example: Averaging a List of Scores
  • The for Statement
  • The Comma in for Statements
  • TIP: Repeat N Times Loops
  • PITFALL: Extra Semicolon in a for Statement
  • PITFALL: Infinite Loops
  • Nested Loops
  • The break and continue Statements
  • The exit Statement
  • 3.4 DEBUGGING
  • Loop Bugs
  • Tracing Variables
  • General Debugging Techniques
  • Example: Debugging an Input Validation Loop
  • Preventive Coding
  • Assertion Checks
  • 3.5 RANDOM NUMBER GENERATION
  • The Random Object
  • The Math.random() Method
  • Chapter Summary
  • Answers to Self-Test Exercises
  • Programming Projects
  • Chapter 4 Defining Classes I
  • 4.1 CLASS DEFINITIONS
  • Instance Variables and Methods
  • More about Methods
  • TIP: Any Method Can Be Used as a void Method
  • Local Variables
  • Blocks
  • TIP: Declaring Variables in a for Statement
  • Parameters of a Primitive Type
  • PITFALL: Use of the Terms “Parameter” and “Argument”
  • Simple Cases with Class Parameters
  • The this Parameter
  • Methods That Return a Boolean Value
  • The Methods equals and toString
  • Recursive Methods
  • TIP: Testing Methods
  • 4.2 INFORMATION HIDING AND ENCAPSULATION
  • public and private Modifiers
  • Example: Yet Another Date Class
  • Accessor and Mutator Methods
  • TIP: A Class Has Access to Private Members of All Objects of the Class
  • TIP: Mutator Methods Can Return a Boolean Value
  • Preconditions and Postconditions
  • 4.3 OVERLOADING
  • Rules for Overloading
  • PITFALL: Overloading and Automatic Type Conversion
  • PITFALL: You Cannot Overload Based on the Type Returned
  • 4.4 CONSTRUCTORS
  • Constructor Definitions
  • TIP: You Can Invoke Another Method in a Constructor
  • TIP: A Constructor Has a this Parameter
  • TIP: Include a No-Argument Constructor
  • Example: The Final Date Class
  • Default Variable Initializations
  • An Alternative Way to Initialize Instance Variables
  • Example: A Pet Record Class
  • The StringTokenizer Class
  • Chapter Summary
  • Answers to Self-Test Exercises
  • Programming Projects
  • Chapter 5 Defining Classes II
  • 5.1 STATIC METHODS AND STATIC VARIABLES
  • Static Methods
  • PITFALL: Invoking a Nonstatic Method Within a Static Method
  • TIP: You Can Put a main in Any Class
  • Static Variables
  • The Math Class
  • Wrapper Classes
  • Automatic Boxing and Unboxing
  • Static Methods in Wrapper Classes
  • PITFALL: A Wrapper Class Does Not Have a No-Argument Constructor
  • 5.2 REFERENCES AND CLASS PARAMETERS
  • Variables and Memory
  • References
  • Class Parameters
  • PITFALL: Use of = and == with Variables of a Class Type
  • The Constant null
  • PITFALL: Null Pointer Exception
  • The new Operator and Anonymous Objects
  • Example: Another Approach to Keyboard Input
  • TIP: Use Static Imports
  • 5.3 USING AND MISUSING REFERENCES
  • Example: A Person Class
  • PITFALL: null Can Be an Argument to a Method
  • Copy Constructors
  • PITFALL: Privacy Leaks
  • Mutable and Immutable Classes
  • Tip: Deep Copy versus Shallow Copy
  • TIP: Assume Your Coworkers Are Malicious
  • 5.4 PACKAGES AND JAVADOC
  • Packages and import Statements
  • The Package java.lang
  • Package Names and Directories
  • PITFALL: Subdirectories Are Not Automatically Imported
  • The Default Package
  • PITFALL: Not Including the Current Directory in Your Class Path
  • Specifying a Class Path When You Compile
  • Name Clashes
  • Introduction to javadoc
  • Commenting Classes for javadoc
  • Running javadoc
  • Chapter Summary
  • Answers to Self-Test Exercises
  • Programming Projects
  • Chapter 6 Arrays
  • 6.1 INTRODUCTION TO ARRAYS
  • Creating and Accessing Arrays
  • The length Instance Variable
  • TIP: Use for Loops with Arrays
  • PITFALL: Array Indices Always Start with Zero
  • PITFALL: Array Index Out of Bounds
  • Initializing Arrays
  • PITFALL: An Array of Characters Is Not a String
  • 6.2 ARRAYS AND REFERENCES
  • Arrays Are Objects
  • PITFALL: Arrays with a Class Base Type
  • Array Parameters
  • PITFALL: Use of = and == with Arrays
  • Arguments for the Method main
  • Methods that Return an Array
  • 6.3 PROGRAMMING WITH ARRAYS
  • Partially Filled Arrays
  • Example: A Class for Partially Filled Arrays
  • TIP: Accessor Methods Need Not Simply Return Instance Variables
  • The “for-each” Loop
  • Methods with a Variable Number of Parameters
  • Example: A String Processing Example
  • Privacy Leaks with Array Instance Variables
  • Example: Sorting an Array
  • Enumerated Types
  • TIP: Enumerated Types in switch Statements
  • 6.4 MULTIDIMENSIONAL ARRAYS
  • Multidimensional Array Basics
  • Using the length Instance Variable
  • Ragged Arrays
  • Multidimensional Array Parameters and Returned Values
  • Example: A Grade Book Class
  • Chapter Summary
  • Answers to Self-Test Exercises
  • Programming Projects
  • Chapter 7 Inheritance
  • 7.1 INHERITANCE BASICS
  • Derived Classes
  • Overriding a Method Definition
  • Changing the Return Type of an Overridden Method
  • Changing the Access Permission of an Overridden Method
  • PITFALL: Overriding versus Overloading
  • The super Constructor
  • The this Constructor
  • TIP: An Object of a Derived Class Has More than One Type
  • PITFALL: The Terms Subclass and Superclass
  • Example: An Enhanced StringTokenizer Class
  • 7.2 ENCAPSULATION AND INHERITANCE
  • PITFALL: Use of Private Instance Variables from the Base Class
  • PITFALL: Private Methods Are Effectively Not Inherited
  • Protected and Package Access
  • PITFALL: Forgetting about the Default Package
  • PITFALL: A Restriction on Protected Access
  • 7.3 PROGRAMMING WITH INHERITANCE
  • TIP: Static Variables Are Inherited
  • TIP: “is a” versus “has a”
  • Access to a Redefined Base Method
  • PITFALL: You Cannot Use Multiple supers
  • The Class Object
  • The Right Way to Define equals
  • TIP: getClass versus instanceof
  • Chapter Summary
  • Answers to Self-Test Exercises
  • Programming Projects
  • Chapter 8 Polymorphism and Abstract Classes
  • 8.1 POLYMORPHISM
  • Late Binding
  • The final Modifier
  • Example: Sales Records
  • Late Binding with toString
  • PITFALL: No Late Binding for Static Methods
  • Downcasting and Upcasting
  • PITFALL: Downcasting
  • TIP: Checking to See Whether Downcasting Is Legitimate
  • A First Look at the clone Method
  • PITFALL: Sometimes the clone Method Return Type Is Object
  • PITFALL: Limitations of Copy Constructors
  • 8.2 ABSTRACT CLASSES
  • Abstract Classes
  • PITFALL: You Cannot Create Instances of an Abstract Class
  • TIP: An Abstract Class Is a Type
  • Chapter Summary
  • Answers to Self-Test Exercises
  • Programming Projects
  • Chapter 9 Exception Handling
  • 9.1 EXCEPTION HANDLING BASICS
  • try-catch Mechanism
  • Exception Handling with the Scanner Class
  • TIP: Exception Controlled Loops
  • Throwing Exceptions
  • EXAMPLE: A Toy Example of Exception Handling
  • Exception Classes
  • Exception Classes from Standard Packages
  • Defining Exception Classes
  • TIP: Preserve getMessage
  • TIP: An Exception Class Can Carry a Message of Any Type
  • Multiple catch Blocks
  • PITFALL: Catch the More Specific Exception First
  • 9.2 THROWING EXCEPTIONS IN METHODS
  • Throwing an Exception in a Method
  • Declaring Exceptions in a throws Clause
  • Exceptions to the Catch or Declare Rule
  • throws Clause in Derived Classes
  • When to Use Exceptions
  • Example: Retrieving a High Score
  • Event-Driven Programming
  • 9.3 MORE PROGRAMMING TECHNIQUES FOR EXCEPTION HANDLING
  • PITFALL: Nested try-catch Blocks
  • The finally Block
  • Rethrowing an Exception
  • The AssertionError Class
  • ArrayIndexOutOfBoundsException
  • Chapter Summary
  • Answers to Self-Test Exercises
  • Programming Projects
  • Chapter 10 File I/O
  • 10.1 INTRODUCTION TO FILE I/O
  • Streams
  • Text Files and Binary Files
  • 10.2 TEXT FILES
  • Writing to a Text File
  • PITFALL: A try Block Is a Block
  • PITFALL: Overwriting an Output File
  • Appending to a Text File
  • TIP: toString Helps with Text File Output
  • Reading from a Text File
  • Reading a Text File Using Scanner
  • Testing for the End of a Text File with Scanner
  • Reading a Text File Using BufferedReader
  • TIP: Reading Numbers with BufferedReader
  • Testing for the End of a Text File with BufferedReader
  • Path Names
  • Nested Constructor Invocations
  • System.in, System.out, and System.err
  • 10.3 THE FILE CLASS
  • Programming with the File Class
  • 10.4 BINARY FILES
  • Writing Simple Data to a Binary File
  • UTF and writeUTF
  • Reading Simple Data from a Binary File
  • Checking for the End of a Binary File
  • PITFALL: Checking for the End of a File in the Wrong Way
  • Binary I/O of Objects
  • The Serializable Interface
  • PITFALL: Mixing Class Types in the Same File
  • Array Objects in Binary Files
  • 10.5 RANDOM ACCESS TO BINARY FILES
  • Reading and Writing to the Same File
  • PITFALL: RandomAccessFile Need Not Start Empty
  • Chapter Summary
  • Answers to Self-Test Exercises
  • Programming Projects
  • Chapter 11 Recursion
  • 11.1 RECURSIVE VOID METHODS
  • Example: Vertical Numbers
  • Tracing a Recursive Call
  • A Closer Look at Recursion
  • PITFALL: Infinite Recursion
  • Stacks for Recursion
  • PITFALL: Stack Overflow
  • Recursion versus Iteration
  • 11.2 RECURSIVE METHODS THAT RETURN A VALUE
  • General Form for a Recursive Method That Returns a Value
  • Example: Another Powers Method
  • 11.3 THINKING RECURSIVELY
  • Recursive Design Techniques
  • Binary Search
  • Efficiency of Binary Search
  • Example: Finding a File
  • Chapter Summary
  • Answers to Self-Test Exercises
  • Programming Projects
  • Chapter 12 UML and Patterns
  • 12.1 UML
  • History of UML
  • UML Class Diagrams
  • Class Interactions
  • Inheritance Diagrams
  • More UML
  • 12.2 PATTERNS
  • Adaptor Pattern
  • The Model-View-Controller Pattern
  • EXAMPLE: A Sorting Pattern
  • Restrictions on the Sorting Pattern
  • Efficiency of the Sorting Pattern
  • TIP: Pragmatics and Patterns
  • Pattern Formalism
  • Chapter Summary
  • Answers to Self-Test Exercises
  • Programming Projects
  • Chapter 13 Interfaces and Inner Classes
  • 13.1 INTERFACES
  • Interfaces
  • Abstract Classes Implementing Interfaces
  • Derived Interfaces
  • PITFALL: Interface Semantics Are Not Enforced
  • The Comparable Interface
  • Example: Using the Comparable Interface
  • Defined Constants in Interfaces
  • PITFALL: Inconsistent Interfaces
  • The Serializable Interface
  • The Cloneable Interface
  • 13.2 SIMPLE USES OF INNER CLASSES
  • Helping Classes
  • TIP: Inner and Outer Classes Have Access to Each Other’s Private Members
  • Example: A Bank Account Class
  • The .class File for an Inner Class
  • PITFALL: Other Uses of Inner Classes
  • 13.3 MORE ABOUT INNER CLASSES
  • Static Inner Classes
  • Public Inner Classes
  • TIP: Referring to a Method of the Outer Class
  • Nesting Inner Classes
  • Inner Classes and Inheritance
  • Anonymous Classes
  • TIP: Why Use Inner Classes?
  • Chapter Summary
  • Answers to Self-Test Exercises
  • Programming Projects
  • Chapter 14 Generics and the ArrayList Class
  • 14.1 THE ARRAYLIST CLASS
  • Using the ArrayList Class
  • TIP: Summary of Adding to an ArrayList
  • Methods in the Class ArrayList
  • The “for-each” Loop
  • Example: Golf Scores
  • TIP: Use trimToSize to Save Memory
  • PITFALL: The clone Method Makes a Shallow Copy
  • The Vector Class
  • Parameterized Classes and Generics
  • PITFALL: Nonparameterized ArrayList and Vector Classes
  • 14.2 GENERICS
  • Generic Basics
  • TIP: Compile with the -Xlint Option
  • Example: A Generic Class for Ordered Pairs
  • PITFALL: A Generic Constructor Name Has No Type Parameter
  • PITFALL: You Cannot Plug in a Primitive Type for a Type Parameter
  • PITFALL: A Type Parameter Cannot Be Used Everywhere a Type Name Can Be Used
  • PITFALL: An Instantiation of a Generic Class Cannot be an Array Base Type
  • TIP: A Class Definition Can Have More Than One Type Parameter
  • PITFALL: A Generic Class Cannot Be an Exception Class
  • Bounds for Type Parameters
  • TIP: Generic Interfaces
  • Generic Methods
  • Inheritance with Generic Classes
  • Chapter Summary
  • Answers to Self-Test Exercises
  • Programming Projects
  • Chapter 15 Linked Data Structures
  • 15.1 JAVA LINKED LISTS
  • Example: A Simple Linked List Class
  • Working with Linked Lists
  • PITFALL: Privacy Leaks
  • Node Inner Classes
  • Example: A Generic Linked List
  • PITFALL: Using Node Instead of Node
  • The equals Method for Linked Lists
  • 15.2 COPY CONSTRUCTORS AND THE CLONE METHOD
  • Simple Copy Constructors and clone Methods
  • Exceptions
  • PITFALL: The clone Method Is Protected in object
  • TIP: Use a Type Parameter Bound for a Better clone
  • Example: A Linked List with a Deep Copy clone Method
  • TIP: Cloning Is an “All or Nothing” Affair
  • 15.3 ITERATORS
  • Defining an Iterator Class
  • Adding and Deleting Nodes
  • 15.4 VARIATIONS ON A LINKED LIST
  • Doubly Linked List
  • The Stack Data Structure
  • The Queue Data Structure
  • Running Times and Big-O Notation
  • Efficiency of Linked Lists
  • 15.5 HASH TABLES WITH CHAINING
  • A Hash Function for Strings
  • Efficiency of Hash Tables
  • 15.6 SETS
  • Fundamental Set Operations
  • Efficiency of Sets Using Linked Lists
  • 15.7 TREES
  • Tree Properties
  • Example: A Binary Search Tree Class
  • Efficiency of Binary Search Trees
  • Chapter Summary
  • Answers to Self-Test Exercises
  • Programming Projects
  • Chapter 16 Collections, Maps and Iterators
  • 16.1 COLLECTIONS
  • Wildcards
  • The Collection Framework
  • PITFALL: Optional Operations
  • TIP: Dealing with All Those Exceptions
  • Concrete Collection Classes
  • Differences between ArrayList and Vector
  • Nonparameterized Version of the Collection Framework
  • PITFALL: Omitting the
  • 16.2 MAPS
  • Concrete Map Classes
  • 16.3 ITERATORS
  • The Iterator Concept
  • The Iterator Interface
  • TIP: For-Each Loops as Iterators
  • List Iterators
  • PITFALL: next Can Return a Reference
  • TIP: Defining Your Own Iterator Classes
  • Chapter Summary
  • Answers to Self-Test Exercises
  • Programming Projects
  • Chapter 17 Swing I
  • 17.1 EVENT-DRIVEN PROGRAMMING
  • Events and Listeners
  • 17.2 BUTTONS, EVENTS, AND OTHER SWING BASICS
  • Example: A Simple Window
  • PITFALL: Forgetting to Program the Close-Window Button
  • Buttons
  • Action Listeners and Action Events
  • PITFALL: Changing the Heading for actionPerformed
  • TIP: Ending a Swing Program
  • Example: A Better Version of Our First Swing GUI
  • Labels
  • Color
  • Example: A GUI with a Label and Color
  • 17.3 CONTAINERS AND LAYOUT MANAGERS
  • Border Layout Managers
  • Flow Layout Managers
  • Grid Layout Managers
  • Panels
  • Example: A Tricolor Built with Panels
  • The Container Class
  • TIP: Code a GUI’s Look and Actions Separately
  • The Model-View-Controller Pattern
  • 17.4 MENUS AND BUTTONS
  • Example: A GUI with a Menu
  • Menus, Menu Items, and Menu Bars
  • Nested Menus
  • The AbstractButton Class
  • The setActionCommand Method
  • Listeners as Inner Classes
  • 17.5 TEXT FIELDS AND TEXT AREAS
  • Text Areas and Text Fields
  • TIP: Labeling a Text Field
  • TIP: Inputting and Outputting Numbers
  • A Swing Calculator
  • Chapter Summary
  • Answers to Self-Test Exercises
  • Programming Projects
  • Chapter 18 Swing II
  • 18.1 WINDOW LISTENERS
  • Example: A Window Listener Inner Class
  • The dispose Method
  • PITFALL: Forgetting to Invoke setDefaultCloseOperation
  • The WindowAdapter Class
  • 18.2 ICONS AND SCROLL BARS
  • Icons
  • Scroll Bars
  • Example: Components with Changing Visibility
  • 18.3 THE GRAPHICS CLASS
  • Coordinate System for Graphics Objects
  • The Method paint and the Class Graphics
  • Drawing Ovals
  • Drawing Arcs
  • Rounded Rectangles
  • paintComponent for Panels
  • Action Drawings and repaint
  • Some More Details on Updating a GUI
  • 18.4 COLORS
  • Specifying a Drawing Color
  • Defining Colors
  • PITFALL: Using doubles to Define a Color
  • The JColorChooser Dialog Window
  • 18.5 Fonts and the drawString Method
  • The drawString Method
  • Fonts
  • Chapter Summary
  • Answers to Self-Test Exercises
  • Programming Projects
  • Chapter 19 Java Never Ends
  • 19.1 MULTITHREADING
  • Example: A Nonresponsive GUI
  • Thread.sleep
  • The getGraphics Method
  • Fixing a Nonresponsive Program Using Threads
  • Example: A Multithreaded Program
  • The Class Thread
  • The Runnable Interface
  • Race Conditions and Thread Synchronization
  • 19.2 NETWORKING WITH STREAM SOCKETS
  • Sockets
  • Sockets and Threading
  • The URL Class
  • 19.3 JAVA BEANS
  • The Component Model
  • The JavaBeans Model
  • 19.4 JAVA AND DATABASE CONNECTIONS
  • Relational Databases
  • Java DB and JDBC
  • SQL
  • 19.5 WEB PROGRAMMING WITH JAVA SERVER PAGES
  • Applets, Servlets, and Java Server Pages
  • Oracle GlassFish Enterprise Server
  • HTML Forms—the Common Gateway Interface
  • JSP Declarations, Expressions, Scriptlets, and Directives
  • 19.6 INTRODUCTION TO FUNCTIONAL PROGRAMMING IN JAVA 8
  • 19.7 INTRODUCTION TO JAVA FX
  • Chapter Summary
  • Answers to Self-Test Exercises
  • Programming Projects
  • Appendix 1 Keywords
  • Appendix 2 Precedence and Associativity Rules
  • Appendix 3 ASCII Character Set
  • Appendix 4 Format Specifications for printf
  • Appendix 5 Summary of Classes and Interfaces
  • Index
  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M
  • N
  • O
  • P
  • Q
  • R
  • S
  • T
  • U
  • V
  • W
  • X
  • Y
Show More

Additional information

Veldu vöru

Rafbók til eignar, Leiga á rafbók í 365 daga, Leiga á rafbók í 180 daga, Leiga á rafbók í 90 daga

Reviews

There are no reviews yet.

Be the first to review “Absolute Java, Global Edition”

Netfang þitt verður ekki birt. Nauðsynlegir reitir eru merktir *

Aðrar vörur

0
    0
    Karfan þín
    Karfan þín er tómAftur í búð