The Java Programming Language
Java is our programming language of choice, but it should be viewed as just one of the tools in our toolkit.
Study the notes available by following the links that begin below, and pay particular attention to the object-oriented features of the language. These notes do not assume any prior knowledge of Java. And yet they are not necessarily notes for true beginners, since they do assume a decent knowledge of C++. That should mean that you can treat some aspects of Java very quickly.
Let it be said in advance, though, that if you are coming from a C++ background, there may be many times when you are surprised, confused, dumbfounded, frustrated, infuriated, or all five, by Java.
The pages in this grouping can be viewed as more or less independent of one another. Or, at least, there is no discernible linear path through them, so there are no Next and Back links. That having been said, it seems reasonable to start with Fundamentals of Syntax and Semantics.