logo

ključna riječ strictfp u Javi

U Javi je strogifp je modifikator koji označava striktni pokretni zarez koji nije uveden u osnovnoj verziji Jave jer je uveden u Javi verziji 1.2. Koristi se u Javi za ograničavanje izračuna s pomičnim zarezom i osiguravanje istog rezultata na svakoj platformi tijekom izvođenja operacija u varijabli s pomičnim zarezom. 
Izračuni s pomičnim zarezom ovise o platformi, tj. drugačiji izlaz (vrijednosti s pomičnim zarezom) postiže se kada se datoteka klase izvodi na različitim platformama (16/32/64-bitni procesori). Za rješavanje ove vrste problema ključna riječ strictfp uvedena je u verziju JDK 1.2 slijedeći IEEE 754 standardi za izračune s pomičnim zarezom. 

Bilješka: modifikator strictfp koristi se samo sa sučeljima i metodama klasa, ali nije primjenjiv za primjenu s varijablama kao što je ilustrirano u nastavku:

Ilustracija 1: Upotreba ključnih riječi s klasama 



inorder traversal
strictfp class Test {  

// All concrete methods here are implicitly strictfp.
}

Ilustracija 2: Upotreba ključne riječi sa sučeljima 

java podniz sadrži
strictfp interface Test {   
// All methods here becomes implicitly
// strictfp when used during inheritance.
}

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

Ilustracija 3: Upotreba ključne riječi s metodom sažetka u sučelju

strictfp interface Test {  
double sum();

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

Iz gornjih ilustracija mogu se izvući neki zaključci kako slijedi:

  • Kada je klasa ili sučelje deklarirano modifikatorom strictfp tada su sve metode deklarirane u klasi/sučelju i svi ugniježđeni tipovi deklarirani u klasi implicitno strictfp.
  • strogifp ne može koristiti s apstraktnim metodama. Međutim, može se koristiti s apstraktnim klasama/sučeljima.
  • Budući da su metode sučelja implicitno apstraktne, strictfp se ne može koristiti ni s jednom metodom unutar sučelja.
  • Od verzije Jave 17 ključna riječ strictfp NIJE potrebna eksplicitno jer se svi izrazi s pomičnim zarezom strogo procjenjuju.

Primjer: 

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

Izlaz
1.006E11 

Izlaz: 

Ispod možemo vidjeti izlaz u konzoli.

veličina lateks fonta

Izlazni zaslon' src='//techcodeview.com/img/java/66/strictfp-keyword-in-java.webp' title= 

Napravi kviz