Firstly reading Java: The Complete Reference-by Herbert Schildt may be a good choice for a newbie in java and then completing some courses like discrete mathematics, algorithm and data structure and switching to read Introduction to Programming in Java-by Robert Sedgewick & Kevin Wayne for further reading in java may be helpful for making good command in java. Actually the last book is an interdisciplinary book. That requires taking the mentioned courses before starting the second book.
He has B.S from Caltech, USA in Mechanical Engineering
If you are a new java learner, then you are welcome. Go to the following link how to install Blue J. It is fully designed for teaching purposes by the owner group. It may help you to understand the basic features of java very interactively. Have a good day!