Head First Java, a Peculiar Style of Learning

Head First Java targets experienced programmers. The material, as presented, assumes that the student possesses a reasonable familiarity with several basic programming topics.