There are plenty of resources available in the web for Java. The following book (or the latest version available) is a good starting point for a beginner to Java. It has a good coverage of the concepts in a simple and concise manner with illustrative example programs. This is based on my experience of offering a course titled “Object Oriented Design, Programming and JAVA” at IIM Indore.
Herbert Schildt (2014), Java: A Beginner’s Guide, Seventh Edition, McGraw-Hill
Education, ISBN-13: 9789387432284
Following are the summary topics.
- getting_started
- Java fundamentals & object oriented programming
- Data types and operators
- Program control flow: decision structures
- Program control flow: loop structures
- Arrays
- Strings & Bit-wise operators
- Classes, Objects and Methods
- Object passing and overloading methods
- Recursion, static blocks and nested classes
- Inheritance
- Polymorphism
- Packages and interfaces
- Using I/O: Byte and character streams
- Using I/O: File operations
- Exception Handling
- Multithreading
- User Interfaces