I attended one in the UK a couple of years ago and didn't have a great experience. As with most courses the benefit gained is very dependent on the trainer. When the guy introduced himself as, "new to Java but with plenty of C++ experience", I knew that it didn't bode well. See if you can find out the background of the trainer before attending / parting with cash. I'd also advise you to look at the syllabus very carefully. If you need to learn JDBC or RMI or whatever make sure that it is explictly included. Don't turn-up and expect the guy to be an expert in all aspects of the platform or to be able to go off-topic either in or out of the class. Finally, make sure that you understand the fundamentals. You're not going to get much out of the course if you have to spend the first 48 hrs understanding the difference between a class and an object ;->
I'm not sure if there is a formal dress-code but I turned-up looking pretty dammned casual and nobody objected.