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 3.1.7 (Changelog):
This is a bug-fix release for users who still need to use Java 6. In the absence of any major issues, it will be the last version of BlueJ which will work with Java 6.
List of fixes and improvements:
Fixed problems in handling SVN projects.
Fixed minor issues with the debugger.
BlueJ is an excellent development environment for learning Java, but its uncluttered interface and portability mean it may also appeal to the more experienced.