kostro: Warum dieser Wert?

Hi!

Habe ein Array vom Typ char (array1) deklariert.
Weise der Variablen zaehler das Array zu. Warum erhalte ich hier eine Zahl? Ich habe doch ein char Array!?
(Code ist nicht von mir.)

int zaehler;
for(int i=0; i < 3; i++)
{
    for(int j=0; j < 7; j++)
    {
        zaehler = array1[i][j]; System.out.println(zaehler);
    }
}

  1. Hi,

    int zaehler;

    ^^^

    System.out.println(zaehler);

    Du gibst einen Wert vom Typ int und nicht vom Typ char aus.

    Durch die Zuweisung zuvor

    zaehler = array1[i][j];

    wird vom Compiler automatisch eine erweiternde Konvertierung vorgenommen. Diese Konvertierungen sind folglich implizit, und erzeugen daher auch keine Compiler-Meldungen. Normalerweise ist das auch gut so, hat aber in Deinem Fall Erstaunen hervorgerufen ;-)

    Viele Grüße,
    Martin Jung