1. Oracle's Introduction to Basics in Java:
Not only Java, but for any programming language you need to start from the very scratch, the basics. The official Oracle website provides a great introduction to Java which explains what is Java and how it works. There are a lot of resources too for further learning but the necessary tools are quite required to begin learning Java.
2. Book on introduction to the programming language:
Introduction to Programming in Java is a great resource, and it is being presented by one of the top universities in the world. With this book you can learn some quality stuff which is essential to the process of learning Java.
This is one of the most beginner friendly resources for learning Java, though it will sound like a little bit technical. Packed with images, samples, preview code and documentation this book can be of great help for any Java learner.
3. Online tutorial on Java:
Interactive tutorials have also become an essential tool to teach you Java smoothly. This interactive tutorial is not that much technical, though, but at the beginning stage this help will be quite useful. Additionally, you'll get much help if you are able to load some code and test it practically.
4. A book to give you a harder tutorial:
This book, Learn Java the Hard Way, doesn't come for free like the others. But it's again a great resouce and also user-friendly. So if you are ready to spend $20 for this book then you'll surely love this one. First 16 chapters of the book come free online. Click here to have a look.
5. Programming by Doing:
This website has been designed by Learn Java the Hard Way publisher only and this site inspired the book also. You will find a lot of challenges which you don't require at the beginning stage of programming. But if you succeed through these challenges then your programming skills will get toughre and better. This is the absolute best way of learning Java.
6. Java for Beginners:
You may like video content for better learning and it's actually a great idea to have a grasp on the essentials of any programming language including Java. It's a free Udemycourse which has already 100,000 students enrolled into it. Led by software engineer John Purcell you get 20 hours of content including total 70 lectures. There is also an in-built support system for asking questions.
7. CodingBat:
The design may have a different impression on you from what actually it is. CodingBat(previously known as JavaBat) is one of the best ways to learn Java for free within your own browser in an interactive mode. This site offers interactive education but there are certain things which you might experience with CodingBat. CodingBat is like you can do whatever you know and pick from what you think you're capable of. There are plenty of tutorials given for each section and you can learn them quickly.
8. Beginners' Tutorials:
The New Boston has a great collection of introductory videos for a lot of programming languages including that of Java. 80 step-by-steo videos could be found here which teach Java thoroughly. It's an increadibly useful resource for anyone who wants to learn Java from the basics with utmost determination. The comments will provide deep insight into the language.
9. Object-Oriented programming with Java:
This is a University course which will be completed within 6 weeks. It's targeted for beginners and everything can be done within your browser. It has the best tutorials on how to install Java and other necessary tools. You will learn all the basics of computer programming, algorithms and object oriented programming using this language.
The second part of this course is another 6 weeks of programming. It means you will learn Java within 12-13 days and when you are done you will be able to build your own apps and will start thinking like a Java programmer.
10. Java Programming Exercises:
This is another website which provides programming exercises designed for Java which contains answers to all the puzzles. It's important to practice otherwise Java is not easy to master. There are thirty exercises and never give up if you are not able to do.
We hope the resources, books and websites will help you a lot to become a Java developer or just build own apps as a hobby. Happy Java time!