logo

strictfp-avainsana javassa

Javassa strictfp on muokkaus, joka tarkoittaa tiukkaa liukulukua, jota ei otettu käyttöön Javan perusversiossa, koska se otettiin käyttöön Java-versiossa 1.2. Sitä käytetään Javassa liukulukulaskelmien rajoittamiseen ja saman tuloksen varmistamiseen kaikilla alustoilla suoritettaessa toimintoja liukulukumuuttujalla. 
Liukulukulaskelmat ovat alustariippuvaisia, eli erilainen tulos (liukulukuarvot) saavutetaan, kun luokkatiedostoa ajetaan eri alustoilla (16/32/64-bittiset prosessorit). Tämän tyyppisen ongelman ratkaisemiseksi strictfp-avainsana otettiin käyttöön JDK 1.2 -versiossa seuraavasti IEEE 754 liukulukulaskujen standardit. 

python-tavut merkkijonoon

Huomautus: strictfp-muuttajaa käytetään vain luokkarajapintojen ja menetelmien kanssa, mutta sitä ei voida soveltaa muuttujien kanssa, kuten alla on kuvattu:

Kuva 1: Avainsanojen käyttö luokkien kanssa 



strictfp class Test {  

// All concrete methods here are implicitly strictfp.
}

Kuva 2: Avainsanojen käyttö käyttöliittymien kanssa 

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

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

Kuva 3: Avainsanan käyttö abstraktilla menetelmällä käyttöliittymässä

kuka on urfi javed
strictfp interface Test {  
double sum();

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

Yllä olevista kuvista voidaan tehdä joitain johtopäätöksiä seuraavasti:

  • Kun luokka tai liitäntä on ilmoitettu strictfp-muuntimella, kaikki luokassa/rajapinnassa ilmoitetut menetelmät ja kaikki luokassa ilmoitetut sisäkkäiset tyypit ovat implisiittisesti strictfp.
  • strictfp ei voi käyttää abstraktien menetelmien kanssa. Sitä voidaan kuitenkin käyttää abstraktien luokkien/rajapintojen kanssa.
  • Koska käyttöliittymän menetelmät ovat implisiittisesti abstrakteja, strictfp:tä ei voida käyttää minkään menetelmän kanssa rajapinnan sisällä.
  • Java 17 -versiosta alkaen strictfp-avainsanaa EI vaadita erikseen, koska kaikki liukulukulausekkeet arvioidaan tarkasti.

Esimerkki: 

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

Lähtö
1.006E11 

Lähtö: 

Alla näemme ulostulon konsolissa.

kuinka koulu keksittiin

Tulostusnäyttö' src='//techcodeview.com/img/java/66/strictfp-keyword-in-java.webp' title= 

Luo tietokilpailu