logo

palabra clave estrictafp en java

En Java el estrictofp es un modificador que significa punto flotante estricto que no se introdujo en la versión base de Java como se introdujo en la versión 1.2 de Java. Se utiliza en Java para restringir los cálculos de punto flotante y garantizar el mismo resultado en todas las plataformas al realizar operaciones en la variable de punto flotante. 
Los cálculos de punto flotante dependen de la plataforma, es decir, se obtienen diferentes resultados (valores de punto flotante) cuando un archivo de clase se ejecuta en diferentes plataformas (procesadores de 16/32/64 bits). Para resolver este tipo de problema, se introdujo la palabra clave estrictofp en la versión JDK 1.2 de la siguiente manera IEEE 754 Estándares para cálculos de punto flotante. 

¿Qué es el altavoz?

Nota: El modificador estrictofp se usa solo con interfaces y métodos de clases, pero no se aplica con variables como se ilustra a continuación:

Ilustración 1: Uso de palabras clave con clases 



strictfp class Test {  

// All concrete methods here are implicitly strictfp.
}

Ilustración 2: Uso de palabras clave con interfaces 

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

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

Ilustración 3: Uso de palabras clave con método abstracto en una interfaz

cambiar el nombre de la carpeta de Linux
strictfp interface Test {  
double sum();

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

De las ilustraciones anteriores se pueden extraer algunas conclusiones:

  • Cuando una clase o una interfaz se declara con el modificador estrictofp, todos los métodos declarados en la clase/interfaz y todos los tipos anidados declarados en la clase son implícitamente estrictos.
  • estrictofp no puedo utilizarse con métodos abstractos. Sin embargo, se puede utilizar con clases/interfaces abstractas.
  • Dado que los métodos de una interfaz son implícitamente abstractos, estrictofp no se puede utilizar con ningún método dentro de una interfaz.
  • A partir de la versión Java 17, la palabra clave estrictofp NO se requiere explícitamente ya que todas las expresiones de punto flotante se evalúan estrictamente.

Ejemplo: 

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

Producción
1.006E11 

Producción: 

A continuación podemos ver el resultado en la consola.

llave de inserción del ordenador portátil

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

Crear cuestionario