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.
Die zweiten vierzig waren das Ergebnis einer Berechnung
mit einer Variablen des Datentyps double,
einem Gleitpunkttyp.
Hier ist noch mal das Programm:
class Beispiel
{
public static void main ( String[] args )
{
long gearbeiteteStunden = 40;
double stundenLohn = 10.0, steuerSatz = 0.10;
System.out.println("gearbeitete Stunden: " + gearbeiteteStunden );
System.out.println("Bruttolohn: " + (gearbeiteteStunden * stundenLohn) );
System.out.println("Steuersatz: " + (gearbeiteteStunden * stundenLohn * steuerSatz) );
}
}
Betrachten Sie sorgfältig die in Rot hervorgehobene Anweisung.
Die Klammern um (gearbeiteteStunden * stundenLohn)
zeigen, dass wir gearbeiteteStunden
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()