① 使用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。
*/