As Learning Java is Fun! Only Condition is you must have interest. To Learn Java Basic Programming knowledge is required. A good book can lead you toward a better programmer. I have founded a good list of Java Programming Books.
You can choose any of these book for starting. One Thumb Rule for Learning Java is Practice. Only Book can not make you a good programmer. You must have a Logic to Solve various problems.