① 使用java,判断double类型的x,y,是否相等
publicclassTest2{
publicstaticvoidmain(String[]args){
Double亮明链x=newDouble(Math.PI);
Doubley槐梁=newDouble(1f/0f);//无穷大的数
if(x敬孙==null||y==null)
System.out.println("任何一个值不能为空");
if(x.isInfinite())
System.out.println("x为无穷大的数"+Math.PI);
if(y.isInfinite())
System.out.println("y为无穷大的数");
if(x==y)
System.out.println("x与y一样大");
}
}
② Java中Double的比较
Double没有的,double有 Double是对象,看两个对象是否值相同,调用 equals方法
这也是解决double精度比较的方法。另外还有一种方法,你可以用写一个 double成员属性,然后在eclipse中重写equals方法,你会看到他是怎么处理两个double值是否相同的 sun公司用的是Double.doubleToLongBits(要比较的double值) != Double.doubleToLongBits(另一个double值) 这种方式
③ java怎么比较两个对象是否相等
一、java中的基本数据类型(int、double、short、long、byte、float、boolean、char)判断是否相等,直接使用"=="就行了,相等返回true,否则,返回false。
二、但是java中的引用类型的对象比较变态,假设有两个引用对象obj1,obj2,
obj1==obj2 判断是obj1,obj2这两个引用变量是否相等,即它们所指向的对象是否为同一个对象。言外之意就是要求两个变量所指内存地址相等的时候,才能返回true,每个对象都有自己的一块内存,因此必须指向同一个对象才返回ture。
三、如果想要自定义两个对象(不是一个对象,即这两个对象分别有自己的一块内存)是否相等的规则,那么必须在对象的类定义中重写equals()方法,如果不重写equals()方法的话,默认的比较方式是比较两个对象是否为同一个对象。
在Java API中,有些类重写了equals()方法,它键野慎们的比较规则是:当且仅当该equals方法参数不是 null,两个变量的类型、内稿敬容都相同,则比较结果为true。这些类包括:String、Double、Float、Long、Integer、Short、Byte、、Boolean、BigDecimal、BigInteger等等,太多太多了,但是常见的就这些了,具体可以查看脊旁API中类的equals()方法,就知道了。
④ 关于java判断char、String、int、double型是否相等的问题
char,double都用==来判断,因为char有一个整数与之对应,比较的时候其实就是比较对应的整数,int类型要高于弯野char类型,可以直接将char类型直接赋给int类型,然后输出值自己败渗看一下就明白了埋枯喊!
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
char c = 'a';
int ic = c;
System.out.println(c+ "\t" +ic);
}
}
⑤ java中如何判断两个变量相等
8个基本类型byte shout int long char float double boolean这些类型的变量使用==判断对象要使用equals来判断,因为String是对象所以要使用equals来判断为中州吵String类型的变量赋值需要用双引号""把值引起来String s = "string_value";""其实就是String的对象如果直接使迹行用双卖侍引号 String s = "";这样的话 就代表为String类型的变量s赋了一个什么都没有的字符串 回去看看java基础的书吧,字符串两边要用""引号引起来。
⑥ 在JAVA中怎么比较Double类型数据的大小
你如果是要普通比较直接用数学符号即可,指的在其jvm允许的范围内如果,你是要很准确的精度比较运算,由于精度问题,可能会有误差,建议使用BigDecimal类型!
//普通比较
Doubleobj1=newDouble("0.001");
Doubleobj2=newDouble("0.0011");
obj1.compareTo(obj2);
//精度准确比较
doublea=obj1;
doubleb=obj2;
BigDecimaldata1=newBigDecimal(a);
BigDecimaldata2=newBigDecimal(b);
data1.compareTo(data2);
//该方法两种类都有
publicintcompareTo(BigDecimalval)
/*将此BigDecimal与指定的BigDecimal比较。根据此方法,值相等但具有不同标度的两个BigDecimal对象(如,2.0和2.00)被认为是相等的。相对六个boolean比较运算符(<,==,>,>=,!=,<=)中每一个运算符的各个方法,优先提供此方法。
*参数:val-将此BigDecimal与之比较的BigDecimal。
*返回:当此BigDecimal在数字上小于、等于或大于val时,返回-1、0或1。
*/