You can develop your own java applications which can connect to Salesforce using the SOAP or REST API's.
However, if you would like to develop an application which runs on force.com you will have to use Apex. Apex is the Salesforce specific language to develop apps on salesforce platform.
If you would like your java apps to run on salesforce, then you can check VMForce / Heroku.
Yes,
You can develop your own java applications which can connect to Salesforce using the SOAP or REST API's.
However, if you would like to develop an application which runs on force.com you will have to use Apex. Apex is the Salesforce specific language to develop apps on salesforce platform.
If you would like your java apps to run on salesforce, then you can check VMForce / Heroku.
You can find all this information and links in the http://developer.force.com/ website.
Hope this helps.
Regards,
Satish Kumar