carookee - group communication for you
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





· Passwort vergessen
· Kostenlos anmelden
  Information
  Demo
  Features
  Im Vergleich
  Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
  Kundenservice
  Impressum
  Datenschutz
  AGB
Status
4.718 User online
0 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

Beitrag 427 von 2963 (14%) |<   <   >   >|

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:
    Re: Programmzeile in Java
Programmzeile in Java
    Re: Programmzeile in Java

 Auf diesen Beitrag antworten
 Neuen Beitrag verfassen


|<   <   >   >|

                                                                                                                                                                                                                           

Impressum  · Datenschutz  · AGB  · Infos  · Presse
Ein modernes Forum: teamturn.com