I am learning Java from books too. Because if you don't have much experience, you have to be at least certified for the job. But you can't say which is better

Some guys with everyday experience don't know subjects that they do not use in work, and if you are gonna be certified it's a good chance you will have a clue about anything that is included in exam.
About Sun Certified Java exam. After learning it you will still be clueless what to do with that language

Because SCJP teaches you to write like only console apps

They dont examine your knowledge of API library so you will be pretty lost even passed SCJP. Then you need some other exam on particular technology like: SCJD, SCWCD, SCBCD.
About reading long books for certification... Repetition is a key! When I finished my first .NET certification book, I only scored like 30-40% on mock exam. But that mock exam gives you idea what you have missed or misunderstood. THen you come back and re-read. Maybe try your wild ideas on computer to see if it works. So to get certified you will probably will read that book twice. Some chapters you know well you will never reread, but chapters which you don't understand or remember you will read 3-5 times.
If you feel confident with mock exam I can guarantee you will pass certification. So just relax read further if you don't understand something return and re-read again.
Just a clue: if you get certified and you will not use it for 2-3 months. You will forget everything. So better learn technologies you are going to use.
My best regards!
I am pretty sure you will pass that cert. The first cert is the most scary!
