strictfp ключове слово в java

strictfp ключове слово в java

На Java strictfp це модифікатор, який означає суворе число з плаваючою комою, який не був представлений у базовій версії Java, оскільки він був представлений у версії Java 1.2. Він використовується в Java для обмеження обчислень із плаваючою комою та забезпечення однакового результату на кожній платформі під час виконання операцій у змінній з плаваючою комою. 
Обчислення з плаваючою комою залежать від платформи, тобто різний вихід (значення з плаваючою комою) досягається, коли файл класу виконується на різних платформах (16/32/64-бітні процесори). Щоб вирішити цю проблему, у версії JDK 1.2 було введено ключове слово strictfp IEEE 754 стандарти для обчислень з плаваючою комою. 

Примітка: Модифікатор strictfp використовується лише з інтерфейсами та методами класів, але не застосовується для застосування зі змінними, як показано нижче:

Ілюстрація 1: Використання ключового слова з класами 

 strictfp class Test {   

// All concrete methods here are implicitly strictfp.
}

Ілюстрація 2: Використання ключових слів з інтерфейсами 

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

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

Ілюстрація 3: Використання ключового слова з абстрактним методом в інтерфейсі

 strictfp interface Test {   
double sum();

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

З наведених вище ілюстрацій можна зробити деякі висновки:

  • Коли клас або інтерфейс оголошено за допомогою модифікатора strictfp, тоді всі методи, оголошені в класі/інтерфейсі, і всі вкладені типи, оголошені в класі, неявно є strictfp.
  • strictfp не можна використовувати з абстрактними методами. Однак його можна використовувати з абстрактними класами/інтерфейсами.
  • Оскільки методи інтерфейсу є неявно абстрактними, strictfp не можна використовувати з будь-яким методом всередині інтерфейсу.
  • З версії Java 17 ключове слово strictfp НЕ вимагається явно, оскільки всі вирази з плаваючою комою суворо оцінюються.

приклад: 

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     =     10  e  +  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  ());      }   }   

Вихід
1.006E11  

Вихід: 

Нижче ми можемо побачити вихід у консолі.

Вихідний екран  

Створіть вікторину