If I were you,
I’d give Java my undivided attention until I mastered it and knew everything there was to know about it (that means, to at least being able to get started programming in Java). I wouldn’t focus on much else until this was done.
After that, it really comes down to two things:
- Do I only want to focus on back-end programming
- Or do I also want to tinker with front-end stuff
You said you chose Java based on your goals, and I think this might be the answer. If you need Java for Android, then that’s pretty much what you’ll need to focus on. If you plan on creating web apps, you’ll have to figure out whether you want to solely focus on the business logic end of things, or create smart User Interfaces as well.
That being said, diversifying your knowledge is always a good thing. First, you’ll understand more. You’ll have a global overview of the ins and outs of an app. Even if you do become a back-end guy, understanding what your front-end colleagues have to deal with is an undeniable asset. You’ll also be more employable.
You might even like front-end more, who knows? By broadening your area of expertise, you simply don’t put a barrier to what you can do. You can switch to one or the other, and won’t be stuck with the only thing you know if you ever wanted to do something else. Be aware, though, that once you’re full stack, you’ll need to be able to handle full-stack. Some employers will hire a full-stack guy instead of two separate guys each focused on their own area of expertise. The employer only has to pay one person, but you need to be able to cover for the whole project and handle the two jobs.
Having said all of this, here’s what I’d do:
- Focus primarily on Java and master it
- Learn what front-end is really about and find out if you like it or not
- Do learn about the different technologies and their use, even if you don’t plan on going full-stack
- On top of that, learn the Command Line and Git
- Learn about databases
My two cents.