The best advice I can give an IB Computer Science student is to build their own examples.
- An if statement
- A while loop
- A for loop
- A try… catch block
- Reading/writing text files
- Summing an int array
- Sequential search
- Binary search
- etc, etc, etc
Here are a few resources to help you:
The JAVA API (http://docs.oracle.com/javase/7/docs/api/)
This gives you details of every method of every class in the standard edition. Use the lefthand frame to scroll to the class you want. Check out the String class. It has over 50 methods that can make your life much easier!
The Java Tutorial (https://docs.oracle.com/javase/tutorial/java/index.html)
There are several trails in the official Java Tutorial. This is one of the most basic.
Blue Pelican Java (http://www.bluepelicanjava.com/)
Looks terrible but is one of the best ways you can learn the language. Download the PDF and read it offline. Do the first 20 chapters and you are ready for IB Comp Sci HL!
David Eck’s Course (http://math.hws.edu/eck/cs124/downloads/javanotes5-linked.pdf) is academic, but thorough.
Bruce Eckel’s Thinking in Java (http://www.saeedsh.com/resources/Thinking%20in%20Java%204th%20Ed.pdf) is a well-known free online textbook. A little old now but perfectly good for the IB course.
There are literally hundreds of courses on Youtube. You can even follow whole lecture series from MIT, Stanford, etc.
Princeton’s Elements of Programming (http://introcs.cs.princeton.edu/java/home/) is nice. I particularly like this cheatsheet that they have produced (http://introcs.cs.princeton.edu/java/11cheatsheet/)
The Java Language Specification (http://docs.oracle.com/javase/specs/jls/se8/html/index.html) is the last word on Java. Only use it if there is some really technical point that you need to find out about.