Easy (Syntax, API, ...):
- Head First Java
- SCJP 1.6 (<3 Kathy & Bert)
Advanced (Style and Design):
- Head First Design Pattern
- Effective Java
- Clean Code
- TDD by Example
I really think that books are the best way to start. At this level, you dont want to hear about TDD, Scrum, IOC, DRY, MVC or whatever. You want it easy and pretty, no blabla and fast results. You dont care what changed from Java 5 to Java 6. I dont say there is no good stuff on the net (the opposite is true) but most of it doesnt aim at beginners.
As soon as you got the java basics (SCJP is a nice way to get there) you will automatically have questions which are not covered in most of the newbie books. If its about design, the advanced books I listed should cover way more than the basics you need. You will also find plenty information and nice ppl willing to help at stackoverflow or javaranch. Google tracks down about a bazillion java blogs and tutorials for you. But you need to know for what to search.
Imo thats the way to go and thats the way im going. In fact, i read many of these books before i started programming for a living. This made it VERY easy to get into this stuff. I had a decent coding style and knew many common practices already as i began as a junior programmer. The lack of practice was gone after a few month and im moving very fast. I may lack experience (and will for the next 10 years) but the seniors appreciate my broad knowledge and my ability to solve problems on my own.
By the way: I think you should stick to java. .NET is amazing but it has so many more features you dont need to know yet. Java is cleaner and easier to handle for now.
<3 books!