Murach's Beginning Java with NetBeans
This book explains Java programming in five sections. Section 1 explains the core concepts and coding needed to create simple object-oriented applications. Sections 2, 3, and 4 expand core Java and OOP skills. Section 5 presents real world applications for the program.