华南俳烁实业有限公司

java

當(dāng)前位置:中華考試網(wǎng) >> java >> java教程 >> 文章內(nèi)容

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

來(lái)源:中華考試網(wǎng)  [2020年10月20日]  【

  在對(duì)一個(gè)變量做加 1 或減 1 處理時(shí),可以使用自增運(yùn)算符 ++ 或自減運(yùn)算 --。++ 或 -- 是單目運(yùn)算符,放在操作數(shù)的前面或后面都是允許的。++ 與 -- 的作用是使變量的值增 1 或減 1。操作數(shù)必須是一個(gè)整型或浮點(diǎn)型變量。自增、自減運(yùn)算的含義及其使用實(shí)例如表 1 所示。

表 1 自增、自減運(yùn)算的含義及其使用實(shí)例
運(yùn)算符 含義 實(shí)例 結(jié)果
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

  在使用自增/自減運(yùn)算時(shí)應(yīng)注意下面幾個(gè)問(wèn)題。

  自增/自減只能作用于變量,不允許對(duì)常量、表達(dá)式或其他類型的變量進(jìn)行操作。常見(jiàn)的錯(cuò)誤是試圖將自增或自減運(yùn)算符用于非簡(jiǎn)單變量表達(dá)式中。

  自增/自減運(yùn)算可以用于整數(shù)類型 byte、short、int、long,浮點(diǎn)類型 float、double,以及字符串類型 char。

  在 Java 1.5 以上版本中,自增/自減運(yùn)算可以用于基本類型對(duì)應(yīng)的包裝器類 Byte、Short、Integer、Long、Float、Double 和 Character。

  自增/自減運(yùn)算結(jié)果的類型與被運(yùn)算的變量類型相同。

  例 1

  編寫(xiě)一個(gè)程序,使用不同類型的數(shù)據(jù)結(jié)合自增和自減運(yùn)算符進(jìn)行運(yùn)算,并輸出變量的值。實(shí)現(xiàn)代碼如下:

  public static void main(String[] args) { int x = 5, y; // 聲明用于自增和自減的整型變量 char cx = 'B', cy; // 聲明用于自增和自減的字符型變量 float fx = 5.5f, fy; // 聲明用于自增和自減的浮點(diǎn)型變量 System.out.println("---------對(duì)整數(shù)的自增和自減---------"); y = x++; System.out.printf("y=x++ 的結(jié)果為:%d ,%d \n", x, y); y = x--; System.out.printf("y=x-- 的結(jié)果為:%d ,%d \n", x, y); y = ++x; System.out.printf("y=++x 的結(jié)果為:%d ,%d \n", x, y); y = --x; System.out.printf("y=--x 的結(jié)果為:%d ,%d \n", x, y); System.out.println("\n---------對(duì)浮點(diǎn)的自增和自減---------"); fy = fx++; System.out.printf("fy=fx++ 的結(jié)果為:%f ,%f \n", fx, fy); fy = fx--; System.out.printf("fy=fx-- 的結(jié)果為:%f ,%f \n", fx, fy); fy = ++fx; System.out.printf("fy=++fx 的結(jié)果為:%f ,%f \n", fx, fy); fy = --fx; System.out.printf("fy=--fx 的結(jié)果為:%f ,%f \n", fx, fy); System.out.println("\n---------對(duì)字符的自增和自減---------"); cy = cx++; System.out.printf("cy=cx++ 的結(jié)果為:%c ,%c \n", cx, cy); cy = cx--; System.out.printf("cy=cx-- 的結(jié)果為:%c ,%c \n", cx, cy); cy = ++cx; System.out.printf("cy=++cx 的結(jié)果為:%c ,%c \n", cx, cy); cy = --cx; System.out.printf("cy=--cx 的結(jié)果為:%c ,%c \n", cx, cy);}

  保存代碼并運(yùn)行,輸出的結(jié)果如下:

  ---------對(duì)整數(shù)的自增和自減---------

  y=x++ 的結(jié)果為:6 ,5

  y=x-- 的結(jié)果為:5 ,6

  y=++x 的結(jié)果為:6 ,6

  y=--x 的結(jié)果為:5 ,5

  ---------對(duì)浮點(diǎn)的自增和自減---------

  fy=fx++ 的結(jié)果為:6.500000 ,5.500000

  fy=fx-- 的結(jié)果為:5.500000 ,6.500000

  fy=++fx 的結(jié)果為:6.500000 ,6.500000

  fy=--fx 的結(jié)果為:5.500000 ,5.500000

  ---------對(duì)字符的自增和自減---------

  cy=cx++ 的結(jié)果為:C ,B

  cy=cx-- 的結(jié)果為:B ,C

  cy=++cx 的結(jié)果為:C ,C

  cy=--cx 的結(jié)果為:B ,B

  從運(yùn)行結(jié)果來(lái)看,無(wú)論是何種類型,只要是自增和自減運(yùn)算符支持的類型,都可以參與運(yùn)算。

 

責(zé)編:fushihao
  • 會(huì)計(jì)考試
  • 建筑工程
  • 職業(yè)資格
  • 醫(yī)藥考試
  • 外語(yǔ)考試
  • 學(xué)歷考試
姜堰市| 措勤县| 曲麻莱县| 昂仁县| 灌阳县| 滁州市| 自治县| 南召县| 大英县| 穆棱市| 特克斯县| 夏津县| 定西市| 珲春市| 合肥市| 金寨县| 宜丰县| 江安县| 万山特区| 平山县| 海晏县| 凌云县| 余姚市| 曲阜市| 崇信县| 行唐县| 措美县| 岑溪市| 甘南县| 柞水县| 阿图什市| 湘乡市| 忻州市| 余姚市| 宝山区| 武川县| 天台县| 顺义区| 江都市| 桓台县| 灌阳县|