They go from 0 to .length - 1.
The object with name Eowyn is at index 4, not index .length or 5.
Does that all make sense?
It's based on offsets, not enumeration or counting, which is a throwback but fairly ubiquitous. Actually, maybe strictly ubiquitous. I can't think of any 1-indexed arrays, without monkeying around with a language