Datentypen Kurzform Addition geht, Langform scheitert am Typen

  • Themenstarter Themenstarter KleineFrage
  • Beginndatum Beginndatum
K

KleineFrage

Gast
Hallo, warum geht die Erhöhung von char mit der Kurzform +=, aber nicht die Addition ausgeschrieben, da gibt es einen Typfehler, da int nicht zu char werden könne?

Java:
int x = 4; char b = 'a';

b += x;
b = b + x;

Ich verzweifle 🙁
 
Du versuchst bei der 2 Methode ein String und eine Zahl zu addieren? LoL. Kein Wunder, dass das nicht funktioniert.
 
Hallo, warum geht die Erhöhung von char mit der Kurzform +=, aber nicht die Addition ausgeschrieben, da gibt es einen Typfehler, da int nicht zu char werden könne?

Java:
int x = 4; char b = 'a';

b += x;
b = b + x;

Ich verzweifle 🙁

Was beabsichtigst du damit denn zu berechnen?

Gerechnet wird mit int, float und double, char eignet sich dazu eher weniger 😀
 
jeder char ist im grunde nichts anderes als ein int. also warum sollte man damit nicht rechnen können? dir fehlt beim zweiten einfach ein expliziter cast.

edit: also besser gesagt ein short. deshalb passt der int auch nicht in den char und man muss casten.
 
Weil das nicht exakt das selbe ist:
Code:
b += x
wird vom Compiler zu
Code:
b = (char) b + x
umgesetzt. Und bei der zweiten Variante sagt dir eben der Compiler, dass es "nicht reinpasst", weil du einen Integer (=Ergebnis einer Addition) in ein char zu speichern versuchst.
 
@Iashu
Ein char als primitiver Datentyp hat doch nichts mit einem String zu tun? Oder habe ich das falsch verstanden?

@epitox
Ich versuche zu verstehen warum das eine als Kurzform zulässig ist, das andere - nur eben ausführlicher geschrieben - nicht. Eigentlich sollte beides gleich sein, so mein Gedanke.

@nrg und besonders @XHelp
Ich danke Euch! Ihr habt mir sehr weitergeholfen! 🙂
 

Zurück
Oben