Warum hat das Programm die ersten 40 ohne Dezimalpunkt ausgegeben, aber die zweiten mit Dezimalpunkt als 40.0?
Der erste Wert war in einer Variable mit dem Datentyp long
gespeichert,
ein ganzzahliger Datentyp.
Ganzzahlen haben keinen Dezimalteil.
Der zweite Wert war das Ergebnis einer Berechnung
mit einer Variablen des Datentyps double
,
einem Gleitpunkttyp.
Hier ist noch einmal das Programm:
class Beispiel
{
public static void main ( String[] args )
{
long arbeitsstunden = 40;
double stundenlohn = 10.0, steuersatz = 0.10;
System.out.println("gearbeitete Stunden: " + arbeitsstunden );
System.out.println("Bruttolohn: " + (arbeitsstunden * stundenlohn) );
System.out.println("Steuersatz: " + (arbeitsstunden * stundenlohn * steuersatz) );
}
}
Betrachten Sie sorgfältig die in Rot hervorgehobene Anweisung.
Die Klammern um (arbeitsstunden * stundenlohn)
zeigen, dass wir arbeitsstunden
mit stundenlohn
multiplizieren wollen und dann
das Ergebnis (in Zeichen konvertiert) an den String anhängen wollen.
Wenn Sie eine Berechnung als Teil einer
System.out.println()