1. 程式人生 > >廖雪峰Java-Java程序基礎-運算規則

廖雪峰Java-Java程序基礎-運算規則

可能 void += 保留 http 變量 args sta oid

基於四則運算規則
除法結果為整數
除數為0時運行將報錯
++運算和--運算
簡寫的+=和-=
取余運算符%
技術分享圖片


public class Hello {

    public static void main(String[] args) {
        //整數元算的結果仍然是整數
        int i = 99 / 9;
        System.out.println(i);
        int n = 100 / 9;
        System.out.println(n);
//      int z = 100 / 0;
//      System.out.println(z);
        //左移右移
        int n1 = 5;
        int n2 = n1 << 10;//左移10位,在後面加10個0
        int n3 = n2 >> 11;//右移11位,去掉11個0
        int n4 = n1 << 29;//最高位是符號,1表示符號,0表示整數
        int n5 = n4 >> 29;//保留符號位右移
        int n6 = n4 >>> 29;//無條件右移
        System.out.println(n1);
        System.out.println(n2);
        System.out.println(n3);
        System.out.println(n4);
        System.out.println(n5);
        System.out.println(n6);
        /* 位運算 與運算& 2個都為1,結果為1  
         *  1 & 1 = 1,  1 & 0 = 0, 0 & 1 = 0,0 & 0 = 0
         *  或運算| 有1個為1,結果為1
         *  1 | 1 = 1,  1 | 0 = 0, 0 | 1 = 0,0 | 0 = 0
         * 亦或運算^不相同結果為1
         *  1 ^ 1 = 0,  1 ^ 0 = 1, 0 ^ 1 = 1,0 | 0 = 0
         * 非運算~
         *  ~ 1 = 0,    ~ 0 = 1
         */
        System.out.println(5 & 6);
        
    }

}

類型自動提升與強制轉型

  • 在運算過程中,計算結果為較大類型的整型
  • 可以將結果強制轉型:(類型)變量或數值
  • 強制轉型可能丟失精度

總結:

  • 整數運算結果永遠精確
  • 運算結果會自動提升
  • 可以強制轉型,但可能丟失精度
  • 選擇合適範圍的整型(int, long)

廖雪峰Java-Java程序基礎-運算規則