logo

paraula clau strictfp en java

En Java el strictfp és un modificador que significa estricte punt flotant que no es va introduir a la versió base de Java com es va introduir a la versió 1.2 de Java. S'utilitza a Java per restringir els càlculs de coma flotant i garantir el mateix resultat a totes les plataformes mentre es realitza operacions en la variable de coma flotant. 
Els càlculs de coma flotant depenen de la plataforma, és a dir, s'aconsegueix una sortida diferent (valors de coma flotant) quan s'executa un fitxer de classe en diferents plataformes (processadors de 16/32/64 bits). Per resoldre aquest tipus de problemes es va introduir la paraula clau strictfp a la versió 1.2 del JDK seguint el següent IEEE 754 estàndards per als càlculs de coma flotant. 

Nota: El modificador strictfp només s'utilitza amb interfícies i mètodes de classes, però no s'aplica per aplicar amb variables tal com es mostra a continuació:

herència java

Il·lustració 1: Ús de paraules clau amb les classes 



strictfp class Test {  

// All concrete methods here are implicitly strictfp.
}

Il·lustració 2: Ús de paraules clau amb interfícies 

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

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

Il·lustració 3: Ús de paraules clau amb el mètode abstracte en una interfície

strictfp interface Test {  
double sum();

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

De les il·lustracions anteriors es poden extreure algunes conclusions de la següent manera:

què és internet
  • Quan una classe o una interfície es declara amb el modificador strictfp, tots els mètodes declarats a la classe/interfície i tots els tipus imbricats declarats a la classe són implícitament strictfp.
  • strictfp no pot utilitzar-se amb mètodes abstractes. Tanmateix, es pot utilitzar amb classes/interfícies abstractes.
  • Com que els mètodes d'una interfície són implícitament abstractes, strictfp no es pot utilitzar amb cap mètode dins d'una interfície.
  • A partir de la versió Java 17, la paraula clau strictfp NO és necessària de manera explícita, ja que totes les expressions de coma flotant s'avaluen estrictament.

Exemple: 

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());  } } 

Sortida
1.006E11 

Sortida: 

A continuació podem veure la sortida a la consola.

ordre per sql aleatori

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

Crea un qüestionari