Mac OS X users
Java is installed on your Mac, but make sure you have Java 6.0 (aka Java 1.6).
You need DrJava. Download the Mac OS X App (the "Current Stable Releasee").
You need two things: a Java compiler such as J2SE version 1.6, and DrJava.
Sun's JDK 6.0. Select "Download JDK 6.0" (get the JDK, not the JRE). That takes you to a page where you can download the J2SE Development Kit 6.0. You don't need to download NetBeans. Warning: this is a big download!
If you are having trouble, you should try the "Windows Offline Installation".
DrJava. Download the JAR file or the Windows App (the "Current Stable Release").
Other operating systems
You need two things: a Java compiler such as J2SE v 6.0, and DrJava.
Sun's JDK 6.0. Select "Download JDK 6.0" (get the JDK, not the JRE). That takes you to a page where you can download the J2SE Development Kit 6.0. You don't need to download NetBeans.
Get DrJava. Download the Jar File (for the "Current Stable Release").
A common DrJava problem: finding tools.jar
I downloaded the Java JDK and DrJava. When it came to actually running DrJava, the following window kept popping up even though somehow DrJava still managed to run without me finding the file:
Compiler not found. The file you chose did not appear to contain the compiler. Would you like to pick again? The compiler is generally located in 'tools.jar', in 'lib' subdirectory under your JDK installation director. (If you say 'No', DrJava will be unable to compile programs.).
First, make sure you installed the Java JDK, not the JRE. (See above.)
Now you need to find a file called "tools.jar". If you're using Windows, then when you installed the JDK, you probably put it in "Program Files". The name of the Java folder is probably something like "jdk1.6.0"; look inside that for a directory called "lib", and inside "lib" look for "tools.jar".
Here are some general Java resources, including documentation.
Here are some articles about unit testing that you might find interesting:
A very nice Java glossary. (Very useful!)
Documentation for the Java API (Very useful!)
Online Java language tutorial.
How to use javadoc to document your Java programs.
Code Conventions for Java, a comprehensive set of guidelines on programming style. The 108 style guide is based on this, and is what you should pay attention to. We provide the link mostly to show you that style is considered Really Important in the real world.