Если я сделаю следующее
double d = 0;
поскольку 0 - это целочисленный литерал, который использует 32 бита, а d - переменная типа double, использующая 64 бита, будут ли оставшиеся 32 бита заполнены случайным мусором или Java правильно продвигает литерал?