Java 提供了丰富的运算符环境。Java 有4大类运算符:算术运算、位运算、关系运算和逻辑运算。Java 还定义了一些附加的运算符用于处理非凡情况。本章将描述Java 所有的运算符,而比较运算符instanceof 将在第12章讨论。
注重:假如你对C/C++ 熟悉,你将会兴奋,因为Java 的绝大多数运算符和C/C++ 中的用法一样。但有一些微妙的差别,所以提醒你要仔细阅读。
算术运算符用在数学表达式中,其用法和功能与代数学(或其他计算机语言)中一样,Java 定义了下列算术运算符(见表4-1):
运算符含义
+ 加法
– 减法(一元减号)
*
乘法/ 除法% 模运算++ 递增运算+= 加法赋值–= 减法赋值
*=
乘法赋值/= 除法赋值%= 模运算赋值--递减运算
算术运算符的运算数必须是数字类型。算术运算符不能用在布尔类型上,但是可以用在char类型上,因为实质上在Java 中,char类型是int 类型的一个子集。
4.1.1 基本算术运算符
基本算术运算符——加、减、乘、除可以对所有的数字类型操作。减运算也用作表示单个操作数的负号。记住对整数进行“/”除法运算时,所有的余数都要被舍去。下面这个简单例子示范了算术运算符,也说明了浮点型除法和整型除法之间的差别。
// Demonstrate the basic arithmetic operators.
class BasicMath {
public static void main(String args[]) {
// arithmetic using integers
System.out.println("Integer Arithmetic");
int a = 1 + 1;
int b = a * 3;
int c = b / 4;
int d = c - a;
int e = -d;
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
System.out.println("d = " + d);
System.out.println("e = " + e);
// arithmetic using doubles
System.out.println("\nFloating Point Arithmetic");
double da = 1 + 1;
double db = da * 3;
double dc = db / 4;
double dd = dc - a;
double de = -dd;
System.out.println("da = " + da);
System.out.println("db = " + db);
System.out.println("dc = " + dc);
System.out.println("dd = " + dd);
System.out.println("de = " + de);
}
}
当你运行这个程序,你会看到输出如下:
Integer Arithmetic
a = 2
b = 6
c = 1
d = -1
e = 1
Floating Point Arithmetic
da = 2.0
db = 6.0
dc = 1.5
dd = -0.5
de = 0.5