The vast majority of people use Google's free Android Java SDK but since Android is based on Linux, you could program in lots of things like c++, c, ruby etc
If you're thinking of programming for Android, there are lots of tutorials on-line and most will have info - or even links - to everything you need to set up your dev environment. Just Google "Android programming tutorial".