第二章 java基礎(加運算子)

weixin_34342992發表於2017-04-19

—— 本文參照 Learn Java for Android Development (第三版)

相加運算子
在前面介紹的運算子裡面有一些具有相加運算性質的運算子,比如加(+)和減(-),後加加(++)和後減減(--),前加加(++)和前減減(--),還有字元拼接符(+),加法運算返回的是兩個變數的和,減法運算返回的是兩個變數的差,可能是正也可能是負數。後加加是先把變數給人家,然後在進行加1的操作,同理可知後減減。前加加呢就是先將變數進行加1的操作再把變數給人家,同理可得前減減。字元拼接的話就是返回兩個字元拼接在一起的新的字串,比如"A"+"B"就返回"AB"。
上面提到的這些相加的運算很有可能導致運算結果向上或者向下溢位,比如兩個比較大的32位的整形數字相加以後很可能就超出了32位,這種情況我們就稱之為溢位,在JAVA裡面是不會做溢位檢查的。
java為字串運算操作提供了一種比較特殊的向上轉型的方式,當字元運算表示式中任何一個運算元不是字元的時候,java會先把非字元先轉換為字元以後再進行運算,比如"A"+5,會先將5轉換為"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本身的值已經變為66了哦,第三行是age先輸出再本身減1,第4行是輸入兩個字串拼接以後的值,第5行就是上面講的,最後一行有點特殊,可以猜一下會輸出什麼,然後我們自己跑一下這段程式碼看看實際會列印一些什麼值:
javac addClass.java
java addClass
看到的結果是:
97
66
66
AB
A5
-32768
不知道猜對沒,反正最後一行是溢位了。

Page 55

相關文章