The topics covered in this book are selected to teach fundamental programming concepts. This comprehensive version of Java Actually builds a foundation for novice programmers to move on to the more specialised and advanced technologies that use Java. Structured programming (control structures, strings and arrays) and Object-based programming (objects with no inheritance) are covered in the first two Parts so that objects are introduced as soon as possible. This material should be taught in all courses and a shorter version of this book exists to cover just these basics. For those moving onto to an intermediary level, the last parts of the book describe OOP (object-oriented programming) concepts and explain how they are applied.