Deklaration |
eindimensionales Feld
|
|
|
|
mehrdimensionales Feld, Feld von Feldern
|
|
|
| |
Initialisierung |
int[] fib = {
0, 1, 1, 2, 3, 5, 8, 13
};
|
|
String [] zahlen = {
"eins",
"zwei",
"drei"
};
|
|
Object[] a = {
new Integer(42),
new Double(3.141),
new String("xyz")
};
|
|
int[][] matix = {
{0, 0},
{0, 1},
{1, 0},
{1, 1}
};
|
|
int[][] dreiecksMatrix = {
{1, 2, 3, 4},
{1, 2, 3},
{1, 2},
{1}
}
|
| |
Erzeugung mit new |
int[] feld;
...
feld = new int[7];
|
|
int[][] matrix;
...
matrix = new int[3][3];
|
|
int[][] matrix2;
...
matrix2 = new int[5][];
|
| |
Erzeugung mit Initialisierung |
in Ausdrücken
ab Java 1.1
|
|
int[] ia;
...
ia = new int[] { 13, 14, 27 };
... ia.length == 3
... ia[1] == 14
|
| |
Indizierung |
immer ab 0, (wie in C)
|
| |
Zugriff |
int[] a = new int[5];
...a[i]...
|
| |
Indexüberprüfung |
immer
bei jedem Feldzugriff
|
| |
Ausnahme |
|
| |
Feldlänge |
Teil des Objekts
wird bei der Erzeugung festgelegt
Zugriff über length Attribut
|
|
int[] list = {3, 4, 5};
... list.length ...
|
| |
Kopieren |
int[] a = {1, 2, 3, 4, 5};
int[] b;
b = a;
|
|
b = new int[a.length];
for ( int i = 0;
i < a.length;
++i ) {
b[i] = a[i];
}
|
|
System.arraycopy(a, 0, b, 0, a.length);
|
|
|
|