|
| Home |
Sun Certified Java Programer[SCJP]
|
<Previous
Next>
Exam
Objectives
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, inner classes, methods, instance variables,
static variables, and automatic (method local) variables making appropriate
use of all permitted modifiers (such as public, final,static, abstract,
and so forth). 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.
• State the legal return types for any method given the declarations
of all related methods in this or parent classes.
Section 2 »FLOW
CONTROL 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 control 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.
Section 3
»Garbage
Collection:
• State the behavior that is guaranteed by the garbage collection
system, and write code that explicitly makes objects eligible for
collection.
Section 4 »Language
Fundamentals:
• Identify correctly constructed source files, package declarations,
import statements, class declarations (of all forms including inner
classes), interface declarations and implementations (for java.lang.Runnable
or other interface described in the test), method declarations (including
the main method that is used to start execution of a class), variable
declarations and identifiers.
• 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 and correctly constructed identifiers.
• 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 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, instanceof, and casts 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.
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, inner classes, static inner classes, and
anonymous inner 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, or notifyAll,
to protect against concurrent access problems and to communicate between
threads. Define the interaction between threads and between threads
and object locks when executing synchronized, wait, notify, or notifyAll.
Section 8 »The
java.awt PACKAGE:
• Write code using component, container, and LayoutManager classes
of the java.awt package to present a GUI with specified appearance
and resize behavior, and distinguish the responsibilities of layout
managers from those of containers.
• Write code to implement listener classes and methods, and
in listener methods, extract information from the event to determine
the affected component, mouse position, nature, and time of the event.
State the event classname for any specified event listener interface
in the java.awt.event package.
Section 9 »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.
Section 10 »The
java.util PACKAGE
• Make appropriate selection of collection classes/interfaces
to suit specified behavior requirements.
Section 11»
The java.io PACKAGE:
• Write code that uses objects of the file class to navigate
a file system.
• Write code that uses objects of the classes InputStreamReader
and OutputStreamWriter to translate between Unicode and either platform
default or ISO 8859-1 character encoding and Distinguish between conditions
under which platform default encoding conversion should be used and
conditions under which a specific conversion should be used.
• Select valid constructor arguments for FilterInputStream and
FilterOutputStream subclasses from a list of classes in the java.io.package.
• Write appropriate code to read, write and update files using
FileInputStream, FileOutputStream, and RandomAccessFile objects.
• Describe the permanent effects on the file system of constructing
and using FileInputStream, FileOutputStream, and RandomAccessFile
objects.
|
Back to Top
|