Rumah  >  Artikel  >  Java  >  Strictfp di Jawa

Strictfp di Jawa

WBOY
WBOYasal
2024-08-30 15:36:00445semak imbas

Fungsi utama strictfp di Java adalah untuk memberikan hasil yang sama pada setiap platform apabila pembolehubah titik terapung sedang beroperasi. Pada masa lalu, ketika James Gosling dan pasukannya membangunkan java, salah satu aspek utama Bahasa ialah Kebebasan Platform. Menyusun, Mentafsir dan Melaksanakan kod yang sama pada mesin yang berbeza dan memastikan hasilnya adalah sama dan tidak dimanipulasi oleh Pemproses.

Apabila mengira titik terapung pada pelbagai platform, keputusan boleh berbeza-beza disebabkan oleh keupayaan perkakasan memproses titik terapung oleh CPU. Strictfp memastikan anda mendapat output titik terapung yang tepat pada semua platform. Dengan IEEE 754, Standard untuk Aritmetik Titik Terapung, strictfp telah diperkenalkan dalam versi JVM 1.2.

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Untuk pelbagai CPU, ketepatan standard mungkin berbeza-beza; Ketepatan 32-bit adalah berbeza daripada 62-bit dan seterusnya untuk mesin x86. Penggunaan strictfp memastikan bahawa apabila kod yang sama dilaksanakan pada platform yang berbeza, output tidak boleh dimanipulasi kerana ketepatan yang berbeza, yang berfungsi dengan baik dengan platform ketepatan yang lebih tinggi. Fahami strictfp sebagai FP Strict, bermaksud Floating Point Strict.

Sintaks dalam Strictfp

strictfp adalah mudah dan bermula dengan kata kunci strictfp. Di bawah ialah sintaks untuk kelas, antara muka dan kaedah:

1. Kelas

strictfp class sample1{
// code here will me implicitly strictfp.
}

2. Antara Muka

strictfp interface sample2 {
// methods here will be implicitly strictfp
}

3. Kaedah

class India {
strictfp void population()
}

Dalam sampel di atas, kami hanya menambah kata kunci strictfp untuk kelas dan antara muka. Contoh di atas menunjukkan cara strictfp kata kunci mesti digunakan dan kini di bawah ialah contoh tempat untuk tidak menggunakan kata kunci strictfp.

class sample1{
strictfp float a;
}

Di sini, memberikan kata kunci strictfp kepada pembolehubah tidak akan berfungsi. Ia hendaklah diluluskan dengan ketat bersama kelas atau antara muka.

Contoh untuk Dilaksanakan dalam Strictfp

Di bawah ialah contoh pelaksanaan dalam Strictfp:

Contoh #1

Kami kini akan menunjukkan cara kerja kata kunci strictfp dengan melaksanakan perkara yang sama dalam contoh kod.  Di bawah ialah program yang sama:

Kod:

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

Output:

Strictfp di Jawa

Penjelasan kepada kod di atas: Kami bermula dengan definisi Ujian kelas, kemudian kami mencipta kaedah dengan jenis data berganda dan memberikan kata kunci strictfp bersamanya. Dalam add(), kami mencipta dua pembolehubah bernama number1 dan number2 jenis data berganda, dan dalam baris seterusnya, kaedah mengembalikan penambahan kedua-dua pembolehubah ini. Kemudian kami mempunyai kelas utama kami, yang juga dilengkapi strictfp, dan blok kod di dalamnya mewarisi sifat strictfp. Mencipta objek baharu kelas kami, dan pada akhirnya, kami mempunyai pernyataan cetakan keluaran kami, yang hanya mencetak nilai tambah bagi dua pembolehubah.

Contoh #2

Mari kita tunjukkan kata kunci strictfp yang sama ke dalam program yang berbeza. Di sini kami tidak akan melakukan apa-apa pengiraan; sebaliknya, kami akan menghantar nilai dalam pembolehubah apungan dan mencetaknya dengan kata kunci strictfp.

Kod:

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

Output:

Strictfp di Jawa

Penjelasan kepada kod di atas: Ini adalah satu lagi contoh di mana kami telah melaksanakan kata kunci strictfp. Saya bermula dengan kelas awam dan mencipta pembolehubah baharu dengan jenis dan nilai data apungan. Kemudian mencipta kaedah untuk mencetak nilai apungan, dan dalam kelas utama kami, kami telah memulakan objek kelas kami. Selepas objek, kami mempunyai pernyataan keluaran kami, yang memanggil kaedah yang kami buat sebelumnya. Di sini, kaedah kami yang dibuat adalah didayakan strictfp, bermakna nilai titik terapung yang diberikan akan dicetak seperti sedia ada.

Peraturan yang Perlu Diingat

Seperti kata kunci lain dalam mana-mana bahasa pengaturcaraan, strictfp dalam Java mempunyai kegunaan dan peraturannya dan untuk mencapai hasil yang diinginkan, peraturan yang ditetapkan mesti dipatuhi.  Sekarang mari kita fahami beberapa peraturan sebelum kita melaksanakan kata kunci.

  • Kata kunci strictfp tidak boleh dilaksanakan dengan pembina; ia berfungsi dengan baik dengan kelas, antara muka dan kaedah.
  • Apabila strictfp diisytiharkan dengan antara muka atau kelas, ia secara tersirat akan melaksanakan strictfp untuk semua kaedah dan jenis bersarang di dalamnya.
  • strictfp boleh dilaksanakan dengan kelas abstrak atau antara muka tetapi tidak dengan kaedah abstrak.
  • Bersama-sama dengan pembina, strictfp tidak boleh digunakan dengan pembolehubah; rujuk kod contoh yang dinyatakan tadi.

Mengikut peraturan yang dinyatakan di atas akan memastikan penggunaan strictfp yang betul, dan kemungkinan perbezaan antara ketepatan titik terapung yang memberikan hasil yang berbeza akan dielakkan.

Kelebihan Strictfp dalam Java

Di bawah adalah kelebihan yang disertakan bersama kata kunci. Kelebihan menggunakan strictfp adalah pelbagai daripada perspektif pembangun; beberapa disenaraikan di bawah:

  • Ketepatan dengan Hasil Titik Terapung pada pelbagai mesin.
  • strictfp memanfaatkan ketepatan dan kelajuan untuk operasi titik terapung.
  • Ia benar-benar tidak berat sebelah untuk 32-bit dan 64-bit dan jelas memfokuskan pada hasil yang lebih baik.
  • Akhir sekali, menggunakan kata kunci ini sebagai tiada kelemahan, tiada peningkatan dalam kebolehmampatan masa atau kelajuan pelaksanaan.
  • Adalah penting untuk memahami bahawa tanpa kata kunci strictfp dan fungsinya, output titik terapung boleh dimanipulasi mengikut titik ketepatan CPU mesin sasaran oleh pengkompil JVM dan JIT.
  • Ini hanyalah satu lagi cara yang lebih baik untuk memastikan asas Bahasa Pengaturcaraan Java, iaitu "Tulis Sekali Jalankan Di Mana-mana", dan tidak mendapat hasil yang berbeza atau salah di mana-mana kecuali mesin sumber.

Kesimpulan – Strictfp dalam Java

kami memahami maksud Kata Kunci Strictfp dalam Java, kemudian kami meneroka kegunaannya dan tidak boleh menggunakan kata kunci ini. Ia telah diperkenalkan dalam JVM 1.2 mengikut Piawaian Titik Terapung IEE 754. Kami menunjukkan kata kunci strictfp dengan sintaks dan kemudian melaksanakannya dalam contoh. Ia adalah pengubah suai yang memastikan hasil yang sama.

Atas ialah kandungan terperinci Strictfp di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:substring() Fungsi dalam JavaArtikel seterusnya:substring() Fungsi dalam Java