Rumah >Java >javaTutorial >Contoh perbandingan 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.
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.
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.
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); } }
Value after addition: 0.30000000000000004 false Value after addition: 0.5 true
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.
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.
firstObject.compareTo(secondObject);
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"); } } }
d1 is greater than d2
Ia adalah kaedah statik kelas 'java.lang.Double'. Ia berfungsi sama dengan kaedah compareTo().
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"); } } }
d1 is less than d2
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!