网站首页 > java教程 正文
难度
初级
学习时间
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学习小组”。
全栈工程师学习计划
关注我们,加入“全栈工程师学习计划”。
版权声明
原创不易,未经允许不得转载!
猜你喜欢
- 2024-10-21 java培训教程分享:java基础运算符
- 2024-10-21 JAVA快速入门——算数运算符(java的算术运算)
- 2024-10-21 「景哥java」搞懂java的运算符(java运算符运算方法)
- 2024-10-21 第三章:Java运算符、表达式练习(java运算符和表达式程序题)
- 2024-10-21 Java编程思想:使用 Java 运算符(java?:运算符)
- 2024-10-21 「Java」运算符优先级(java运算符优先级由高到低)
- 2024-10-21 都这年头了不会还有人不知道「java」运算符吧?
- 2024-10-21 学习笔记——java基本语法(运算符「算数运算符」)
- 2024-10-21 【java】运算符基础 【java】运算符基础 #运算符
- 2024-10-21 「第9节」java运算符知识拓展:简捷运算符
你 发表评论:
欢迎- 07-21如何将 iPhone 中的联系人导出到 Excel/CSV?
- 07-21sql查询的字段数据中有逗号。放到csv文件会分开,如何解决?
- 07-21在 WebAPI 里生成 csv zip 文件(webapi怎么发布在iis上)
- 07-21如何把csv格式转换成Excel格式(csv格式怎么转换)
- 07-21如何将高程导出为XYZ或CSV高程点(如何将高程数据导入cad)
- 07-21使用python把csv汇总成excel(python怎么将csv文件中的列存入列表)
- 07-21解决PHP导出CSV文件中文乱码问题(php导出excel文件)
- 07-21使用vba将Excel 文件转成 CSV 文件
- 最近发表
-
- 如何将 iPhone 中的联系人导出到 Excel/CSV?
- sql查询的字段数据中有逗号。放到csv文件会分开,如何解决?
- 在 WebAPI 里生成 csv zip 文件(webapi怎么发布在iis上)
- 如何把csv格式转换成Excel格式(csv格式怎么转换)
- 如何将高程导出为XYZ或CSV高程点(如何将高程数据导入cad)
- 使用python把csv汇总成excel(python怎么将csv文件中的列存入列表)
- 解决PHP导出CSV文件中文乱码问题(php导出excel文件)
- 使用vba将Excel 文件转成 CSV 文件
- python爬虫25 | 爬取的数据怎么保存?CSV了解一下
- MySQL 导出数据(mysql 导出数据 判断成功)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)