JAVA常遇到疑問

摘要:JAVA常遇到疑問

3-2.6 == 0.4  =>為false

因為java使用基底型別進行浮點數計算時, 會不準確
3-2.6 為0.3999999999999
 
使用BigDecimal進行浮點數運算來解決

BigDecimal x = new BigDecimal("3");
BigDecimal x = new BigDecimal("2.6");
BigDecimal z = z.subtract(y);
double value = z.doubleValue();
System.out.println(value == 0.4);

 

9/2 = 4
9/2.0 = 4.5
整數與浮點數的運算會轉為浮點數型態再進行運算

使用Label與break


public static void main(String[] args){
    label:
        for(int i= 1; i <= 7; i++){
           System.out.print("TEST");
           if(i =  3)
                break label;
       }
}

 

java
clone()方法複製物件
當已經存在一個A物件,現在需要一個與A物件完全相同的B物件,並對B物件的屬性值進行修改,但是A物件原有的屬性值不能改變

使用Object類別中的clone()方法,可以用來完成物件的淺複製,即被複製的物件各個屬性都是基本型態,而不是參考型態的屬性(Example)