Free Java Certification Training & Java Core Training
(Free Web Tutorials)
by Michael Thomas
Free web tutorials on Sun Certified Java Programmer (SCJP)
Training & Java Core Training.
( Home Page: Free Web Tutorials
on Java & Web Technologies )
Free Download
- Download - a zip file of the website
pertaining to this topic (all content,
tutorials, examples, etc...). Great resource!!! Work
offline!!!
Java Compile note: Most of these programs were
re-compiled with JDK 1.5 on Dec 2005.
The SCJP (Sun Certified Java Programmer) exam tests for a strong knowledge of the Java Language
fundamentals. Here is a quote from Sun's web site: "This
certification is for programmers experienced in using the basic syntax and
structure of the Java[tm] programming language. Certification is available for
the Java 2 Platform." Here is a link to Sun's
SCJP Home Page.
I've created this web page for those who already know Java and
want to review for the exam. If your familiar with programming and object
oriented concepts and want to get started with Java (beginner) then visit and complete
Java, Your First Steps (
www.michael-thomas.com/tech/java/javafirststeps/index.htm ).
There are many resources for Java Certification training
including books, tutorials, forums, etc... I have some of those links at Hot Java Sites
(
http://www.michael-thomas.com/tech/java/javahotsites.htm ).
I've found that one of the fastest ways to learn a additional
programming language is by code examples and tables/charts with concise
reference information. Next you must get your hands dirty in the source code by
doing projects.
With this in mind, this web page focuses on learning by:
-
Java Jems - Tables and charts that five concise
information about a Java concept.
-
Java Applets and Applications w/Source Code - See
example code in action.
-
Java Projects - get your hands dirty in the Java
code.
Enjoy, and share your knowledge with a friend!
Read the Disclaimer!
Download & Work Offline Option
Download All Files For This Java Course
The download from above is the contents of this site: Java Jems, Source, batch files
for Windows platforms, etc... (OK - your request have been
answered!). This way you have offline access to all of the files.
Notes on some files:
-
"..._compile.bat" - Batch files that
will compile the .java file if you have javac in your DOS path.
-
"..._run.bat" - Batch files that will
run a Java application if you have a JRE installed.
-
"..._view.bat" - Batch files that will
run Sun's "appletviewer.exe" to view a Java Applet launched
from a HTML file.
-
Viewing source files
- Info on how to view the .java file directly from my web site, without
downloading the file first.
-
NOTE: I
have an "Eclipse - First
Steps" web page that will help you setup the IDE and install this
zip file so that you can use the IDE to view and compile all my examples
that you see at this web site. That way you can work offline with
my source code and html training files.
-
Under Construction
(Not Working!!!): How to Configure IIS to View a ".java" file
just like a ".txt" file.
Load IIS, right click on "Default Web Sites", tab "Home Directory", click
"Configuration", find the ".java" entry and "Remove" it, click "Apply", then
"Ok".
Extension: .java
Executable:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
Verbs: Limit to: GET,HEAD,POST,DEBUG
Check - Scripted engine
Check - Check that file exists
General Information
Warning: MS JVM (Microsoft's Java
Virtual Machine) has issues running applets compiled with the current SDK (ex:
1.5 and others). Sun's JVM works fine. Therefore, you must install
Sun's JVM to view my applets.
- Java Certification Training Site Issues - list
of issues that I need to work on when I get time.
- Java Info & Terminology - (General)
General
interesting information about Java - it's environment and the terminology
used.
- Java Jem: OOP Similarity - Java similarity between OOP
& Procedural programming.
- Introduction to OOP - (not completed)
- Testing Objectives - Sun's Java
Certification Testing Objectives.
- Browser Information - Which browser should I use?
How do I Enabling Java. What browsers
support Java Swing? Info on other problems.
- Is your browser having trouble loading an applet? Taking to long
to load?
- Vendors JVM Versions - You don't need to look
at this link. It has some information on Vendors and there JVM
implementations.
Projects & Testing
You can skip this section and go straight to the next section.
I used these projects and tests in a class I taught at a university.
Java Projects - List of
projects which will help you get your hands dirty in the Java sources code.
In this web page I'll place a code by the link that has code examples that
you can learn from to complete the projects (ex: (P1),
etc...)
Java Project Tests -
Testing of the knowledge you gained from the projects.
Java Jems and Examples
Using DOS for Logging (Compile Errors and/or Runtime
Messages)
Misc Notes (FYIs)
- To create a text file that can be read in NotePad with line feeds use:
\r\n
(Note: this is he old char(12), char(10) concept).
Intro to Java Applets & Applications
- Java Applications (Download & Run from a JVM only!)
- Java Applets (Run from a browser)
- Java Applet and/or Application
(Run from JVM or Applet!)
- Java Jem: Creating Java Programs to work as Applet and/or Applications
- Hello World: Applet or Application
(AWT) - (Applet & Frame) can be run from:
browser or command line (JDK1.1 compatible).
- Hello World: Applet or Application
(Swing)
- (JApplet & JFrame)
- WARNING: Browser notes
- Will not view with IE 4 or 5 or Netscape 4 with out using the Java
PlugIn and additional code added in the HTML to call the plugin.
- Works view with Netscape 6 or higher.
- HotJava 3.0 (from Sun) implements 1.1.7B therefore it will not
work either.
- Click
Here to view with IE 5 or NS 4 if you have installed the Sun
Java Plug-In version 1.0.3_01 (Looks like it only wants this version
of the plug-in! NASTY!). I used Sun's HTMLConverter to create the
HTML code.
- Java Docs - this subject will covered later in more detail, but
you should go ahead and get familiar with and begin using JavaDoc as early
as possible.
- Java Doc -
This is an example HTML output of running "javadoc" on the "MyHello..." programs. Normally you create JavaDocs for an application
that has several packages. I created this very simple example
for training purpose only.
See the files:
MyHello__javadoc.bat - the batch file that reads the spec file and creates
the JavaDoc HTML.
MyHello__javadoc.txt - the spec file used to create the HTML JavaDoc (layout
& files etc...)
MyHello__javadoc_overview.html - The HTML output from JavaDoc.
- Java Applets Basics
- Java Jem: Applet Class
- MyApplet - Applet Class - how it works:
init(), paint(), repaint(), update(), start(), stop(). How to pass
HTML Parameters.
- HTML & Applets - (not completed). Use JavaScript to call
methods in Applets.
Note: MAC IE does not support JavaScript calls to Applets as of June 2001.
Java - Training Applet/Application
- Training Examples via Applets and Applications - I will be using this style of Applet to teach the Java Language
Fundamentals. Runs as Applet or Application. This java program
gets it's screen size from parms (HTML or DOS) and runs as an Applet or
Application (JDK1.1 compatible). Get familiar with the source code of this Applet before
continuing. If you want to print the web page you will need to
use Netscape because IE hangs (IE 5.50.4143.0600IC, maybe others) when printing a TextArea for some
reason.
Note: This is the new format. Many of the Training Applets are
still using the old format.
- Training Example (JDK1.1) -
Used when training on Java language fundamentals (JDK1.1 & AWT) because the most common browsers (IE 4.x, IE 5.x, NS
4.x) cannot display JDK1.2 code. You can also run them as an Java Application.
Note: GUI AWT screens are JDK1.1
compatible. This class extends another
class that hides come of the common support code (can run as Applet
or application also).
- Training Example (JDK1.2) -
Used when training on Java language fundamentals (Swing >=JDK1.2) . You will need Netscape 6 or Java's appletviewer to view
these Applets. You can also run them as an Java Application.
This class extends another class that hides
come of the common support code (can run as Applet or application also).
Java Language Fundamentals
- Keywords, Identifiers, Primitive Data Types, Literals, Escape Characters, Bases
- Operators, Assignments, Comparisons
- Java Jem: Operators, Assignments,
Comparisons (P9) - Arithmetic operators (+,-,*,/,% (modulus) ), Equality operators
(==, !=, >, <, >=, <=), Increment and decrement operators (x++,++x, x--, --x),
Arithmetic assignment operators (+=, -=, *=, /=, %=), Precedence of
operators, bitwise shifting (>>, <<, >>>), bitwise
comparison ( |, &) and logical shortcut comparison (||, &&).
- Java Jem: Objects - "==" vs equals()
- Object's: == vs equals() -
examples of using the "==" vs equals() with Objects, and
how literal String assignments work (tricky and on the exam!).
- Flow Control
- Strings (also StringBuffer, StringTokenizer, etc..)
- Arrays
- Java Jem: Arrays
- MyArrays - (P16)
Declare, Initialize, Instantiate, pass by reference, arrays of
Primitives, and arrays of Objects.
-
- Wrapper Classes: Integer, Short, Long, Byte, Float, Double,
Boolean, Character
- Garbage Collection
Java Object Oriented Programming (00P) Concepts.
Selected Java Classes
- Number Formatting
- DecimalFormat - (not completed)
- NumberFormat - (not completed)
- Math - java.lang.Math
- JDK1.2 Collections Classes
- JDK 1.1's Util classes that group a collection of objects.
- Vector Class - capabilities of array-like data structures that
can dynamically resize themselves.
- Java Jem: Vector Class - (not completed)
- Vector class (JDK 1.1) - (P28)
Vector
class methods that work with JDK1.1
- Vector Class (JDK1.2) - Sorting
the Vector class with Collections.sort() (ascending or descending
order). Also other JDK1.2 methods added to the Vector class.
- Stack Class - pop(), push(), peek(), etc..
- Hashtable Class - high speed scheme for storage and search
retrieval of value pairs (key & value).
- Properties Class - a Hashtable with option to be persistent
using an input/output stream that can be directed to a file.
- Dates and Java (JDK1.1) -
java.util.GregorianCalendar, java.util.Date, java.text.SimpleDateFormat.
Also shows Date Arithmetic using the java.util.GregorianCalendar.
Java - GUI's & Events (AWT - Abstract Windowing
Toolkit & Swing)
- Layout Managers
- MyFlowLayout - (P22)
FlowLayout Manager examples
- MyBorderLayout - (P22)
BorderLayout Manager examples
- MyBorderFlow - (P22)
Border & Flow Control mixed.
- MyGridLayout - (P22) GridLayout Manager examples
- MyCardLayout - (P22) CardLayout Manager examples. Also
uses inner classes for ActionListener events.
- MyGridBagLayout - (P22) GridBagLayout Manager examples.
- MyLayouts - All Layout Managers (BorderLayout, FlowLayout,
GridLayout, CardLayout, GridBagLayout). Multiple layouts mixed together! Inner
classes that handle ActionListener events.
- AWT (Abstract Windowing Toolkit) Components
- Basic AWT Components & Events - (P26)
Basic Examples of: Button, Label, TextField, Checkbox, Radio, Choice,
TextArea, List (single & multi).
Also has event handlers for each component.
- MyOtherComponents - Canvas, Scrollbar, Scrollpane - (not completed)
- Frame & Dialog Boxes - (not completed)
- Swing Components (Warning:
Must use a browser that supports JVM 1.2: NetScape 6.0, Sun's Appletviewer, IE
than
version 5.x with option for Sun JRE enabled, or HotJava greater than version 3.0).
Click here for more
information on browsers JVM implementations.
- Basic Swing Components - Basic
Swing components & events: JLabel, JButton, JTextArea, JTextField,
JPasswordField, JCheckBox, ButtonGroup, JRadioButton, JList, JScrollPane
(ex: scrolling JTextArea), etc...
- MyOtherComponents - (not completed) JTextPane, JEditorPane, JScrollPane
- JFrame & Dialog Boxes - (not completed)
- JTable - (not completed)
- Event Handling
- MyEvents - (not completed) Registering Event Listeners to
components.
- AWTEvent: ActionEvent, AdjustmentEvent, ComponentEvent, ItemEvent
- ComponentEvent: FocusEvent, InputEvent, PaintEvent, WindowEvent
- InputEvent: KeyEvent, MouseEvent
- MyAdapters - Example of using Adapter class.
- MyMouse - Mouse Events (MouseListener &
MouseMotionListener)
- Graphics & Painting
- MyFont - Font Class, get and set the Font type, size &
style. Use Toolkit.
- MyColor - Color Class
- MyGraphics - (not completed) Graphics Class
- Menus & Containers
- Menus
- (not completed) MyContainers - Panel, Frame, Dialog, ScrollPanel
- (not completed) MyFileDialog
Java - Multimedia (Images, Animation, Audio)
Java - Input/Output (Run as an Application!)
- Java Jem: I/O's - (not completed)
- File Class (JDK1.2) - (started, but not
completed).
- IO Basics (JDK1.1) - (P32)
- Basic (I/O) examples creating files using Java. Create text
files, HTML files, and XML files from Java using PrintWriter &
BufferedReader. Create a data file that stores objects. Also examples or creating data files with other IO
classes: FileOutputStream/FileInputStream, DataOutputStream/DataInputStream,
ObjectOutputStream/ObjectInputStream and FileWriter/FileReader.
- Creates a .txt (Text File)
- Basic (I/O) java application that creates a text (.txt) file.
Java - Threads
Java Tools
- JavaDoc
- Java Jem: Javadoc - (not completed)
- Simple use of JavaDoc - (not completed)
- Advanced use of JavaDoc - (not completed)
Collections Framework
Java Advanced Topics
Outside of your certification studies, you may find these examples helpful.
Java - 1.1 New Features
- Java Jem: Inner Class - (not completed) Inner Classes &
Anonymous Classes
- (not completed) - Serializing Objects
- (not completed) - Reflection & Beans
- Jar - support the use of jars (Java Archive)
Java - 1.2 New Features
- Swing GUI Classes
- Collections Classes
Java - 1.3 New Features
Java -1.4 New Features
Revised:
December 12, 2013.
DISCLAIMER:
I have made my best effort in preparing this site. These efforts include the development,
research, and testing of the theories and programs. I make no warranty of any kind,
expressed or implied, with regard to these programs or to the information contained at
this site. I shall not be liable in any event for incidental or consequential damages in
connection with, or arising out of, the furnishing, performance, or use of these programs.