# Array initialisieren



## saz (13. Mrz 2009)

Hallo,
eigentlich eine simple Frage: Wie kann man in Java einen mehrdimensionalen Array mit einem bestimmten Wert (z.B. 0) initialisieren? Geht das denn nicht aich irgendwie ohne Schleifen? Bei den meisten Programmiersprachen geht ja sowas wie Array = 0 ... und das wird dann eben automatisch auf alle Zellen angewandt


----------



## Schandro (13. Mrz 2009)

Ich bin mir ziemlich sicher das es nicht geht, du bräuchstest also ne schleife


----------



## Der Müde Joe (13. Mrz 2009)

int[][] ar = { {1,2}, {1,2} };

>Geht das denn nicht aich irgendwie ohne Schleifen?

fällt mir grad nix ein


----------



## saz (13. Mrz 2009)

Ist doch aber schrecklich umständlich... die ganze Arbeit nur um einen Array zu initialisieren


----------



## Der Müde Joe (13. Mrz 2009)

naja...primitive Typen wie int sind per default auf Null..also die Zahl.
siehe:

```
int[][] ar = new int[10][10];
for(int i : ar[0]) {
	System.out.println(i);
}
```

EDIT:
und Objekte halt auf null...diesmal nicht die Zahl

```
Object[][] s= new Object[2][2];
for(Object ss : s[0]) {
	System.out.println(ss);
}
```


----------



## saz (13. Mrz 2009)

Najo, das schon. Aber es ist ja doch irgendwie sauberer, wenn man es selbst festlegt ...

Aber nun gut, wenn's nicht anders geht, muss eben eine Schleife her. Danke für eure schnellen Antworten!


----------



## Marco13 (13. Mrz 2009)

Eine Schleifenebene kann man sich durch Arrays.fill sparen... aber leider nur die innerste...


----------



## musiKk (13. Mrz 2009)

Welche sind eigentlich "meiste Programmiersprachen"?

Und ich würde nicht sagen, dass es "sauberer" ist, wenn mans händisch auf null respektive Null setzt. Bei großen Arrays kostet das nur Zeit und die initialen Werte von Referenz- und primitiven Typen sind in der JLS spezifiziert.


----------



## saz (16. Mrz 2009)

Öh okay, vielleicht nicht die meisten. Mir ist es zugegebenermaßen  nur von Fortran so bekannt. Aber hätte gedacht, dass es das ja vllt. in anderen Programmiersprachen auch gibt ;-)

Klar kostet es Zeit... aber inzwischen habe ich es sowieso schon vollkommen anders gelöst, insofern brauche ich mir da nun auch keine Gedanken mehr drüber zu machen ^^


----------

