There is nothing better or can be better than self study. It takes a little longer but you have solid understanding of fundamentals and you develop your own logic development skills. But once in a while if someone gives a expert lecture then there is no harm attending that. It adds to your understanding.
And if you are asking psecifically for SCJP, it doesnt require to join any coaching classes, just study the book and PRACTICE LOT OF CODE. [ October 16, 2008: Message edited by: Paul Somnath ]
Hi, If you are new to java, head first java by Kathy Sierra and Bert Bates is the best book to start and Thinking in java by Bruce Eckel is a better book too.After spending some time (may be some months as per your time availability)with those books and coding alongside, you can start with scjp book by K&B.
Well if you study your self, then you will need 24hr internet access. This is because you will be stuck at many places and you need someone's help. If you have internet access, then do self study, there are a lot of people here at javaranch who are willing to help anyone who needs help
And anyway most of the teachers themselves are not that intelligent. I have seen most of the intelligent people not interested in teaching...
Ashish since you are completely new to java, so I think you should go for Head First Java. That will give you good introduction to java. Then you can go for Thinking in Java by Bruce Ekcel(spelling may be wrong).
Write all the programs that you come across in the books(instead of copying them from internet or accompanied CD). Try to modify the code in the books and see what happens in every case...