Can I develop Android application without actually having an Android phone?

Yes. The android SDK includes an emulator call AVD or Android Virtual Device. It is limited in some respects because it can’t receive calls or be moved around for GPS testing, but for simple games and web-apps it’s perfect for users who don’t want to invest in a development phone.

Here’s a website on how to use the AVD in the basic sense:

However I recommend using the Eclipse Android Development Tool (ADT) plugin for all your work as the AVD launcher is built right into the normal launch system for Eclipse. Here’s a page on how to install that:

Obviously you’ll need to install Eclipse for Java Developers and the Android SDK first. If you haven’t done that yet, here are the pages you need to get that done: