Welcome to the Ranch.
Go to the javaranch home page and look for "Bunkhouse Books"
here, if I copied the website correctly. The book I prefer is H M Deitel and P Deitel, Java How to Program, Deitel Inc (Prentice-Hall) Upper Saddle River NJ, 2005. Make sure to get the 6th edition or the 7th edition which appeared about 3 months ago. Bit expensive I am afraid, and many people don't like the Deitel style. If you read several Deitel books you will find similar passages reappear; the bits about history of computing and procedural programming are very similar in all their books. You can find out whether you like the style by looking at
Deitel's website where you can read the first few chapters free on a trial basis. If you don't like it, and a lot of people don't, you haven't lost anything.

The Deitel books are all suitable for beginners, and go to quite an advanced level.
Thinking in Java is another good book (Bruce Eckels-see the Bunkhouse Books website I quoted earlier). You can get the 3rd edition to download free of charge if you look around. It's legal.
A book I have never used which seems very popular with beginners is called Head First Java. Might be better for somebody planning an
SCJP exam than some other books. Again, see Bunkhouse books.
Two things I would recommend you avoid in a book:-
Lots of examples with everything inside the public static void main(String[] args) method.When they get on to GUIs and adding controls to buttons, use of addSomethingListener(this) throughout.Both of these are things I see quite commonly in books (and in the Java tutorial) but I don't think they help you learn proper object-oriented programming.
And you can't do Java for long without coming across the
Java tutorials. Can't answer your question about exams. Sorry
CR