Java Double.compareTo()方法

原文:https://www.studytonight.com/java-wrapper-class/java-double-compareto-method

Java compareTo()方法属于Double类。这个方法类似于同一个类的compare() 方法,但是唯一的区别是这里的双对象是数值比较而不是双值比较。

必须注意的是Double.NaN值被认为等于其自身且大于任何其他数字,0.0d 被认为大于-0.0d

object1.compareTo(float object2) 方法返回该值

  • 0;如果对象 1 等于对象 2
  • -1;如果对象 1 小于对象 2
  • 1;如果对象 1 大于对象 2

语法:

public int compareTo?(Double anotherDouble)

参数:

参数包括要比较的双精度对象。

返回:

0,-1,1,具体取决于参数 double 值的值。

例 1:

这里,四个对象 n1、n2、n3、n4 被取相应的双值,并被检查其值是小于、大于还是等于比较值。

import java.lang.Double;

public class StudyTonight 
{  
    public static void main(String[] args) 
    {          
      Double ob1 = 100.0;  
      Double ob2 = 200.0;  
      Double ob3 = 300.0;  
      Double ob4 = 100.0;  

        System.out.println(ob1.compareTo(ob2));  //Output will be less than zero

        System.out.println(ob3.compareTo(ob1)); // Output will be greater than zero  

        System.out.println(ob1.compareTo(ob4));  // Output will be equal to zero
    }  
}

-1 1 0

例 2:

在这里,创建了一个双对象值数组,并将数组中的每个对象与数组中的第一个对象进行比较。

import java.lang.Double;

public class StudyTonight 
{  
    public static void main(String[] args) 
     {          
      Double [] ob = {-100.0,-200.0,300.0,-100.0}; 
          for(int i=0;i<4;i++)
            {
               System.out.println(ob[0].compareTo(ob[i]));  // comparing each object of array with first object
            }
      }  
}

0 1 -1 0

例 3:

这里有一个通用的例子,用户可以输入他选择的数字并获得所需的输出。trycatch块用于处理程序执行期间发生的任何异常。(例如,用户输入字符串等。代替双精度值)。

import java.util.Scanner; 
import java.lang.Double;
public class StudyTonight 
{  
    public static void main(String[] args) 
    {      
        Scanner sc = new Scanner(System.in);  
        System.out.print("Enter first and second number ");  
        try
          {
           Double n1 = sc.nextDouble();  
           Double n2 = sc.nextDouble();  
           int r =  n1.compareTo(n2);    
             if(r > 0)
             {  
               System.out.println("first number is greater");  
             }
             else if(r< 0) 
             {  
               System.out.println("second number is greater");  
             } 
             else
             {  
               System.out.println("both numbers are equal");
             }
           }
          catch(Exception e)
            {
              System.out.println("Error!!");
            }

     }  
}

输入第一个和第二个数字 78.09 -56.87 第一个数字较大 *输入第一个和第二个数字-89.09 -44.8 第二个数字较大 *输入第一个和第二个数字 ox667 0x556 错误!!

实时示例:

在这里,您可以测试实时代码示例。您可以为不同的值执行示例,甚至可以编辑和编写您的示例来测试 Java 代码。