logo

strictfp-Schlüsselwort in Java

In Java die strictfp ist ein Modifikator, der für striktes Gleitkomma steht und nicht in der Basisversion von Java eingeführt wurde, sondern in Java Version 1.2. Es wird in Java verwendet, um Gleitkommaberechnungen einzuschränken und auf jeder Plattform das gleiche Ergebnis sicherzustellen, während Operationen in der Gleitkommavariablen ausgeführt werden. 
Gleitkommaberechnungen sind plattformabhängig, d. h. unterschiedliche Ausgaben (Gleitkommawerte) werden erzielt, wenn eine Klassendatei auf unterschiedlichen Plattformen (16/32/64-Bit-Prozessoren) ausgeführt wird. Um diese Art von Problem zu lösen, wurde das Schlüsselwort strictfp in der JDK-Version 1.2 wie folgt eingeführt IEEE 754 Standards für Gleitkommaberechnungen. 

sind Musterbeispiele

Notiz: Der Modifikator strictfp wird nur mit Klassenschnittstellen und -methoden verwendet, kann jedoch nicht auf Variablen angewendet werden, wie unten dargestellt:

Abbildung 1: Verwendung von Schlüsselwörtern mit Klassen 



strictfp class Test {  

// All concrete methods here are implicitly strictfp.
}

Abbildung 2: Verwendung von Schlüsselwörtern mit Schnittstellen 

strictfp interface Test {   
// All methods here becomes implicitly
// strictfp when used during inheritance.
}

class Car {
// strictfp applied on a concrete method
strictfp void calculateSpeed(){}
}

Abbildung 3: Schlüsselwortverwendung mit der Abstract-Methode in einer Schnittstelle

strictfp interface Test {  
double sum();

// Compile-time error here
strictfp double mul();
}

Aus den obigen Abbildungen lassen sich folgende Schlussfolgerungen ziehen:

  • Wenn eine Klasse oder Schnittstelle mit dem Modifizierer strictfp deklariert wird, sind alle in der Klasse/Schnittstelle deklarierten Methoden und alle in der Klasse deklarierten verschachtelten Typen implizit strictfp.
  • strictfp kann nicht mit abstrakten Methoden verwendet werden. Es kann jedoch mit abstrakten Klassen/Schnittstellen verwendet werden.
  • Da Methoden einer Schnittstelle implizit abstrakt sind, kann strictfp nicht mit Methoden innerhalb einer Schnittstelle verwendet werden.
  • Ab der Java 17-Version ist das Schlüsselwort strictfp NICHT explizit erforderlich, da alle Gleitkommaausdrücke streng ausgewertet werden.

Beispiel: 

Java
// Java program to illustrate strictfp modifier // Usage in Classes // Main class class GFG {  // Method 1  // Calculating sum using strictfp modifier  public strictfp double sum()  {  double num1 = 10e+10;  double num2 = 6e+08;  // Returning the sum  return (num1 + num2);  }  // Method 2  // Main driver method  public static void main(String[] args)  {  // Creating object of class in main() method  GFG t = new GFG();  // Here we have error of putting strictfp and  // error is not found public static void main method  System.out.println(t.sum());  } } 

Ausgabe
1.006E11 

Ausgabe: 

Unten sehen wir die Ausgabe in der Konsole.

Ausgabebildschirm' src='//techcodeview.com/img/java/66/strictfp-keyword-in-java.webp' title= 

Quiz erstellen