C語言中文網 目錄

Java自增和自減運算符(++和--)

< 上一頁Java關系運算符 Java位運算符下一頁 >

在對一個變量做加 1 或減 1 處理時,可以使用自增運算符 ++ 或自減運算 --。++ 或 -- 是單目運算符,放在操作數的前面或后面都是允許的。++ 與 -- 的作用是使變量的值增 1 或減 1。操作數必須是一個整型或浮點型變量。自增、自減運算的含義及其使用實例如表 1 所示。
表1 自增、自減運算的含義及其使用實例
運算符 含義 實例 結果
i++ 將 i 的值先使用再加 1 賦值給 i 變量本身 int i=1;
int j=i++;
i=2
j=1
++i 將 i 的值先加 1 賦值給變量 i 本身后再使用 int i=1;
int j=++i;
i=2
j=2
i-- 將 i 的值先使用再減 1 賦值給變量 i 本身 int i=1;
int j=i--;
i=0
j=1
--i 將 i 的值先減 1 后賦值給變量 i 本身再使用 int i=1;
int j=--i;
i=0
j=0

在使用自增/自減運算時應注意下面幾個問題。
  • 自增/自減只能作用于變量,不允許對常量、表達式或其他類型的變量進行操作。常見的錯誤是試圖將自增或自減運算符用于非簡單變量表達式中。
  • 自增/自減運算可以用于整數類型 byte、short、int、long,浮點類型 float、double,以及字符串類型 char。
  • Java 1.5 以上版本中,自增/自減運算可以用于基本類型對應的包裝器類 Byte、Short、Integer、Long、Float、Double 和 Character。
  • 自增/自減運算結果的類型與被運算的變量類型相同。

例 1

編寫一個程序,使用不同類型的數據結合自增和自減運算符進行運算,并輸出變量的值。實現代碼如下:
public static void main(String[] args)
{
    int x=5,y;    //聲明用于自增和自減的整型變量
    char cx=‘B’,cy;    //聲明用于自增和自減的字符型變量
    float fx=5.5f,fy;    //聲明用于自增和自減的浮點型變量
    System.out.println("---------對整數的自增和自減---------");
    y=x++;
    System.out.printf("y=x++ 的結果為:%d ,%d \n",x,y);
    y=x--;
    System.out.printf("y=x-- 的結果為:%d ,%d \n",x,y);
    y=++x;
    System.out.printf("y=++x 的結果為:%d ,%d \n",x,y);
    y=--x;
    System.out.printf("y=--x 的結果為:%d ,%d \n",x,y);
    System.out.println("\n---------對浮點的自增和自減---------");
    fy=fx++;
    System.out.printf("fy=fx++ 的結果為:%f ,%f \n",fx,fy);
    fy=fx--;
    System.out.printf("fy=fx-- 的結果為:%f ,%f \n",fx,fy);
    fy=++fx;
    System.out.printf("fy=++fx 的結果為:%f ,%f \n",fx,fy);
    fy=--fx;
    System.out.printf("fy=--fx 的結果為:%f ,%f \n",fx,fy);
    System.out.println("\n---------對字符的自增和自減---------");
    cy=cx++;
    System.out.printf("cy=cx++ 的結果為:%c ,%c \n",cx,cy);
    cy=cx--;
    System.out.printf("cy=cx-- 的結果為:%c ,%c \n",cx,cy);
    cy=++cx;
    System.out.printf("cy=++cx 的結果為:%c ,%c \n",cx,cy);
    cy=--cx;
    System.out.printf("cy=--cx 的結果為:%c ,%c \n",cx,cy);
}

保存代碼并運行,輸出的結果如下:
---------對整數的自增和自減---------
y=x++ 的結果為:6 ,5
y=x-- 的結果為:5 ,6
y=++x 的結果為:6 ,6
y=--x 的結果為:5 ,5

---------對浮點的自增和自減---------
fy=fx++ 的結果為:6.500000 ,5.500000
y=x-- 的結果為:5.500000 ,6.500000
y=++x 的結果為:6.500000 ,6.500000
y=--x 的結果為:5.500000 ,5.500000

---------對字符的自增和自減---------
cy=cx++ 的結果為:C ,B
cy=cx-- 的結果為:B ,C
cy=++cx 的結果為:C ,C
cy=--cx 的結果為:B ,B

從運行結果來看,無論是何種類型,只要是自增和自減運算符支持的類型,都可以參與運算。
< 上一頁Java關系運算符 Java位運算符下一頁 >

精美而實用的網站,提供C語言C++STLLinuxShellJavaGo語言等教程,以及socketGCCviSwing設計模式JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo