This course is a revised and amalgamated version of material that I have presented in several classroom courses and presentations over nearly 10 years. It includes more than 30 hands-on exercises to give real experience in Java. As a classroom course this would take about 50 hours, including time for doing the exercises.
Model answers for almost all of the exercises can be downloaded as a zip file here (save the 45kb target of that link as file answers.zip and then unzip it). It is not possible to learn to program in any language without doing such exercises to find out what really happens, so please do not be tempted merely read the answers. Use them to compare against your own efforts after you have got something working.