Was ist die Ausgabe des folgenden Java-Codes?
int[] array = {1, 2, 3};
System.out.println(array[3]);

Verständnis der ArrayIndexOutOfBoundsException in Java

Der Java-Code versucht, auf das vierte Element des Arrays zuzugreifen, das jedoch nicht existiert. In Java ist das Array, das mit array, deklariert wurde, gegeben durch {1, 2, 3} - ein Array mit drei Elementen. Der Versuch, auf array[3] zuzugreifen, würde dazu führen, dass auf ein Element außerhalb der Grenzen des Arrays zugegriffen wird.

Die Array-Indizierung in Java beginnt bei 0 und nicht bei 1. Daher wäre array[0] das erste Element (1 in unserem Fall), array[1] wäre das zweite Element (2 in unserem Fall) und array[2] das dritte (und in unserem Fall letzte) Element, 3.

Es gibt kein array[3] in unserem Fall, was zu einer ArrayIndexOutOfBoundsException führt. Diese Exception wird immer dann geworfen, wenn auf ein Array mit einem illegalen Index zugegriffen wird, d.h. mit einem Index, der entweder negativ ist oder gleich oder größer als die Größe des Arrays.

Eine gute Praxis ist es, immer sicherzustellen, dass der verwendete Index innerhalb der Grenzen des Arrays liegt. Dies kann durch Verwendung der length-Eigenschaft des Arrays sichergestellt werden, wie im folgenden Codebeispiel gezeigt:

if(index >= 0 && index < array.length) {
    System.out.println(array[index]);
} else {
    System.out.println("Index außerhalb der Array-Grenzen!");
}

In diesem Beispiel würde, wenn der Index außerhalb der Grenzen des Arrays liegt, eine aussagekräftigere Fehlernachricht ausgegeben werden, statt dass eine Exception geworfen wird. Es ist immer eine gute Praxis, mögliche Exceptions proaktiv zu behandeln, um den reibungslosen Ablauf des Programms sicherzustellen und hilfreiche Fehlermeldungen für den Benutzer bereitzustellen.

Finden Sie das nützlich?