Java Au Naturel
by Dr. William C. Jones, Jr.
Over 100 high school and college instructors across the U.S.A. and around the world are teaching from this textbook. This book focuses on software development with an object-oriented approach. Java is used for the implementation, since it's well suited for learning and doing object-oriented software development. This book does not require any knowledge of programming or any mathematics beyond elementary algebra and (in a few places) a bit of trigonometry.
Home page url
Download or read it online for free here:
by Bruce Eckel - MindView
This is a comprehensive tutorial, it covers many aspects of the language, with exercises in each section which will allow you to expand your Java knowledge. Perfect for migrating from another object-oriented language (C++) to Java.
by Brad Miller - interactivepython.org
This e-book is an ongoing project to help Computer Science students who have had one or two semesters of Python learn the Java programming language. If you are not a part of that audience you may still find this a useful way to learn about Java.
by Gregory J. E. Rawlins - Indiana University
The book appeared as a material developed for the Fall 1999 C212 class at Indiana University. The text covers objects, classes, methods, Java interpreter. It is sutable for absolute beginners, the author will guide you step by step on learning Java.
by Allen B. Downey - Green Tea Press
This book is less about Java, and it is only partly about programming. It is about a way of thinking. Computer scientists have an approach to problem-solving, and a way of crafting solutions, that is unique, versatile and powerful.