Java中的基本變量:byte扣讼,char缺猛,short,int椭符,long荔燎,float,double销钝,boolean
byte:? ? ? ? ? ? ? 1Byte
char,short:? ? 2Byte
int,float:? ? ? ? 4Byte
long,double:? 8Byte
轉型:高不能轉向低有咨,但是低可以轉向高。即下方的int可以轉成double蒸健,但是double不能轉成int
int k = 9.5;? //錯誤
double k1 = 9;? //正確
注意:雖然int和float都是4個字節(jié)座享,但是不允許顯示的將float轉成int;且float轉int精度會丟失似忧。
自增/減
i++ 等于 i=i+1;
int i=9;
i++;
System.out.println(i);
System.out.println(i++);
從左至右渣叛,依次計算,因此第一行打印結果為10盯捌;第二行先打印 i淳衙,在計算++,因此打印結果依然為10饺著;
int i=9;
i++;
System.out.println(i);
System.out.println(i++);
System.out.println(++i);
從左至右滤祖,依次計算,因此第一行打印結果為10瓶籽;第二行打印結果依然為10匠童,打印后執(zhí)行一次++,此時 i=11塑顺;第三行先執(zhí)行一次加法(11+1)再進行打印汤求,打印結果為12;
因此 ++等相似運算是不具有原子性的严拒,在做多線程計算的時候尤其要注意扬绪。