Rumah >Java >javaTutorial >Contoh perbandingan Java Double

Contoh perbandingan Java Double

王林
王林ke hadapan
2023-09-01 18:41:021586semak imbas

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

Output

Value after addition: 0.30000000000000004
false
Value after addition: 0.5
true

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

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

Output

d1 is greater than d2

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

Output

d1 is less than d2

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam