IntelliJ is free for the community edition, but that one is limited in it's features. If you're doing anything web, you'll want the paid-for edition. However if you're just working on some Java SE, you could use the free version.
There's always Eclipse.
It's a bit clunky at times but full featured nonetheless.
You can get the EAP (early access program) for free if you want to be a cheapskate.
i do web stuff and the community edition works just fine