Some very useful comments here. Thank you. Out of Java, C# and C++, would you say they all help you learn to code without developing the bad habits you refer to?
Java indeed has some "safety nets" connected to it. Personally, I think this is a good thing for newbies. I understand that there is a flip side to this coin (but maybe you shouldn't worry to much about "bad habits" before you have had any chance to develop *any* kind of habits at all?). But Java is today used for introduction to programming at many universities, probably for this reason. And, the documentation and newbie information for Java is kind of massive online. Java is a good newbie language!
IMHO: Learn the methodology in objective programming, learn to "think the think". This will benefit you whatever language you later will dive further into. Learn how to crawl, then how to walk the walk, before trying to walk at the catwalk. Java is a good stepping stone for this IMHO.