Varro's answer is excellent (and entirely correct), but it's worth noting that we see the same sort of alternation in the same word in Latin: Juppiter and diēs both come from the same root! Just like in Greek, the initial *d mutated before *j/y.
The Proto-Indo-European form behind Zeus is reconstructed as *dyēw-s, with the oblique stem *diw- used for all forms except nominative, accusative, and vocative. This sort of alternation between *yē and *i is common in PIE: look up "ablaut" for more information.
In Proto-Greek, the last common ancestor of the Greek dialects, this turned into something like *dzéus: dentals before
/j/ palatalized into affricates. It's not entirely clear what the affricate sounded like, but Mycenaean (the oldest attested Greek dialect) uses the sign 𐀽 for earlier *dye and the sign 𐀆 for earlier *de, so there was definitely a difference there. The oblique stem was still *diw-.
Finally, in Ancient Greek, the *dz was written with the letter zeta; different dialects pronounced it differently, but the Romans just borrowed the letter zeta to represent it, and modern transcriptions do the same: "Z". This is how we get the forms Zeus, Zēn, Zeu alongside the oblique forms Diós, Día (previously Diwós, Díwa before most dialects lost
Similarly, Latin Juppiter comes from a vocative form combined with the word for "father"; compare the Christian formula "Heavenly Father". The PIE vocative form is reconstructed as *dyew, which became Proto-Italic *djou (aka *dyow, different ways of writing the same thing).
Unlike in Ancient Greek, the *dj didn't survive as a special palatalized consonant: it simplified into
/j/ by Latin times. Then *Jou-patēr became Jū-piter by sound change, and then sometimes became Juppiter due to something called the "littera rule"; the two forms were in free variation.
The oblique forms on *diw- also survived into Latin, creating the noun *djow- > Jov-is (where Classical Latin v represents
/w/). This had normal third-declension (consonant-stem) forms: Jov-is, Jov-ī, Jov-em, and so on. Through suppletion, the special form Juppiter with "father" glommed on took over the nominative and vocative, while the regular Jov- was used for all other cases.
The accusative form of the root, *dyēm (cf AGrk Zēn), also survived in Latin, in the form *diēm > diem. Uniquely, the dy here didn't become *dj > j; some scholars suggest that it evolved in a different Italic language/dialect, which didn't have the palatalization rules, then got borrowed back into Latin. When it did come back to Latin, though, it was with a new meaning of "day" (instead of "sky/sky god"), and it was extrapolated into a whole paradigm on the stem di-, and forced into the fifth declension where it didn't really fit (di-ēs, di-ēī, etc).