学习任务:

视频学习Java自增与自减运算符

动手测试案例

在程序中很多场景对变量加1或减1,比如点赞,点一下赞则加1,java提供自增和自减运算符来实现加1和减1的动作:

++为自增运算符
--为自减运算符

1)自增

两种语法 :

第一:变量名++
第二:++变量名

从语法上看加加运算符是单目运算符。

例子:

int j = 8;
//j++相当于j=j+1;执行过后j=9
j++;
System.out.println(j);
int m = 7;
//将m++表达式的值赋值给n
int n = m++;
System.out.println(n);

j++相当于j=j+1;第一个输出语句,输出j为9。

在执行int n = m++;之前m的初始值为7,执行int n = m++;是将m++表达式的值赋值给n,输出n的值应该是8,正确答案是7, 为什么呢?

m++表达式中++在变量名的后边,先取出m的值作为表达式的值,再执行m=m+1的动作,int n = m++;相当于下边的语句:

int n = m;
m = m + 1;
System.out.println(n);

再看下边的代码:

int a = 6;
//将++a表达式的值赋值给b
int b = ++a;
System.out.println(b);

int b = ++a;执行后,输出b的值是多少呢?

++a和m++的不同的点是++a的两个加号在变量的前边,计算方式有区别吗?

当加加在变量名的后边,先取出变量的值作为表达式的值,再执行变量加1的动作,当加加在变量名的前边,是先执行变量加1的动作,再将变量的值作为表达 式的值。

int b = ++a;是先将a变量加1并赋值给a,再将++a表达式的值即a变量的值赋值给b,所以输出b为7,相当于下边的语句:

a = a+1;
b = a;
System.out.println(b);

总结:加加符号在前就是先加1后取值(取变量的新值),加加符号在后则是先取值(取变量的旧值)后加1。

2)自减

自减和自增的方法类似:

符号在前就是先减1后取值,符号在后则是先取值后减1。

看看下边代码输出什么:

int j = 8;
//j--相当于j=j-1;执行过后j=7
j--;
System.out.println(j);
System.out.println(j--);
int m = 7;
//将m--表达式的值赋值给n
int n = m--;
System.out.println(n);
int a = 6;
//将--a表达式的值赋值给n
int b = --a;
System.out.println(b);
System.out.println(--b);

结果:

7
7
7
5
4
提问-攀博课堂
我要提问 不会就问,有效沟通
关注公众号,加入微信群交流提问。 攀博课堂官方公众号
问答列表,查看本知识点所有问题