Java算術(shù)運(yùn)算符包括:+(兩個(gè)數(shù)字求和)、-(兩個(gè)數(shù)字相減)、*(兩個(gè)數(shù)字乘積)、/(兩個(gè)數(shù)字相除)、%(兩個(gè)數(shù)字取?;蛘咔笥啵?、++(單目運(yùn)算符,對(duì)數(shù)字自加1)、--(單目運(yùn)算符,對(duì)數(shù)字自減1)。對(duì)于初學(xué)者來(lái)說(shuō),可能%、++、--比較生疏一些,我們重點(diǎn)來(lái)學(xué)習(xí)一下,請(qǐng)看以下代碼:
public class ArithmeticOperatorTest01 {
public static void main(String[] args) {
int a = 10;
int b = 3;
System.out.println(a + b); //13
System.out.println(a - b); //7
System.out.println(a * b); //30
/*
* 在java語(yǔ)言中10除以3結(jié)果不是3.3333..
* 因?yàn)閖ava中有一個(gè)語(yǔ)法規(guī)則:int類型和int類型
* 做運(yùn)算,最終的結(jié)果還是int類型,所以10除以3
* 的結(jié)果就是3,這個(gè)過(guò)程會(huì)取整數(shù)位。
*/
System.out.println(a / b); //3
/*
* 10對(duì)3求余數(shù),3乘3得9,余1。
*/
System.out.println(a % b); //1
/*
* ++和--都是單目運(yùn)算符,++負(fù)責(zé)自加1,--負(fù)責(zé)自減1
* 以下程序重點(diǎn)研究++運(yùn)算符,--運(yùn)算符可以依照++運(yùn)算
* 符進(jìn)行類推。
*/
int i = 10;
i++;
System.out.println("i = " + i); //11
int j = 10;
++j;
System.out.println("j = " + j); //11
/*
* 根據(jù)以上的程序可以得出結(jié)論:++可以出現(xiàn)在變量前,也
* 可以出現(xiàn)在變量后,無(wú)論是變量前還是變量后,只要執(zhí)行完
* ++,最終的結(jié)果都會(huì)讓變量自加1。那么++出現(xiàn)在變量前
* 和變量后到底有什么區(qū)別呢?請(qǐng)看以下程序
*/
int k = 10;
int m = k++;
/*
* 根據(jù)以上結(jié)論,++無(wú)論是出現(xiàn)在變量前還是變量后,只要++執(zhí)行
* 變量一定會(huì)自加1,那么k變量一定會(huì)自加1,所以以下輸出k=11
*/
System.out.println("k = " + k); //11
/*
* 以上int m = k++;代碼中++和=兩個(gè)運(yùn)算符同時(shí)存在,
* 那么此時(shí)這兩個(gè)運(yùn)算符哪個(gè)優(yōu)先級(jí)高呢?java語(yǔ)法中是這樣
* 規(guī)定的,當(dāng)++運(yùn)算符出現(xiàn)在變量后,會(huì)先做賦值運(yùn)算,再自
* 加1,所以最后m = 10
*/
System.out.println("m = " + m); //10
int x = 10;
int y = ++x;
//上行代碼執(zhí)行結(jié)束后,我們可以確定x變量一定自加1了,所以x=11
System.out.println("x = " + x); //11
/*
* java語(yǔ)法中又有這樣的規(guī)定,++出現(xiàn)在變量前,會(huì)先進(jìn)行自加1
* 的操作,然后再做賦值運(yùn)算,所以y = 11
*/
System.out.println("y = " + y); //11
}
}
運(yùn)行結(jié)果如下圖所示:
圖5-1:運(yùn)行結(jié)果
通過(guò)以上代碼的學(xué)習(xí),我們得知,第一:兩個(gè)int類型數(shù)據(jù)進(jìn)行數(shù)學(xué)運(yùn)算之后的結(jié)果一定是int類型;第二:++或--可以出現(xiàn)在變量前也可以是變量后;第三:++無(wú)論出現(xiàn)在變量前還是變量后,只要執(zhí)行了++,那么變量必然會(huì)自加1;第四:++出現(xiàn)在變量后會(huì)先進(jìn)行賦值運(yùn)算,再自加1;第五:++出現(xiàn)在變量前會(huì)先自加1,再進(jìn)行賦值運(yùn)算。那么,大家思考一下以下代碼的執(zhí)行結(jié)果是什么?
int c = 100;
System.out.println(c++);
int d = 100;
System.out.println(++d);