You need Eclipse software and the Java Development Kit (JDK). Any JDK version will work for basic Java programs. The highest number that shows "LTS" is recommended. More information. On Windows you can use ninite.com, this link should be all you need. For other operating systems or if ninite doesn't work:
Download "Eclipse IDE for Java Developers" from https://www.eclipse.org/downloads/packages/
Download the JDK from https://adoptopenjdk.net/releases.html
Google Java Style Guide (for reading)
Automatic
Download Google Style Guide -> unzip -> Eclipse -> Window -> Preferences -> Java -> Code Style -> Formatter -> Import -> eclipse-java-google-style -> Apply and Close -> Ctrl+Shift+f
Manual
Window->Preferences->Java->Code Style->Formatter->New, name Profile "Google Style"
Indentation tab:
Change Tab Policy to "Spaces only", change Tab size to 2
Check box for "Statements within 'switch' body"
Line Wrapping tab:
Maximum line width: 80
Line at 80 or 100 characters
Window->Preferences->General->Editors->Text Editors, check "Show print margin"
Keep font size and style (Window->Preferences->General->Appearance->Colors and Fonts) set to a monospace font that fits on one line when printed like Consolas 10. Ctrl + will zoom so the font appears larger without actually changing it. Macs don't come with Consolas but you can get it or try Inconsolata.
General
4.2 Block indentation: +2 spaces
indent one level after each {
written in UpperCamelCase
written in CONSTANT_CASE
written in lowerCamelCase
descriptive
NO one letter variable names
A single blank line:
to separate sections logically within methods
Before any open curly brace
On both sides of any binary operator (like = and +)
After ,:; or the closing parenthesis of a cast
Flow Control
Separating any reserved word, such as if, from an open parenthesis that follows it
switch
Methods and Classes
A single blank line:
between each method
written in lowerCamelCase
verbs or verb phrases
For methods there is a short, concise, one line description to explain what the item does.
List the accepted input arguments and return values of the method.
Repetition
Separating any reserved word, such as for and while, from an open parenthesis that follows it
Exceptions
name exception parameters with more than one letter, like ex, not e
Separating any reserved word, such as catch, from an open parenthesis that follows it
Templates / Text expansion
See all in Window->Preferences->Java->Editor->Templates
Type Ctrl+space to invoke
main
syso
cast
Change font size Ctrl + and Ctrl -
Comment out all lines containing the current selection: Ctrl + /
Organize imports: Ctrl + Shift + O
Templates ( Ctrl+space)
switch
Methods
Templates ( Ctrl+space)
new
Repetition
Templates ( Ctrl+space)
do
for
while
OOP
Source->Generate
Exceptions
Templates ( Ctrl+space)
try
Quality
Source->Format (Ctrl+Shift+F)
Documentation
Source->Generate Element Comment
Javadoc
Javadoc shortcut Shift-Alt-J
Project->Generate Javadoc
javadoc command is the path to your javadoc.exe. You can use Windows to find it.
Find generated web page at workspace/projectname/doc/index.html
Wrap Up
Runnable jar: File->Export->Runnable JAR file.
Help -> Install New Software
Add, http://download.eclipse.org/efxclipse/updates-nightly/site (so it works with 11)
e(fx)clipse, select all
Accept, Finish, Restart
File -> New -> JavaFX -> JavaFX Project