logo

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

Вихід
1.006E11 

Вихід: 

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

Вихідний екран' src='//techcodeview.com/img/java/66/strictfp-keyword-in-java.webp' title= 

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