突然有人問起,自己做了些測驗,把結果記錄下來。
java的幾種數值基本類型:int,short,long,float,double
測試代碼:
public static void main(String[] args) {
short x = 100;
long b = 2;
int a = 2;
double y=1.1;
float z=(float) 1.2;
double c=1.1;
float d=(float) 1.2;
a=x+a;
x+=1.1;
b=b+a;
y=y-1;
z=z-1;
c=c+1;
d=d+1;
System.out.println(a);
System.out.println(x);
System.out.println(b);
System.out.println(z);
System.out.println(y);
System.out.println(c);
System.out.println(d);
c=c+d;
System.out.println(c);
c=c-d;
System.out.println(c);
d=(float) (d-1.1);
System.out.println(d);
}
運行結果:
102
101
104
0.20000005
0.10000000000000009
2.1
2.2
4.3000000476837155
2.0999999999999996
1.1
測試說明:
不同類型數據做計算時按照計算中最大范圍數據類型返回,例如:a=x+a;(如果負值對象是較小范圍的類型就需要強轉類型,否則會報錯)
double類型做加時運算精度準確,做減運算時有精度偏差,且和float類型相互作加減操作都會出現精度缺失;
+=符號做運算不牽扯類型轉換問題,按照負值對象的類型返回。