|
|
SCJP
1.4 Certification Exam Objectives ( check out java.sun.com
for recent updates)
Section 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.
Section 2: Flow control,
Assertions, and 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.
Section 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.
Section 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.
|
Section 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 val
Section 6: Overloading,
Overriding, Runtime Type and Object Orientation
- 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.
Section 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.
Section 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
|
|
|