难度
初级
学习时间
30分钟
适合人群
零基础
开发语言
Java
开发环境
- JDK v11
- IntelliJ IDEA v2018.3
1.什么是一元运算符?
一元运算符只需要一个操作数; 它们执行各种操作,例如将值递增/递减1,否定表达式或反转布尔值。
2.一元运算符表
从表中我们可以看出,一共有5种运算符,其实是有6种运算符,还有一个反码运算符在后续章节中讲解。下面我们依次来看看它们的作用。
3.一元加运算符
书写代码:
运行结果:
它就表示了一个整数1。
4.递减运算符
书写代码:
运行结果:
递减运算符每次减去数值1。
5.递增运算符
书写代码:
运行结果:
递减运算符每次增加数值1。
6.一元减运算符
书写代码:
运行结果:
它将数值变为了负值。
7.反转布尔值
书写代码:
运行结果:
我们可以看到输出一个false和一个true。
8.++expr与expr++、--expr与expr--
名词解释:expr是表达式英文的缩写,表达式英文为expression。
所以,将expr换成result,那就是++result与result--、--result与result--。
我们来看看++在前与++在后,有什么不同?
++在前
书写代码:
运行结果:
大家可以看到,运行结果为2。我们来分析一下为什么是2?
第一步,定义一个int类型的变量result,初始值为1;
第二步,++result相当于result = result + 1;也就是result自增1,然后赋值给result;
第三步:前面result的值为1,所以result = result + 1;就是result = 1 + 1;
所以,最后计算的结果就是2。
++在后
书写代码:
运行结果:
当++符号在后时,为什么结果是1?
第一步,定义一个int类型变量result,初始值为1;
第二步,System.out.println(result++);++符号在后表示先赋值,再计算。所以可以分解为三步:
在开始第1步之前,我们来看一下System.out.println方法源码:
System.out.println方法接受一个int类型的参数,参数名为x;为什么要介绍这个方法,因为对于我们理解++符号在后很重要。参数不理解的同学可以先把记为要输出什么数值,传给x就好了,然后电脑就会输出x;
例如,你要输出整数123,然后你调用System.out.println(123);这个数值123就传给了x,接着System.out.println方法内部就显示输出x,也就是显示输出123。
1.将result赋值给x。因为result值为1,所以x也为1;
2.赋值完了之后,result自增1,result变为了2;
3.显示输出x,也是显示输出1。
++expr与expr++
++在前时,赋值的是计算值;也就是先递增,后赋值。
++在后时,赋值的是原始值,也就是先赋值,再递增。
--expr与expr--
例子在这里就不重复列举了,如果大家需要的话请留言或者私信我们。
--在前时,赋值的是计算值;也就是先递减,后赋值。
--在后时,赋值的是原始值,也就是先赋值,再递减。
小试牛刀
大家说下面这段程序打印结果是什么?
参考答案:
至此,Java中一元运算符相关内容讲解先告一段落,更多内容请持续关注。
附:运算符表
答疑
如果大家有问题或想了解更多前沿技术,请在下方留言或评论,我会为大家解答。
上一章
下一章
“全栈2019”Java第十九章:关系运算符、条件运算符和三元运算符
学习小组
加入同步学习小组,共同交流与进步。
- 方式一:关注头条号gorhaf,私信“Java学习小组”。
- 方式二:关注公众号gorhaf,回复“Java学习小组”。
全栈工程师学习计划
关注我们,加入“全栈工程师学习计划”。
版权声明
原创不易,未经允许不得转载!