1.1 Evaluating Expressions with Dr Java
1.2 Parentheses and Operator Precedence
1.3 Integers, Real Numbers, and Division
1.4 Internal Representation of Numbers
1.4.1 Integers
1.4.2 Reals
1.5 Dealing with Errors
1.5.1 Indicated Errors
1.5.2 Funny Numbers
1.5.3 Stealth Errors
1.6 Expressions Using Built-in Functions
1.7 Boolean Values and Logical Expressions
1.8 Problems
2.1 A Function Definition
2.2 More Functions, Better Names
2.3 Function Reuse
2.4 Program Formatting
2.5 Top-down and Bottom-up Design
2.6 Program Design; Symbolic Constants
2.7 Primitive Types and Strings
2.8 Decision Making
2.9 Assorted Topics
2.9.1 Functions Without Input
2.9.2 Function Overloading
2.9.3 Scope
2.9.4 Program Comments
2.10 Function Use Summary
2.11 Problems
3.1 Algorithms
3.1.1 Digit-by-Digit Addition Algorithm
3.1.2 Repeated Incrementation Addition Algorithm
3.1.3 Repetition
3.2 A First Recursive Java Function
3.3 More Examples of Recursive Functions
3.3.1 Factorial
3.3.2 Integer Exponents
3.3.3 Loan Payments
3.4 Using a Debugger
3.5 Local Variables
3.6 Performance Issues
3.6.1 Speed
3.6.2 Recursion Depth and Memory Usage
3.6.3 Reducing Recursion Depth
3.7 Problems
4.1 Assignment Statements
4.1.1 Variable Declarations
4.1.2 Assignment Examples
4.2 Control Flow Statements
4.2.1 Conditional Evaluation
4.2.2 Loops and Blocks
4.3 Iteration Examples
4.4 Varieties of Loops
4.4.1 for
4.4.2 do-while
4.5 Break and Continue
4.6 Increment and Decrement Operators
4.7 Side Effects
4.8 Class Variables
4.9 Functions and Assignment
4.9.1 Pass-by-value
4.9.2 Void Functions
4.10 Recursion vs. Iteration
4.11 Problems
5.1 A Class of Objects
5.1.1 The Basics
5.1.2 Instance Methods
5.1.3 String Representation
5.1.4 More Instance Methods
5.1.5 Overloaded Instance Methods
5.2 Working with Objects
5.2.1 Pass-by-reference
5.2.2 The null Object
5.2.3 Object Equality
5.3 Exceptions
5.4 Problems
6.1 Array Basics
6.2 Arrays and Loops
6.2.1 Initialization
6.2.2 Printing Array Components
6.2.3 Searching
6.2.4 Sorting
6.3 Array Iteration
6.4 Array Initializers
6.5 Multidimensional Arrays
6.6 Problems
7.1 The Java API
7.1.1 Packages and Java Files
7.1.2 Inheritance
7.2 Standard Text I/O
7.2.1 Standard Output
7.2.2 Standard Input
7.3 String Processing
7.3.1 Parsing
7.3.2 Putting It Together
7.3.3 More String Methods
7.4 Debugging with Print Statements
7.5 Working with Files
7.6 Standalone programs
7.6.1 The main Function
7.6.2 Running Standalone Programs with DrJava
7.6.3 Running Standalone Programs without DrJava
7.7 Graphical I/O
7.7.1 A Program with Simple Graphics
7.7.2 An Interactive Graphical Program
7.8 Problems