BlueJ is a free integrated development environment for Java. It's designed to help novices learn Java and object-oriented programming, although the more experienced can also use it to develop simple applications.
The BlueJ download we're linking here contains its own code and Oracle's Java Development Kit, which is everything you need to get started. If you already have the JDK, though, smaller BlueJ-only downloads are available on the program's site.
The program installs without incident. It's developed by a University, so there's no adware, no registration, no unnecessary visits to their website or other marketing annoyances. If you are totally new to Java then you should probably begin with the BlueJ readme file (see C:\Program Files (x86)\BlueJ\README.TXT by default), which points you to a useful tutorial and offers other advice on getting started.
If you've some development experience and want to jump right in, then there are some small example projects in the BlueJ folder (C:\Program Files (x86)\BlueJ\examples by default). We really do mean "small", but there's enough for you to understand the BlueJ basics. You get an instant graphical view of your application's class structure; scope highlighting helps you understand the layout of your code; you can dynamically create objects, inspect them (check the right-click menu) and invoke their methods, even enter Java code and have it execute right away, no compilation required.
Version 4.0.1 (Changelog):
Fixed: Closing code editor kills created objects and clears the the object bench
Fixed: After switching to another language, Preferences disappear from the Mac app menu and some keyboard shortcuts will not work
Fixed: Debugger is not stopping on some Breakpoints
Fixed: Backspace doesn't work in Terminal on Mac
Fixed: Add Â«stereotypeÂ» markers again (Â«/Â») in class diagram
Fixed: Lack of scrolling with lots of methods either in unit test, Class popup or Object popup menus
Fixed (MacOS X): Projects can't be opened with double click on "package.bluej" when BlueJ is open
BlueJ is an excellent development environment for learning Java, but its uncluttered interface and portability mean it may also appeal to the more experienced.