Rumah > Java > javaTutorial > teks badan

Contoh perbandingan Java Double

王林
Lepaskan: 2023-09-01 18:41:02
ke hadapan
1542 orang telah melayarinya

Java Double比较示例

Double ialah salah satu jenis data primitif yang tersedia di Java untuk mewakili nombor titik perpuluhan. Ia tergolong dalam jenis titik terapung, juga dikenali sebagai nombor nyata, dan digunakan apabila pengiraan memerlukan nilai perpuluhan. Sebagai contoh, untuk menyatakan hasil 1/5, iaitu 0.2, keputusan sinus dan kosinus juga memerlukan titik perpuluhan. Sebagai tambahan kepada perwakilan nilai perpuluhan, kita juga boleh melakukan operasi perbandingan antara dua pembolehubah dua jenis. Artikel ini bertujuan untuk meneroka cara yang mungkin untuk membandingkan dua pembolehubah dengan bantuan program contoh.

Bandingkan Nombor Ketepatan Berganda di Jawa

Dalam bahagian ini, kami akan menerangkan cara membandingkan Beregu di Jawa. Kita boleh menggunakan kaedah berikut -

  • Guna == operator

  • Gunakan kaedah compareTo()

  • Gunakan kaedah compare()

Mari kita bincangkan satu persatu dengan contoh program.

Guna == operator

Pengendali “==” ialah salah satu pengendali hubungan yang terdapat di Jawa. Ia digunakan untuk membandingkan nilai dua jenis data. Lebih tepat lagi, ia melakukan ujian kesamaan bermakna ia menyemak sama ada nilai yang diberikan adalah sama dan mengembalikan benar jika kedua-dua nilai adalah sama, sebaliknya palsu.

Walau bagaimanapun, banyak pembangun Java menafikan pengendali kesamarataan kerana ralat pembundaran. Ralat pembulatan adalah sangat biasa dan berlaku apabila kita bekerja dengan nombor titik terapung. Oleh itu, apabila kami menggunakan operator "==" untuk membandingkan nilai berganda, kami mungkin mendapat hasil yang salah.

Contoh

Dalam contoh ini, kami akan menggunakan operator '==' untuk membandingkan dua nilai berganda.

public class Demo {
   public static void main(String[] args) {
      double data1 = 0.30;
      double data2 = 0.20 + 0.10;
      System.out.println("Value after addition: " + data2);
      // checking equality of first operation
      System.out.println(data1 == data2);
      double data3 = 0.50;
      double data4 = 0.10 + 0.10 + 0.10 + 0.10 + 0.10;
      System.out.println("Value after addition: " + data4);
      // checking equality of second operation
      System.out.println(data3 == data4);
   }
}
Salin selepas log masuk

Output

Value after addition: 0.30000000000000004
false
Value after addition: 0.5
true
Salin selepas log masuk

Arahan

Dalam kod di atas, apabila kita melakukan operasi tambah pertama, nilai jangkaan 'data2' ialah 0.30, tetapi hasil output adalah salah. Walau bagaimanapun, apabila kami melakukan satu lagi operasi penambahan yang serupa, kami mendapat hasil yang tepat dan ujian kesamaan lulus. Oleh itu, tidak disyorkan untuk menggunakan operator '==' untuk membandingkan dua nilai berganda.

Gunakan kaedah compareTo()

Ia adalah kaedah kelas 'java.lang.Double' yang boleh digunakan untuk membandingkan dua nilai Double. Ia mengembalikan 0 apabila objek pertama sama dengan objek yang diluluskan, nilai positif jika objek pertama lebih besar daripada objek yang diluluskan, dan nilai negatif sebaliknya.

Tatabahasa

firstObject.compareTo(secondObject);
Salin selepas log masuk

Contoh

Dalam contoh berikut, kami akan memulakan dua pembolehubah Berganda dan membandingkannya menggunakan kaedah compareTo().

import java.lang.*;
public class Demo {
   public static void main(String args[]) {
      // declaring and initializing two double variable
      Double d1 = Double.valueOf(395.24);
      Double d2 = Double.valueOf(323.30);
      // comparing and storing the result to an int variable
      int res =  d1.compareTo(d2);
      if(res > 0) { 
         System.out.println("d1 is greater than d2");
      } else if(res < 0) {
         System.out.println("d1 is less than d2");
      } else {
         System.out.println("d1 is equal to d2");
      }
   }
}
Salin selepas log masuk

Output

d1 is greater than d2
Salin selepas log masuk

Gunakan kaedah compare()

Ia adalah kaedah statik kelas 'java.lang.Double'. Ia berfungsi sama dengan kaedah compareTo().

Contoh

Contoh berikut menggunakan kaedah compare() untuk menyemak sama ada dua nilai Double adalah sama.

import java.lang.*;
public class Demo {
   public static void main(String args[]) {
      // declaring and initializing two double variable
      Double d1 = Double.valueOf("195.24");
      Double d2 = Double.valueOf("323.30");
      int res =  Double.compare(d1, d2);
      // comparing and storing the result to an int variable
      if(res > 0) {
         System.out.println("d1 is greater than d2");
      } else if(res < 0) {
         System.out.println("d1 is less than d2");
      } else {
         System.out.println("d1 is equal to d2");
      }
   }
}
Salin selepas log masuk

Output

d1 is less than d2
Salin selepas log masuk

Kesimpulan

Kami telah membincangkan tiga cara untuk membandingkan nilai Berganda dengan bantuan program. Cuba elakkan pendekatan pertama, iaitu menggunakan operator "==" untuk membandingkan nilai berganda, kerana ia mungkin membawa kepada hasil yang salah akibat ralat pembundaran. Dua kaedah terbina dalam lain yang dinamakan compare() dan compareTo() akan memberikan kami hasil yang tepat.

Atas ialah kandungan terperinci Contoh perbandingan Java Double. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan