Why does Android use Java?
Some points:
Java is a known language, developers know it and don't have to learn it
it's harder to shoot yourself with Java than with C/C++ code since it has no pointer arithmetic
it runs in a VM, so no need to recompile it for every phone out there and easy to secure
large number of development tools for Java (see point 1)
several mobile phones already used Java ME, so Java was known in the industry
the speed difference is not an issue for most applications; if it was you should code in low-level language
On the byte-code level, Android doesn't use Java. The source is Java, but it doesn't use a JVM.