Yes, but also we can program Android apps can be created using NDK in C/C++. NDK is a tool set that allows you to implement parts of your app using native-code languages such as C and C++.
There are other ways also. There are JavaScript converters, there are app-building apps. But Java is still the way that gives you the most control of both the app, and the phone when the app is running.