Java Programming
Description: This course provides a comprehensive and in-depth review of the Java Programming language to software developers, Web programmers and Web Masters.
Course is offered on Evenings, Saturdays and Sundays. Contact 919.515.9095 for dates/times/pricing. (Full Course runs for 8 weeks. Call for more detailed information.)
Suggested Prerequisites: Programming experience, knowledge of programming language, such as C or C++, familiarity with object-oriented concepts and/or event driven programming.
Attend and You Will Learn
- Lesson 1:
DECLARATIONS AND ACCESS CONTROL
Write code that declares,
constructs and initializes arrays
of any base type using any of the
permitted forms both for
declaration and for initialization.
Declare classes, nested classes,
methods, instance variables,
static variables
and automatic (method local)
variables making appropriate use of
all permitted modifiers (such as
public, final, static, abstract,
etc.). State the significance of
each of these modifiers both
singly and in combination and
state the effect of package
relationships
on declared items qualified by
these modifiers.
For a given class, determine if a
default constructor will be
created and if so state the
prototype of that constructor.
Identify legal return types for
any method given the declarations of
all related methods in this or
parent classes.
- Lesson 2:
FLOW CONTROL, ASSERTIONS, & EXCEPTION HANDLING
Write code using if and switch statements
and identify legal argument types for these
statements.
Write code using all forms of loops
including labeled and unlabeled,
use of break and continue, and state
the values taken by loop counter
variables during and after loop execution.
Write code that makes proper use of
exceptions and exception handling clauses
(try, catch, finally) and declares methods
and overriding methods that throw exceptions.
Recognize the effect of an
exception arising at a specified point
in a code fragment.
Note: The exception may be a
runtime exception, a checked exception,
or an error (the code may include
try, catch, or finally clauses in
any legitimate combination).
Write code that makes proper use of
assertions, and distinguish appropriate
from inappropriate uses of assertions.
Identify correct statements about
the assertion mechanism.
- Lesson 3:
GARBAGE COLLECTION
State the behavior that is guaranteed
by the garbage collection system.
Write code that explicitly makes
objects eligible for garbage collection.
Recognize the point in a piece of
source code at which an object
becomes eligible for garbage collection.
- Lesson 4:
LANGUAGE FUNDAMENTALS
Identify correctly constructed package
declarations, import statements,
class declarations (of all forms
including inner classes) interface
declarations, method declarations
(including the main method that is used
to start execution of a class),
variable declarations, and identifiers.
Identify classes that correctly
implement an interface where that interface
is either java.lang.Runnable
or a fully specified interface
in the question.
State the correspondence between
index values in the argument array
passed to a main method and command
line arguments.
Identify all Java programming
language keywords.
Note: There will not be any
questions regarding esoteric
distinctions between keywords and manifest
constants.
State the effect of using a variable or
array element of any kind when no
explicit assignment has been
made to it.
State the range of all primitive
formats, data types and declare
literal values for String and all
primitive types using all permitted
formats bases and representations.
- Lesson 5:
OPERATORS AND ASSIGNMENTS
Determine the result of applying
any operator (including assignment
operators
and instance of) to operands of any
type class scope or accessibility or
any combination of these.
Determine the result of applying
the boolean equals (Object) method
to objects of any combination of
the classes java.lang.String,
java.lang.Boolean and
java.lang.Object.
In an expression involving the
operators &, |, &&, || and
variables of known values state
which operands are evaluated and
the value of the expression.
Determine the effect upon objects
and primitive values of passing
variables into methods and performing
assignments or other modifying
operations in that method.
- Lesson 6:
OVERLOADING, OVERRIDING, RUNTIME TYPE /OBJECT ORIE
State the benefits of encapsulation in
object oriented design and write
code that implements tightly
encapsulated classes and the
relationships "is a" and "has a".
Write code to invoke overridden
or overloaded methods and parental
or overloaded constructors;
and describe the effect of invoking
these methods.
Write code to construct instances
of any concrete class including
normal top level classes and nested
classes.
- Lesson 7:
THREADS
Write code to define, instantiate
and start new threads using both
java.lang.Thread and
java.lang.Runnable.
Recognize conditions that might prevent
a thread from executing.
Write code using synchronized wait,
notify and notifyAll to protect
against concurrent access problems
and to communicate between threads.
Define the interaction among
threads and object locks when
executing synchronized wait,
notify or notifyAll.
- Lesson 8:
FUNDAMENTAL CLASSES IN THE JAVA.LANG PACKAGE
Write code using the following
methods of the java.lang.Math
class: abs, ceil, floor, max, min,
random, round, sin, cos, tan, sqrt.
Describe the significance of the
immutability of
String objects.
Describe the significance of wrapper classes,
including making appropriate selections
in the wrapper classes to suit
specified behavior
requirements, stating the result
of executing a
fragment of code that includes an
instance of one
of the wrapper classes, and writing code
using the following methods
of the wrapper classes
(e.g., Integer, Double, etc.):
doubleValue
floatValue
intValue
longValue
parseXxx
getXxx
toString
toHexString
- Lesson 9:
THE COLLECTIONS FRAMEWORK
Make appropriate selection of collection
classes/interfaces to suit specified
behavior
requirements.
Distinguish between correct and incorrect
implementations of hashcode methods.
For available dates, Click Here.