运算符也叫做操作符,它们是用来表示对数据进行操作与运算的。Java中的运算符带有很深的C语言的影子——其实整个Java语言都深受C语言影响,这也是为什么说“学了C之后再学Java很简单”。如果你对C或者C++有比较多的了解,那么可以稍微浏览一下本章的内容,如果还是个新手的话,这一节的介绍对你应该是大有用处的。
在上一节中我们已经看过赋值运算符,正如上文所说,赋值运算需要使用“=”运算符,它的含义指的是取右边的值,把它赋值给左边的变量。看下面的例子:
int k; // 定义变量k
k = 20; // 将nt类型变量k的值设置为20
k = 2 * k; // 取出k的值(20)然后乘以2之后,再赋值给k,运行这一句之后k的值等于20。
再强调一句,“=”左边必须放置一个已经定义的变量,千万不能放置其他比如字面常量、表达式之类的东西,比如下面这样:
int k;
20 = k; //错误。字面常量不能放在“=”左边。
2 * k = 20; //错误。表达式不能放在“=”左边。
另外,我碰到一些初学者刚碰到赋值语句的时候,会出现头晕症状。因为从小学开始,基本上都把“=”称为“等于”,现在突然发现这个“=”居然用来将一个值给另一个东西,于是头就开始晕了。虽然我也很同情他们,不过只能对他们说一句“习惯就好”。
我们在这里只是简单的介绍了赋值运算符的使用,赋值运算符中还有许多小技巧,在这里我就不在介绍了。如果你觉得对Java已经有了足够多的了解,并想想更多的了解它的话,可以看看《Java解惑》这本书,非常有趣的一本书。
Java中的算术运算符和其他大多数语言的都是相同的,也包含了加(+)、减(-)、乘(*)、除(/)以及取模(%)五种操作符。
我们先看看前三种算术运算符。这三种操作符和我们所知道的加、减、乘运算的法则没有区别。下面这个例子展示了算术操作符的用法:
//MathOp1.java
//算术运算符的示例。
public class MathOp1 {
public static void main(String[] args) {
int i,j,k;
i = 20;
j = 25;
k = i + j;
System.out.println("i + j: " + k);
k = i - j;
System.out.println("i - j: " + k);
k = i * j;
System.out.println("i * j: " + k);
double d, f, g;
d = 4.5;
f = 6.5;
g = d + f;
System.out.println("d + f: " + g);
g = d - f;
System.out.println("d - f: " + g);
g = d * f;
System.out.println("d * f: " + g);
}
}
/*输出结果:
i + j: 45
i - j: -5
i * j: 500
d + f: 11.0
d - f: -2.0
d * f: 29.25 */
接着我们再看除(/)以及取模(%)这两个操作符。除法运算大家应该都熟悉的,可是Java中的除运算符和C语言的一样,有一些特殊,那就是当运算符两边都是整数的话,那么得到的结果会直接去掉小数结果而保留整数部分。例如:6/4的结果是1而不是1.5;9/10的结果是0而不是0.9。而当除号(/)有一边是浮点型数据时,则得到的结果才会是浮点型的。例如:6.0/4的结果是1.5。而取模运算符(%)换个更容易记住的名词就是取余运算符(我不知道其他地方是怎么说的,反正我小学的时候老师教的就是取余运算)。一般来说,“%”两边应该是整数,结果是两个整数相除之后的余数,例如:4%6的结果是4;10%8的结果是2;8%2的结果是0。接着看下面的代码。
//MathOp2.java
//除以及取模运算符的示例。
public class MathOp2 {
public static void main(String[] args) {
int i,j,k;
i = 25;
j = 20;
k = i / j;
System.out.println("i / j: " + k);
k = i % j;
System.out.println("i % j: " + k);
double d,f,g;
d = 25.0;
f = 20.0;
g = d / f;
System.out.println("d / f: " + g);
}
}
/*输出结果:
i / j: 1
i % j: 5
d / f: 1.25
*/
从这一节开始,我们的程序可能多一点,希望读者,特别是初学者,不要光想着看这些例子,重要的是需要电脑上将代码敲一敲,做一些练习,这样对于学编程是大有好处的。