00 es lo mismo que 0, es decir, es un int.
Java lo acepta, porque lo que hace es transformar automáticamente ese int a double, y no pasa nada.
Pero sí, es más adecuado, usar 0.0, más que nada porque al leer el código queda patente que se está trabajando con números reales.
Además se puede usar 0d , cuando es double, y también 0f si es float.
Pero vamos, es por cuestión de legibilidad del código. Java sí admite que inicialicemos un valor double con un int, porque lo transformará.
Lo que Java no admitiría es al contrario, a una variable int inicializar con un valor double como 0.0.
No lo admitiría porque considera que transformar eso a int es "perder información", porque se pierde la parte decimal, así que automáticamente no lo admite, a no ser que el programador fuerce el casteo