Chapter 1 - Environment
How to download and install Java
How to download and install Java documentation
How to get the lab exercises
How to download and install Eclipse
Filename suffixes
Chapter 2 - Program
Program text
Comments
The smallest legal program
Chapter 3 - Type, Constant, Variable
What is a type?
What are the primitive types?
The boolean type
The char type
The byte type
The short type
The int type
The long type
Gotcha
The float type
The double type
Unsigned numeric types
Literal prefixes and suffixes
Local variables
Names
Reserved words
Input from the keyboard
Output to the screen
Lab
Chapter 4 - String
String's are objects
How to create, initialize, and use pointers to String's
How to send a message to a String
How to pass parameters with a message
Equivalence and Identity
The String type
String's are pooled
Two pointers to the same object - good or evil?
String's are immutable
Lab
Chapter 5 - Type Conversion
How to convert from one type to another type
What is a cast?
Convert, Invalid, Narrowing, Widening?
How to convert from boolean
How to convert from char
How to convert from byte
How to convert from short
How to convert from int
How to convert from long
How to convert from float
How to convert from double
How to convert from String
Conversions during String concatenation
Lab
Chapter 6 - Operator, Expression
What is an operator?
What is an expression?
What is precedence?
What is associativity?
Precedence and associativity of operators
What is the order of evaluation?
Lab
Chapter 7 - Statement
What is a statement?
Empty statement
Compound statement
Declaration statement
Expression statement
If statement
Switch statement
While statement
Do statement
For statement
How to leave more than one loop
Lab
Chapter 8 - Array
What is an array?
[]'s are objects
How to create, initialize, and use pointers to []'s
Length is not part of type
How to create an [] of String's
The [] type
How to make an [] with multiple dimensions
Command-line input parameters
Lab
Chapter 9 - Class, Object
What is a class?
What is an object?
How to create a class
How to create an object
Lab
Chapter 10 - Field
What is a field?
How to add a field to a class
Lab
Chapter 11 - Method
What is a method?
How to add a method to a class
The return statement
Lab
Chapter 12 - Message
What is a message?
How to send a message
How are input parameters passed?
What is the "this" pointer?
get and set methods
public and private
Comparison: local variable, input parameter, field
Common gotchas
Lab
Chapter 13 - Constructor
How to initialize an object: wrong way #1
How to initialize an object: wrong way #2
How to initialize an object: the right way
What is a constructor?
Default constructor
Overloaded constructors
How one constructor can call another constructor
Lab
Chapter 14 - Association
What is an association?
1-to-1 association
Lab
1-to-many association
Lab
Lab
Lab
Lab
Lab
Chapter 15 - Inheritance
Sets, Subsets, and Supersets
What is inheritance?
How to invoke a superclass constructor
Memory layout of a subclass object
How to stop a class from having subclasses
Lab
Chapter 16 - Overriding
What is overriding?
Subclass's method does less work
Subclass's method does more work
How to stop a method from being overridden
Lab
Chapter 17 - Substitutability, Polymorphism
What is substitutability?
What is polymorphism?
What is an upcast?
What is a downcast?
Lab
Chapter 18 - Concrete Class, Abstract Class
What is a concrete class?
What is an abstract class?
How to make a concrete superclass abstract
How to make a class abstract
Lab
Chapter 19 - Abstract Method
What is an abstract method?
How to make a method abstract
Lab
Chapter 20 - The Object Class
The Object class
What is inherited from the Object class?
How to override equals()
How to override toString()
How to invoke toString()
Lab
Chapter 21 - Static Field, Static Method
What is a static field?
How to initialize static fields
System.in, System.out, System.err are static fields
How to make and use a class constant
What is a static method?
How to invoke a static method
main() is a static method
Lab
Chapter 22 - Exception
Traditional way to handle errors
Traditional way to handle errors: Problems
What is an exception?
How to create an exception class
How to throw an exception
How to catch an exception
How to catch more than one kind of exception
How to catch superclass and subclass exceptions
How to not catch an exception
Exceptions and overriding
Common gotchas
Solution
Lab
Chapter 23 - Interface
How to evolve a class into an interface, 1
How to evolve a class into an interface, 2
How to evolve a class into an interface, 3
How to evolve a class into an interface, 4
What is an interface?
How to implement an interface
How to implement more than one interface
How to extend and implement
Where will we use interfaces?
Chapter 24 - Package
What is a package?
The standard package hierarchy
The java.lang package
How to use a class in a package
Chapter 25 - I/O
What is a stream?
How to write lines to a text file
How to read lines from a text file
Lab
Chapter 26 - URL
How to read lines from a text file via URL
Local file versus remote file
Chapter 27 - Applet
What is an Applet?
java.applet.Applet
The smallest legal applet
How to launch an applet via Eclipse
How to launch an applet via HTML
How to process the HTML
How to pass parameters to an applet
Lab
Chapter 28 - Applet Painting
java.applet.Applet
The painting coordinate system
java.awt.Graphics
java.awt.Color
How to set the paint color
java.awt.Font
How to set the paint font
Lab
Chapter 29 - Component
What is a Component?
java.awt.Component
What is a Container?
java.awt.Container
What is a Label?
java.awt.Label
How to add a Label
What is a Button?
java.awt.Button
How to add a Button
What is a Checkbox?
java.awt.Checkbox
How to add a Checkbox
What is a CheckboxGroup?
java.awt.CheckboxGroup
How to add a CheckboxGroup
What is a Choice?
java.awt.Choice
How to add a Choice
What is a List?
java.awt.List
How to add a List
What is a TextComponent?
java.awt.TextComponent
What is a TextField?
java.awt.TextField
How to add a TextField
What is a TextArea?
java.awt.TextArea
How to add a TextArea
Lab
Chapter 30 - Layout
What is a LayoutManager?
What are the kinds of LayoutManager?
Absolute layout
java.awt.FlowLayout
Flow layout
java.awt.BorderLayout
Border layout
java.awt.GridLayout
Grid layout
Gaps
Margins
Lab
Chapter 31 - Panel
What is a Panel?
How to add a Panel
Lab
Chapter 32 - Event Handling
Event handling
Event registration
Event notification
What are the kinds of events?
What are the kinds of listeners?
Who generates which events?
java.awt.event.ActionEvent
How to listen for ActionEvent's
Lab
java.awt.event.ItemEvent
How to listen for ItemEvent's
Lab
java.awt.TextEvent
How to listen for TextEvent's
Lab
Chapter 33 - Window
What is a Window?
java.awt.Window
How to listen for WindowEvent's
What is a Frame?
java.awt.Frame
The smallest legal Frame
Lab
How to close a Frame
Lab
How to add a MenuBar to a Frame
Lab
Chapter 34 - Thread
What is a thread?
java.lang.Thread, java.lang.Runnable
Subclassing Thread: An example
Implementing Runnable: An example
Subclass Thread or implement Runnable?
Lab
Chapter 35 - Primitive Wrapper Classes
What is a primitive wrapper class?
java.lang.Boolean
java.lang.Character
java.lang.Byte
java.lang.Short
java.lang.Integer
java.lang.Long
java.lang.Float
java.lang.Double
Chapter 36 - Vector
What is a Vector?
java.util.Vector
How to make and use a Vector
How to implement a 1-to-many association using an array
How to implement a 1-to-many association using a Vector
Lab
Chapter 37 - Stack
What is a Stack?
java.util.Stack
How to make and use a Stack
Chapter 38 - Hashtable
What is a Hashtable?
java.util.Hashtable
How to make and use a Hashtable
Chapter 39 - Iterator
Many ways to iterate
One way to iterate
What is an Iterator?
java.util.Iterator
How to make and use an Iterator
Lab