突然有人問(wèn)起,自己做了些測(cè)驗(yàn),把結(jié)果記錄下來(lái)。
java的幾種數(shù)值基本類(lèi)型:int,short,long,float,double
測(cè)試代碼:
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);
}
運(yùn)行結(jié)果:
102
101
104
0.20000005
0.10000000000000009
2.1
2.2
4.3000000476837155
2.0999999999999996
1.1
測(cè)試說(shuō)明:
不同類(lèi)型數(shù)據(jù)做計(jì)算時(shí)按照計(jì)算中最大范圍數(shù)據(jù)類(lèi)型返回,例如:a=x+a;(如果負(fù)值對(duì)象是較小范圍的類(lèi)型就需要強(qiáng)轉(zhuǎn)類(lèi)型,否則會(huì)報(bào)錯(cuò))
double類(lèi)型做加時(shí)運(yùn)算精度準(zhǔn)確,做減運(yùn)算時(shí)有精度偏差,且和float類(lèi)型相互作加減操作都會(huì)出現(xiàn)精度缺失;
+=符號(hào)做運(yùn)算不牽扯類(lèi)型轉(zhuǎn)換問(wèn)題,按照負(fù)值對(duì)象的類(lèi)型返回。