Home
/
JavaForum
/
Beginner
Infos
|
Features
|
Gold-Edition
|
Kundenservice
java
Übersicht
Forum
-
Beginner
-
Java allgemein
-
JDBC
-
JNI
-
Networking
-
Online-Ressourcen
-
Swing + AWT
-
XML
-
Meckerecke
Mitglieder
LOGIN
User oder E-Mail
Passwort
·
Passwort vergessen
·
Kostenlos anmelden
Information
Demo
Features
Im Vergleich
Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
Kundenservice
Impressum
Datenschutz
AGB
Status
4.930 User online
0 User eingeloggt
Beiträge
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
Antworten
Neuer Beitrag
Gesamtdarstellung
Detaildarstellung
Einzeldarstellung
Threaddarstellung
Beitrag 258 von 2963 (9%)
Autor
DeaconFrost
Datum
10.11.05, 15:59
Betreff
Re: Programmzeile in Java
char [] [] a = {{
'1'
,
'2'
},{
'+'
,
'-'
},{
'a'
,
'd'
}};
In Java sind Arrays spezielle Objekte, die Indizes sind die Felder.
Der Typ von a ist ein Array-Objekt von Array-Objekten die chars enthalten. a wird auch gleich initialisiert.
Dadurch entstehen im Endeffekt 4 Objekte:
Objekt a:
Member [0] => Referenz auf Objekt1
Member [1] => Referenz auf Objekt2
Member [2] => Referenz auf Objekt3
Objekt1:
Member [0] => '1'
Member [1] => '2'
Objekt2:
Member [0] => '+'
Member [1] => '-'
Objekt3:
Member [0] => 'a'
Member [1] => 'd'
Auf jedes Objekt bzw. Feld kann ich nun wie folgt zugreifen:
// b referenziert nun auch Objekt a
char [] [] b = a;
// c referenziert nun auch Objekt 2
char [] c = a[1];
// d erhält nun den Wert 'd' zugewiesen (Wert wird kopiert)
char d = a[2][1];
Die "Subarrays" müssen in Java auch nicht gleich gross sein. z.B. ist auch folgendes möglich:
char [] [] e = {{'1', '2', '3'}, null, {'a'}, {'Z', 'z'}};
e.length hat den Wert 4 (Array e enthält 4 Elemente)
e[0].length hat den Wert 3 (Array e[0] enthält 3 Elemente)
e[0][1] enthält dann den char '2'
e[1] ist eine null-Referenz (kein Array enthalten)
e[2].length hat den Wert 1 (Array e[2] enthält 1 Element)
e[2][0] enhält den char 'a'
e[3].length hat den Wert 2 (Array e[3] enthält 2 Elemente)
e[3][1] enhält den char 'z'
e[1][0] wirft eine NullPointerException (null-Referenz kann nicht dereferenziert werden)
e[4] wirft eine ArrayIndexOutOfBoundsException (Der Array e hat kein fünftes Element)
Und noch 2 Beispiele zur Initialisierung:
char[] bsp1 = {'a', 'b', 'c', 'd'};
char[][][] bsp2 = { { {'a', 'b'}, {'d', 'e'} } };
Mit den geschwungenen Klammern muss ich also die "Schachtelung" der Arrays nachvollziehen.
Ich hoffe, das war nicht zu kompliziert ;-)
Liebe Grüße,
Deacon Frost
Diskussionsverlauf:
Programmzeile in Java
Re: Programmzeile in Java
Re: Programmzeile in Java
Auf diesen Beitrag antworten
Neuen Beitrag verfassen
Impressum
·
Datenschutz
·
AGB
·
Infos
·
Presse
Ein modernes Forum:
teamturn.com