1.變量的使用規(guī)則:
在滿足程序需求的情況下,我們盡量選取小的數據類型,減少內存空間
2.數據類型轉換的兩種方式
*? 小的數據類型==========>大的數據類型? (自動轉換數據類型)
*? 大的數據類型==========>小的數據類型? (強制轉換數據類型)
*
* 注意點:
*
*? 在byte,short,char在數據類型轉換的時候督函,都是默認Int的數據類型去執(zhí)行的數據類型
*
*? 注意點: (都是以補碼的形式表示的)
*? ? 最高位為1的時候表示為負數 如:1111111100111? (負數)
*? ? 最高位為0的時候表示為正數 如:0000000010011? (正數)
*? ? 原碼的由來:
*? ? 負數的決定值户辫,然后得到絕對值的二進制數就是 => 原碼
*? ? 原碼減去-1得到的,然后取反就得到了 => 反碼
*? ? -24的表示方法
*? ? 1.第一步怀骤,寫出24的二進制表示钠绍,011000;
*? ? 2.第二步宋渔,取反藻茂,100111鞭铆;
*? ? 3.第三步,加1哆姻,101000宣增;
*? ? 4.第四步,得出結論矛缨,-24 = 101000爹脾。
口決:
正負數看最高位帖旨,最高為1為負數,0為正數
正負數轉換方式:原碼+取反+1===本身
3.自動轉換數據類型:
如下:
System.out.println("數據類型轉換=====>自動轉換數據類型");
byteb =10;
shortc = b;
intd = c;
longf = d;
System.out.println(f);
4.強制轉換數據類型
//強制轉換數據類型 (默認的情況是byte都是轉成int的數量類型進行轉換的)
System.out.println("數據類型轉換====>強制轉換數據類型");
inth =10;
byteg = (byte)h;
System.out.println(h);
intaa =10;
intbb =10;
bytecc = (byte)( aa + bb);
System.out.println(cc);
//這里要注意下 如果超過了byte的內存的范圍 -128-127的范圍 灵妨,128超過了byte的范圍了
intdd =128;
byteff = (byte) dd;
System.out.println(ff);
//a = 97? 注意在碼表中a對應的就是97,在默認情況下byte解阅,short,char都是為Int的形式去執(zhí)行數據運算的
chara ='a';
System.out.println(a+1);
//java在編譯的時候不會創(chuàng)建內存空間 java 命令泌霍,只有在運行的時候才會去創(chuàng)建內存空間货抄,javac命令,在檢測常量的時候可以檢測數值超過了數據的內存范圍了,變量則是不會的
inti =128;
bytezz = (byte)i;
System.out.println(zz);