System.out.println(i1 + (char)i2);
Hier kommt 100 heraus, da erst i2 (int) in ein char konvertiert wird. Anschließend wird i1 und i2 addiert, bei der Rechnung kommt dann wieder ein Integer heraus. Dies veranlasst Java die Methode System.out.println(int) aufzurufen.
System.out.println(i1 + " " + (char) i2 );
Hier wird zunächst i2 in ein char umgewandelt. Anschließend erfolgt die Auswertung von links nach rechts oder auch anders! i1 + "" ergibt also einen String. Danach wird noch i2 an den String "angehängt". (Merke: String + Zahl -> String und Typecast wird vor den meisten Operatoren angewendet. )
System.out.println("Ergebniss: " + (char) i2 + i1);
Hier steht das Ergebnis eigentlich nicht eindeutig fest, denn es gibt keine Regel ob nicht erst der String mit dem char verknüpft wird oder erst beide Zahlen addiert wird. Hier bin ich mir allerdings nicht mehr genau sicher, ob dieses Verhalten wirklich spezifiziert ist und Zahlen erst zusammengezogen werden. Im Normalfall würde man schon alleine des Verständnisses wegen eine zusätzliche Klammer setzen. (Idiotenaufgabe :o)
geschrieben von
Tobain
,
05.03.2006, 19:01 Uhr
, 43 mal gelesen