Nicht in diesem Beispiel. Aber manchmal spielt es eine Rolle, wenn die Werte nahe an dem Limit sind, das durch 16-Bit repräsentiert werden kann.
Hier ist ein weiteres Beispiel:
short x = 12; short y = 3; short ergebnis; ergebnis = x / y;
Der Ausdruck x / y dividiert eine 32-Bit 12 durch eine 32-Bit 3, auch wenn die Variablen x und y nur 16 Bit haben. Die Berechnung ergibt ein 32-Bit Ergebnis. Da das 32-Bit Ergebnis nicht in die 16 Bit von ergebnis passen, wird der Compiler die letzte Anweisung nicht kompilieren. Das kann Sie komplett verwirren, wenn es Ihnen passiert.
D:\daten\java\bsp>javac ShortBsp.java
ShortBsp.java:9: possible loss of precision
found : int
required: short
result = x / y;
^
1 error
D:\daten\java\bsp>
Auf der Ebene der professionellen Programmierung sind Details wie diese manchmal
wichtig. Aber Sie werden für die meisten Programme für Ganzzahlen int oder long und für Gleitpunktzahlen double verwenden. Das wird Ihnen Ärger ersparen. Wenn Sie das Problem nicht vermeiden können, verwenden Sie Typkonvertierung, wie in Kapitel 28 beschrieben.
Erwarten Sie, dass ein moderner elektronischer Taschenrechner
Ihnen für den Ausdruck
(31.5 - 12)/4.1