原文出自 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 3int result = 1 + 2;System.out.println(result);// result is now 2result = result - 1;System.out.println(result);// result is now 4result = result * 2;System.out.println(result);// result is now 2result = result / 2;System.out.println(result);// result is now 10result = result + 8;// result is now 3result = 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 1int result = +1;System.out.println(result);// result is now 0result--;System.out.println(result);// result is now 1 result++;System.out.println(result);// result is now -1result = -result;System.out.println(result);boolean success = false;// falseSystem.out.println(success);// trueSystem.out.println(!success);} }
自增/自减操作符可以使用在操作数的前面(前缀)和后面(后缀)。代码result++;和++result;两者都可以让result自增1.唯一区别是,前缀版本(++result)计算返回自增后的值,而后缀版本(result++)计算返回原始值。如果只是简单执行自增/自减,不用关心使用哪个版本。但是如果在一个更大的表达式中,使用自增/自减操作符,每个版本都会导致明显的不同结果。
接下来的程序,PrePostDemo,详解前缀/后缀一元操作符:
class PrePostDemo {public static void main(String[] args){int i = 3;i++;// prints 4System.out.println(i);++i; // prints 5System.out.println(i);// prints 6System.out.println(++i);// prints 6System.out.println(i++);// prints 7System.out.println(i);} }