Nein. Das angegebene Arrayelement (Slot) existiert nicht.
Wenn Ihr Programm läuft und versucht auf ein Element eines Arrays zuzugreifen, überprüft die Java VM (virtual machine), ob das Arrayelement tatsächlich existiert. Dies wird Grenzen überprüfen genannt (bounds checking). Wenn Ihr Programm versucht auf ein Arrayelement zuzugreifen, das nicht existiert wird die Java VM eine:
ArrayIndexOutOfBoundsException
generieren.
Das wird gewöhnlich Ihr Programm anhalten.
Natürlich,
wie bei 1D Arrays, müssen Indizes vom Typ Integer sein.
Es macht keinen Sinn auf gradeTable[ 3.5 ][ 2 ] zuzugreifen.
So wie bei 1D Arrays können Arrayindizes Integerliterale, eine Variable vom Integertyp, eine Methode die einen Integer ergibt oder ein arithmetischer Ausdruck sein, der alle diese Dinge beinhaltet:
gradeTable[ 3 ][ j ] = 34;sum = gradeTable[ i ][ j ] + gradeTable[ i ][ j+1 ] ;value = gradeTable[ 2 ][ someMethod() ] ;gradeTable[ 1 ][ 0 ] = gradeTable[ i+3 ][ someMethod()-2 ] ;Es ist nicht wahrscheinlich, dass wir eine Anweisung brauchen, die so kompliziert ist wie die letzte.