算术运算符用在算术表达式中,其作用和数学中的运算符相同,下表列出了Java语言支持的算术运算符。
示例1:加减乘除操作符运算
在D盘Java目录下,新建“OperationSample.java”文件。用记事本打开“OperationSample.java”文件,输入以下代码:
public class OperationSample {
代码结构分析
程序功能主要是演示+、-、*、/运算符的使用方法。
程序声明了a和b两个变量,并分别赋值为20和10,后面代码的运算表达式都用到了已声明的a和b两个变量。
编译“OperationSample.java”文件,在命令行窗口输入“javac OperationSample.java”并执行命令,编译通过后,在命令行窗口输入“java OperationSample”运行Java程序,命令行窗口显示如下信息:
图 6-2 算术运算符示例运行结果
从上述结果可以看出,Java语言中的加、减、乘、除运算同数学中的运算是一致的。
取余运算符
取余运算符是双目运算符,运算结果是运算符左边的操作数除以运算符右边的操作数后所得的余数。例如:10%8=2、15%5=0等。
假设 a % b =c(余数为d),其中a和b均为整数,则余数d为a % b的结果。
示例2:取余运算
在D盘Java目录下,新建“TakeOpSample.java”文件。用记事本打开“TakeOpSample.java”文件,输入以下代码:
代码结构分析
程序功能主要是演示 % 运算符的使用方法。
程序声明了a和b两个整型变量,并分别赋值为10和8。
语句“int rem = a%b;”,做a和b的取余运算,将运算结果赋值给声明的整型变量rem。
编译“TakeOpSample.java”文件,在命令行窗口输入“javac TakeOpSample.java”并执行命令,编译通过后,在命令行窗口输入“java TakeOpSample”运行Java程序,命令行窗口显示如下信息:
图 6-3 取余运算示例执行结果
从上述结果可以看出,Java语言中的加、减、乘、除运算同数学中的运算是一致的。
自增自减运算符
自增自减是单目运算符,只需要一个操作数参加运算。例如:a++、++a、a--、--a等。其中,a是操作数,++是自增运算符,--是自减运算符,自增和自减运算符即可以放在变量的前面,也可以放在变量的后面,例如++a、 a++。
自增(++):将变量的值加1,分前缀式(如++a)和后缀式(如a++)。前缀式是先加1再使用;后缀式是先使用再加1。
例如:
int a=10;
System.out.println("a=" + a++);
上述语句执行结果为:a=10,为什么不是11呢?自增后缀式是先使用再自增,因此先输出a的当前数值,然后a再做加1操作。
int a=10;
System.out.println("a=" + ++a);
上述语句执行结果为:a=11,自增前缀式是先自增再使用,变量a先做加1操作,然后再输出。
自减(--):将变量的值减1,分前缀式(如--a)和后缀式(如a--)。前缀式是先减1再使用;后缀式是先使用再减1。
例如:
int a=10;
System.out.println("a=" + a--);
上述语句执行结果为:a=10,为什么不是9呢?自减后缀式是先使用再自减,因此先输出a的当前数值,然后a再做减1操作。
int a=10;
System.out.println("a=" + --a);
上述语句执行结果为:a=9,自减前缀式是先自减再使用,变量a先做减1操作,然后再输出。
示例3:自增自减运算
在D盘Java目录下,新建“SelfOpSample.java”文件。用记事本打开“SelfOpSample.java”文件,输入以下代码:
代码结构分析
程序功能主要是演示自增自减 运算符的使用方法。
语句“System.out.println("a=" + a++);”,其中a++为后缀式自增,变量a先使用后自增1,因此输出10。
语句“System.out.println("a=" + ++a);”,其中++a为前缀式自增,变量a先自增1后使用,因此输出11。
语句“System.out.println("b=" + b--);”,其中b--为后缀式自减,变量b先使用后自减,因此输出10。
语句“System.out.println("b=" + --b);”,其中--b为前缀式自减,变量b先自减后使用,因此输出9。
编译“SelfOpSample.java”文件,在命令行窗口输入“javac SelfOpSample.java”并执行命令,编译通过后,在命令行窗口输入“java SelfOpSample”运行Java程序,命令行窗口显示如下信息:
图 6-4 自增自减运算执行结果
从上述结果可以看出,前缀式自增是先自增后使用,后缀式自增是先使用后自增;前缀式自减是先自减后使用,后缀式自减是先使用后自减。
双目运算符是指两个操作数参加运算,其中加法(+)、减法(-)、除法(/)、乘法(*)、取余(%)都是双目运算符;单目运算符是指仅一个操作数参加的运算,其中自增(++)、自减(--)是单目运算符。
(1)下列语句执行的结果为
int num = 18;
System.out.printf("a=%d" ,num++);
A. 18
B. 19
C. 17
D. 20
(2)下列语句执行的结果为
int num = 18;
System.out.printf("a=%d" ,--num);
A.18
B.19
C.17
D.20
(3)编写一个程序,输出算术表达式a*b-c/d的计算结果,其中a、b、c、d为整型变量,赋值后参与表达式计算,并输出计算结果。