Absolute Java
For courses in computer programming and engineering. Beginner to Intermediate Programming in Java This book is designed to serve as a textbook and reference for programming in the Java language. Although it does include programming techniques, it is organized around the features of the Java lan...
Otros Autores: | , |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Boston :
Pearson
[2016]
|
Edición: | Sixth edition, Global edition |
Colección: | Always learning.
|
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009767233606719 |
Tabla de Contenidos:
- Cover
- 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.