- 首頁(yè)|
- 網(wǎng)校|
- 焚題庫(kù)|
- APP |
-
微信公眾號(hào)
在對(duì)一個(gè)變量做加 1 或減 1 處理時(shí),可以使用自增運(yùn)算符 ++ 或自減運(yùn)算 --。++ 或 -- 是單目運(yùn)算符,放在操作數(shù)的前面或后面都是允許的。++ 與 -- 的作用是使變量的值增 1 或減 1。操作數(shù)必須是一個(gè)整型或浮點(diǎn)型變量。自增、自減運(yùn)算的含義及其使用實(shí)例如表 1 所示。
運(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)算。
初級(jí)會(huì)計(jì)職稱中級(jí)會(huì)計(jì)職稱經(jīng)濟(jì)師注冊(cè)會(huì)計(jì)師證券從業(yè)銀行從業(yè)會(huì)計(jì)實(shí)操統(tǒng)計(jì)師審計(jì)師高級(jí)會(huì)計(jì)師基金從業(yè)資格稅務(wù)師資產(chǎn)評(píng)估師國(guó)際內(nèi)審師ACCA/CAT價(jià)格鑒證師統(tǒng)計(jì)資格從業(yè)
一級(jí)建造師二級(jí)建造師消防工程師造價(jià)工程師土建職稱房地產(chǎn)經(jīng)紀(jì)人公路檢測(cè)工程師建筑八大員注冊(cè)建筑師二級(jí)造價(jià)師監(jiān)理工程師咨詢工程師房地產(chǎn)估價(jià)師 城鄉(xiāng)規(guī)劃師結(jié)構(gòu)工程師巖土工程師安全工程師設(shè)備監(jiān)理師環(huán)境影響評(píng)價(jià)土地登記代理公路造價(jià)師公路監(jiān)理師化工工程師暖通工程師給排水工程師計(jì)量工程師
人力資源考試教師資格考試出版專業(yè)資格健康管理師導(dǎo)游考試社會(huì)工作者司法考試職稱計(jì)算機(jī)營(yíng)養(yǎng)師心理咨詢師育嬰師事業(yè)單位教師招聘公務(wù)員公選考試招警考試選調(diào)生村官
執(zhí)業(yè)藥師執(zhí)業(yè)醫(yī)師衛(wèi)生資格考試衛(wèi)生高級(jí)職稱護(hù)士資格證初級(jí)護(hù)師主管護(hù)師住院醫(yī)師臨床執(zhí)業(yè)醫(yī)師臨床助理醫(yī)師中醫(yī)執(zhí)業(yè)醫(yī)師中醫(yī)助理醫(yī)師中西醫(yī)醫(yī)師中西醫(yī)助理口腔執(zhí)業(yè)醫(yī)師口腔助理醫(yī)師公共衛(wèi)生醫(yī)師公衛(wèi)助理醫(yī)師實(shí)踐技能內(nèi)科主治醫(yī)師外科主治醫(yī)師中醫(yī)內(nèi)科主治兒科主治醫(yī)師婦產(chǎn)科醫(yī)師西藥士/師中藥士/師臨床檢驗(yàn)技師臨床醫(yī)學(xué)理論中醫(yī)理論