Head First Java

This is an excellent book, far more capable than any of the scores of Java-for-novices books that have come before it. Authors deserve rich kudos for developing this book's new way of teaching the Java programming language, because any reader with even a little bit of discipline will come away with true understanding of how the language works