Heim > Java > javaLernprogramm > Hauptteil

Strictfp in Java

WBOY
Freigeben: 2024-08-30 15:36:00
Original
434 Leute haben es durchsucht

Die Hauptfunktion von strictfp in Java besteht darin, auf jeder Plattform das gleiche Ergebnis zu liefern, wenn Gleitkommavariablen in Betrieb sind. Damals, als James Gosling und sein Team Java entwickelten, war Plattformunabhängigkeit einer der Hauptaspekte der Sprache. Kompilieren, Interpretieren und Ausführen desselben Codes auf verschiedenen Maschinen und Sicherstellen, dass das Ergebnis dasselbe ist und nicht vom Prozessor manipuliert wird.

Bei der Berechnung von Gleitkommazahlen auf verschiedenen Plattformen können die Ergebnisse aufgrund der Fähigkeit der Hardware, Gleitkommazahlen durch die CPU zu verarbeiten, variieren. Strictfp stellt sicher, dass Sie auf allen Plattformen die exakte Gleitkomma-Ausgabe erhalten. Mit IEEE 754, dem Standard für Gleitkomma-Arithmetik, wurde strictfp in der JVM-Version 1.2 eingeführt.

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Bei verschiedenen CPUs können die Standardgenauigkeiten variieren; Die 32-Bit-Präzision unterscheidet sich von der 62-Bit-Genauigkeit usw. für x86-Maschinen. Durch die Verwendung von strictfp wird sichergestellt, dass die Ausgabe nicht aufgrund unterschiedlicher Präzision manipuliert wird, wenn derselbe Code auf verschiedenen Plattformen ausgeführt wird, was bei Plattformen mit höherer Präzision gut funktioniert. Verstehen Sie strictfp als FP Strict, was Floating Point Strict bedeutet.

Syntax in Strictfp

Strictfp ist einfach und beginnt mit dem Schlüsselwort strictfp. Nachfolgend finden Sie die Syntaxen für eine Klasse, eine Schnittstelle und eine Methode:

1. Klasse

strictfp class sample1{
// code here will me implicitly strictfp.
}
Nach dem Login kopieren

2. Eine Schnittstelle

strictfp interface sample2 {
// methods here will be implicitly strictfp
}
Nach dem Login kopieren

3. Methode

class India {
strictfp void population()
}
Nach dem Login kopieren

In den obigen Beispielen haben wir einfach das Schlüsselwort strictfp für die Klasse und die Schnittstelle hinzugefügt. Die obigen Beispiele zeigen, wie das Schlüsselwort strictfp verwendet werden muss. Nachfolgend finden Sie ein Beispiel dafür, wo das Schlüsselwort strictfp nicht verwendet werden sollte.

class sample1{
strictfp float a;
}
Nach dem Login kopieren

Hier funktioniert die Zuweisung eines strictfp-Schlüsselworts zur Variablen nicht. Es muss unbedingt zusammen mit einer Klasse oder einer Schnittstelle übergeben werden.

Beispiel zur Implementierung in Strictfp

Im Folgenden finden Sie Beispiele für die Implementierung in Strictfp:

Beispiel #1

Wir werden nun die Funktionsweise des Schlüsselworts strictfp demonstrieren, indem wir es in einem Codebeispiel implementieren.  Unten ist das Programm dafür:

Code:

public class Test  {
public strictfp double add()
{
double number1 = 10e+10;
double number2 = 6e+08;
return (number1+number2);
}
public static strictfp void main(String[] args)
{
Test example = new Test();
System.out.println(example.add());
}
}
Nach dem Login kopieren

Ausgabe:

Strictfp in Java

Erklärung zum obigen Code: Wir haben mit der Klassentestdefinition begonnen, dann haben wir eine Methode mit einem doppelten Datentyp erstellt und ihr das Schlüsselwort strictfp zugewiesen. In add() haben wir zwei Variablen mit den Namen Nummer1 und Nummer2 vom doppelten Datentyp erstellt, und in der nächsten Zeile gibt die Methode die Addition dieser beiden Variablen zurück. Später haben wir unsere Hauptklasse, die ebenfalls mit strictfp ausgestattet ist, und der darin enthaltene Codeblock erbt die strictfp-Eigenschaften. Wir haben ein neues Objekt unserer Klasse erstellt und am Ende haben wir unsere Ausgabe-Print-Anweisung, die einfach den Mehrwert der beiden Variablen ausgibt.

Beispiel #2

Lassen Sie uns nun das gleiche strictfp-Schlüsselwort in verschiedenen Programmen demonstrieren. Hier werden wir keine Berechnungen durchführen; Stattdessen übergeben wir einen Wert in der Float-Variablen und geben ihn mit einem strictfp-Schlüsselwort aus.

Code:

public class new_strictfp {
float f = 9.381f;
strictfp public void displayValue(){
System.out.println(f);
}
public static void main(String[] args) {
new_strictfp Demo = new new_strictfp ();
Demo.displayValue();
}
}
Nach dem Login kopieren

Ausgabe:

Strictfp in Java

Erklärung zum obigen Code: Dies ist ein weiteres Beispiel, in dem wir das Schlüsselwort strictfp implementiert haben. Ich habe mit der öffentlichen Klasse begonnen und eine neue Variable mit Float-Datentyp und -Wert erstellt. Dann haben wir eine Methode zum Drucken des Float-Werts erstellt und in unserer Hauptklasse ein Objekt unserer Klasse initialisiert. Nach dem Objekt haben wir unsere Ausgabeanweisung, die unsere zuvor erstellte Methode aufruft. Hier ist unsere erstellte Methode strictfp-fähig, was bedeutet, dass der zugewiesene Gleitkommawert unverändert gedruckt wird.

Zu beachtende Regeln

Wie jedes andere Schlüsselwort in jeder Programmiersprache hat strictfp in Java seine Verwendungszwecke und Regeln und um die beabsichtigten Ergebnisse zu erzielen, müssen die angegebenen Regeln befolgt werden.  Lassen Sie uns nun einige Regeln verstehen, bevor wir das Schlüsselwort implementieren.

  • Das Schlüsselwort strictfp kann nicht mit Konstruktoren implementiert werden; es funktioniert gut mit Klassen, Schnittstellen und Methoden.
  • Wenn strictfp mit einer Schnittstelle oder einer Klasse deklariert wird, wird strictfp implizit für alle darin enthaltenen Methoden und verschachtelten Typen implementiert.
  • strictfp kann mit abstrakten Klassen oder Schnittstellen implementiert werden, jedoch nicht mit abstrakten Methoden.
  • StrictFP kann zusammen mit Konstruktoren nicht mit Variablen verwendet werden; Weitere Informationen finden Sie im zuvor erwähnten Beispielcode.

Durch das Befolgen der oben genannten Regeln wird die ordnungsgemäße Verwendung von strictfp sichergestellt und der mögliche Unterschied zwischen der Gleitkomma-Genauigkeit, der zu unterschiedlichen Ergebnissen führt, wird vermieden.

Vorteile von Strictfp in Java

Im Folgenden sind die Vorteile aufgeführt, die das Schlüsselwort mit sich bringt. Die Vorteile der Verwendung von strictfp sind aus Entwicklersicht vielfältig. einige sind unten aufgeführt:

  • Genauigkeit mit Gleitkomma-Ergebnissen auf verschiedenen Maschinen.
  • strictfp nutzt die Präzision und Geschwindigkeit für Gleitkommaoperationen.
  • Es ist völlig unabhängig für 32-Bit und 64-Bit und konzentriert sich eindeutig auf bessere Ergebnisse.
  • Abschließend: Die Verwendung dieses Schlüsselworts hat keinen Nachteil, keine Erhöhung der Zeitkomprimierbarkeit oder der Ausführungsgeschwindigkeit.
  • Es ist wichtig zu verstehen, dass die Gleitkommaausgabe ohne das Schlüsselwort strictfp und seine Funktion entsprechend dem CPU-Präzisionspunkt der Zielmaschine durch den JVM- und JIT-Compiler manipuliert werden kann.
  • Dies ist nur eine weitere bessere Möglichkeit, die Grundlagen der Java-Programmiersprache, nämlich „Write Once Run Anywhere“, sicherzustellen und nicht überall unterschiedliche oder falsche Ergebnisse zu erhalten, außer auf dem Quellcomputer.

Fazit – Strictfp in Java

Wir haben verstanden, was ein Strictfp-Schlüsselwort in Java ist, haben dann die Verwendungsmöglichkeiten untersucht und sollten dieses Schlüsselwort nicht verwenden. Es wurde in JVM 1.2 gemäß den Gleitkommastandards von IEE 754 eingeführt. Wir haben das Schlüsselwort strictfp mit Syntaxen demonstriert und sie später in Beispielen implementiert. Es handelt sich um einen Modifikator, der die gleichen Ergebnisse gewährleistet.

Das obige ist der detaillierte Inhalt vonStrictfp in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage