I will have to disagree with PhatoseAlpha. Visual Basic is not a good language to learn on - it will not get you used to good programming practices. Too many things in Visual Basic are encapsulated and you won't really learn the core basics of real-world programming. A transition from VB to C or C++ is excruciatingly painful. If you get used to Java, the transition from Java to any other language is much smoother. Like others have stated, another great thing about Java is that it exposes you to true Object Oriented Programming, but you don't have to worry about more complicated topics, like memory management.
Your next goal is to understand HOW programs work, not to make more complex programs. VB won't make this easy to accomplish. VB is considered to be a RAD tool - Rapid Application Development. Basically, it accelerates the development time by simplifying what the developer is expected to write/code, therefore complex applications are written with very little, if any, custom code for each object. While this seems nice at face value, all of the "real code" that is actually making the program function is hidden from you. This is called encapsulation (what I referred to above). You will experience encapsulation in any programming language, but VB encapsulates way too much for it to be considered a good academic language. Java is a happy medium; it'll let you get your hands dirty, but you're just in a sandbox as opposed to a desert.
I can't stress enough - get away from VB. If you ever _need_ to use VB down the road, you can pick it up practically instantaneously after knowing Java, C#, or C++.
Go with Java.
Another thing to note: if you for some reason decide to go with C++, I'd recommend starting with at least some C. It's not required by any means, but it's always nice to be familiar with it. C is NOT a dead language - it's still used quite extensively in embedded devices. If you go with C++, at least experiment with C so you can become aware of its differences and limitations. I wouldn't say that you need to become proficient in C, however.