What is Java?
In very short words, Java is a programming language that let you make an application that can be run on different operating systems, no matter we are talking about Windows, Mac OS, Linux or even embedded devices, such as RaspberryPi. When you compile a Java program, instead of getting a binary output as you get on other programming languages, you'll get a Java intermediate code, called Java bytecode. This is interpreted at run time, by a virtual machine that is specifically for the hardware and operating system you are using.
What Java do i need?
There are 5 major versions of Java:Java SE(Standard Edition) - this is what I'll use on most of my tutorials. Most of the examples will run on Java 6, but for others you'll need Java 7.
Java EE (Enterprise Edition) - used for enterprise development
Java ME (Micro Edition) - for running Java on mobile and different embedded devices such as PDAs, TV set-top boxes, printers, etc.
Java Embedded - for some embedded devices such as Raspberry Pi, where the resources are limited
JavaFX - to develop rich content User Interfaces. This is also something that will use a lot.More detailed information can be found on Oracle's websiteIf you just want to run java applications you'll need the JRE (Java Runtime Environment) installed. If you want to program and create new applications, then you'll need the JDK (Java Development Kit).
How to check if Java is already installed?
From command line, if you are on Windows, or from Terminal on Mac enter the following:java -versionYou should get something like this, if you have java installed on your system:java version "1.6.0_37"Note: your current Java version might be different from mine.
Java(TM) SE Runtime Environment (build 1.6.0_37-b06-434-11M3909)
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01-434, mixed mode)
More information
https://www.java.com/en/download/faq/whatis_java.xml
http://en.wikipedia.org/wiki/Java_(programming_language)
Next steps
Install Java SDK
Chose an IDE.I recommend NetBeans as it is very easy to use and also let you quickly create the GUI of your application
Alternatives are Eclipse, Komodo Edit (for Mac), etc. There are plenty of solutions both free or paid.
Resources on web
Oracle Tutorials - lot of tutorials and useful resources
JavaRanch - forum about java