浪潮優派培訓Java筆記:第3章 運算符

第3章 運算符

3.1.1  % 取餘運算符(也成爲模運算符)

     取餘運算符既可用於兩個操作數都是整數的情況,也可用於兩個操作數都是浮點數(或一個操作數是浮點數)的情況。

     a%b的計算公式爲:a % b = a - (int)(a /b) * b

     /%

     //兩邊爲整數

int a = 9;

int b = 2;

System.out.println(a / b);   // 4

System.out.println(a % b);   // 1

     // 兩邊爲浮點數

       int d1 = 9;

       double d2 = 3.0;

System.out.println(d1 / d2); // 3.0

System.out.println(d1 % d2); // 0.0

         7 / 3   //整除,運算結果爲2
  7.0 / 3  //除法,運算結果爲2.33333,即結果與精度較高的類型一致
  7 % 3    //取餘,運算結果爲1
  7.0 % 3  //取餘,運算結果爲1.0
  -7 % 3   //取餘,運算結果爲-1,即運算結果的符號與左操作數相同
  7 % -3   //取餘,運算結果爲1,即運算結果的符號與左操作數相同

3.1.2 自增自減運算符(++,--)

     如果爲前綴(++i,--i),則爲先加一或減一,然後使用。

     如果爲後綴(i++,i--),則爲先使用,然後加一或減一。

3.1.3 “+”運算符

     如果兩邊是數值類型,則完成數值相加;

     如果兩邊至少有一個是字符串類型的參數,則爲字符串追加符。

     案例:

System.out.println(" " + 2 + 3);// 空格23

System.out.println(2 + 3);       //5

System.out.println(2 + 3 + " "); //5空格

System.out.println(2 + " " + 3); //2空格3

3.1.4 移位運算符 :>>(右移),<<(左移 ),>>>(無符號右移)

如果是byte,short,int,char型移位時自動擴展爲int型。

一般規律:

       <<  往左移   左移n位,右面補0。 byte、short和char類型移位後的結果會變成int類型。   

       >>  往右移   右移n位,高位補符號位。

       >>>  無符號移位   始終補0。

       注意:    1)移位運算的前提是不要超出數的表示範圍

              2)移位運算只針對整數類型(byteshort char int long)

3.1.5 賦值運算符=,及其擴展賦值運算符如+=,―=,*=,/=等

例如: 


byte i=3;      

       i+=3;

bytei=3;      

i=i+3; //錯誤,正確寫法爲:i=(byte)(i+3);


  右邊的例子:i本來是byte型的,與字面量3相加則變成int型的了。

可見, += 或 -= 有時隱含着強制類型轉換。

     案例分析:

        String s = "Hello";

        String s1 = "hh";

        int i = 10;

        s += i;

        System.out.println(s); //s=Hello10

        s += s1;

System.out.println(s); //s=Hello10hh

     總結:如果+=兩邊至少有一個是字符串則爲字符串追加符。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章