palabra clave strictfp en java

strictfp 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 coma flotante y garantizar el mismo resultado en todas las plataformas mientras se realizan operaciones en la variable de coma flotante. 
Los cálculos de coma flotante dependen de la plataforma, es decir, se obtienen resultados diferentes (valores de coma flotante) cuando un archivo de clase se ejecuta en plataformas diferentes (procesadores de 16/32/64 bits). Para resolver este tipo de problema, se introdujo la palabra clave strictfp en la versión JDK 1.2 siguiendo los estándares IEEE 754 para cálculos de punto flotante. 

Nota: el modificador strictfp se usa solo con clases, interfaces y métodos, pero no es aplicable para aplicar 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 variables

strictfp interface Test {
    double sum();
    
    // Compile-time error here
    strictfp double mul(); 
}

Algunas conclusiones se pueden sacar de las ilustraciones anteriores como sigue:

  • Cuando una clase o una interfaz se declara con el modificador strictfp, todos los métodos declarados en la clase/interfaz y todos los tipos anidados declarados en la clase son implícitamente strictfp.
  • strictfp no se puede utilizar con métodos abstractos. Sin embargo, se puede usar con clases/interfaces abstractas.
  • Dado que los métodos de una interfaz son implícitamente abstractos, strictfp no se puede usar con ningún método dentro de una interfaz.

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: 

Este artículo es una contribución de Gaurav Miglani . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *