—— 本文參照 Learn Java for Android Development (第三版)
相加運算符
在前面介紹的運算符里面有一些具有相加運算性質(zhì)的運算符白魂,比如加(+)和減(-)砚婆,后加加(++)和后減減(--)翎蹈,前加加(++)和前減減(--),還有字符拼接符(+)先口,加法運算返回的是兩個變量的和,減法運算返回的是兩個變量的差历涝,可能是正也可能是負(fù)數(shù)宝穗。后加加是先把變量給人家,然后在進行加1的操作螺捐,同理可知后減減颠悬。前加加呢就是先將變量進行加1的操作再把變量給人家,同理可得前減減定血。字符拼接的話就是返回兩個字符拼接在一起的新的字符串,比如"A"+"B"就返回"AB"灾票。
上面提到的這些相加的運算很有可能導(dǎo)致運算結(jié)果向上或者向下溢出茫虽,比如兩個比較大的32位的整形數(shù)字相加以后很可能就超出了32位既们,這種情況我們就稱之為溢出啥纸,在JAVA里面是不會做溢出檢查的婴氮。
java為字符串運算操作提供了一種比較特殊的向上轉(zhuǎn)型的方式,當(dāng)字符運算表達式中任何一個操作數(shù)不是字符的時候荣暮,java會先把非字符先轉(zhuǎn)換為字符以后再進行運算罩驻,比如"A"+5惠遏,會先將5轉(zhuǎn)換為"5",然后返回"A5"蜓席。
下面給出的例子可以讓大家體驗一下這些相加運算符:
public class addClass
{
public static void main(String[] args)
{
int age = 65;
System.out.println(age + 32);
System.out.println(++age);
System.out.println(age--);
System.out.println("A" + "B");
System.out.println("A" + 5);
short x = 32767;
System.out.println(++x);
}
}
代碼都貼了那就一行一行看一下吧课锌。
首先是定義了一個32位的整形age變量并且賦值為了65,然后就開始打印了雏胃,第一行的打印是age和32的和志鞍,第二行是age先加1再打印,注意這里age本身的值已經(jīng)變?yōu)?6了哦固棚,第三行是age先輸出再本身減1,第4行是輸入兩個字符串拼接以后的值此洲,第5行就是上面講的,最后一行有點特殊娶桦,可以猜一下會輸出什么,然后我們自己跑一下這段代碼看看實際會打印一些什么值:
javac addClass.java
java addClass
看到的結(jié)果是:
97
66
66
AB
A5
-32768
不知道猜對沒衷畦,反正最后一行是溢出了祈争。
Page 55