Android uses DVM which require specific bytecode which is .dex .so we need to convert java .class to .dex.
DVM is specially designed to take less memory,less power consumption so .dex is nothing but an optimized form of .class.