原文出自 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);
}
}

浙公网安备 33010602011771号