原文出自 http://www.cnblogs.com/ggjucheng/archive/2012/12/15/2819621.html
英文出自 http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op1.html
簡單賦值操作符
見到的最常用的操作符之一就是簡單賦值操作符"=".它把值從操作符的右邊賦予到左邊:
int cadence = 0; int speed = 0; int gear = 1;
操作符也用以用來把對象賦予給對象引用,參考"建立對象".
算術操作符
java程式設計語言提供加,減,乘,除的操作符。通過基本運算中,認識它們是一個不錯的方法。比較陌生的符號是'%',它執行除操作,返回餘數作為結果。
+ 加法操作符- 減法操作符* 乘法操作符/ 除法操作符% 求模操作符
下面的程式,ArithmeticDemo,測試算術操作符:
class ArithmeticDemo { public static void main (String[] args){ // result is now 3 int result = 1 + 2; System.out.println(result); // result is now 2 result = result - 1; System.out.println(result); // result is now 4 result = result * 2; System.out.println(result); // result is now 2 result = result / 2; System.out.println(result); // result is now 10 result = result + 8; // result is now 3 result = result % 7; System.out.println(result); }}
可以把算術操作符和賦值操作符結合起來,形成複合賦值。例如 x+=1;
和x=x+1;
兩者都會把x+1的運算式結果賦值給x。
+操作符還可以用來串連兩個字串,如ConcatDemo程式所示:
class ConcatDemo { public static void main(String[] args){ String firstString = "This is"; String secondString = " a concatenated string."; String thirdString = firstString+secondString; System.out.println(thirdString); }}
程式的末尾,變數thirdString的值是"This is a concatenated string.",並輸出到控制台。
一元操作符
一元操作符只要求一個運算元;有很多操作,例如 自增/自減 一個值,運算式取反,反轉boolean值。
+ 一元+操作符;指示一個正值(但是數值預設是正的)- 一元-操作符; 運算式取反++ 自增操作符; 將值自增1-- 自減操作符; 將值自減1! 邏輯操作符,反轉boolean值
接下來的程式UnaryDemo,測試一元操作符:
class UnaryDemo { public static void main(String[] args){ // result is now 1 int result = +1; System.out.println(result); // result is now 0 result--; System.out.println(result); // result is now 1 result++; System.out.println(result); // result is now -1 result = -result; System.out.println(result); boolean success = false; // false System.out.println(success); // true System.out.println(!success); }}
自增/自減操作符可以使用在運算元的前面(首碼)和後面(尾碼)。代碼result++;和++result;兩者都可以讓result自增1.唯一區別是,首碼版本(++result)計算返回自增後的值,而尾碼版本(result++)計算返回原始值。如果只是簡單執行自增/自減,不用關心使用哪個版本。但是如果在一個更大的運算式中,使用自增/自減操作符,每個版本都會導致明顯的不同結果。
接下來的程式,PrePostDemo,詳解首碼/尾碼一元操作符:
class PrePostDemo { public static void main(String[] args){ int i = 3; i++; // prints 4 System.out.println(i); ++i; // prints 5 System.out.println(i); // prints 6 System.out.println(++i); // prints 6 System.out.println(i++); // prints 7 System.out.println(i); }}