当前位置: 首页 > news >正文

JAVA之自增自减运算符

自增(++)自减(--)运算符是一种特殊的算术运算符,自增自减运算符是一个操作数。

	public static void main(String[] args) {
		int a = 30;
		int b = 20;
		System.out.println("a++ = " + (a++));
		System.out.println("++a = " + (++a));
		System.out.println("b-- = " + (b--));
		System.out.println("--b = " + (--b));
	}

运行结果:

a++ = 30
++a = 32
b-- = 20
--b = 18

解析:

1、a++ : 后缀自增法,先进行表达式运算,再进行自增运算,所以打印结果是30,而实际a = 31

2、++a : 有a++得知,a=31。 拆分++a的运行过程,a = a + 1; 所以最后的运行结果是 a = 32

3、b--和--b是同上。


	public static void main(String[] args) {
		int a = 30;
		int b = --a;
		int c = 20;
		int d = ++c;
		System.out.println("a = " + a);
		System.out.println("b = " + b);
		System.out.println("c = " + c);
		System.out.println("d = " + d);
	
	}

运行结果:

a = 29
b = 29
c = 21
d = 21

解析:

1、int b = --a;拆分运行过程,a = a - 1 = 29; b = a = 29;所以结果是a = 29,b = 29。

2、int d = ++c;拆分运行过程,c = c + 1 = 21; d = c = 21;所以结果是c = 21,d = 21。


总结:

1、前缀自增(++a)自减(--a),先进行自增或者自减,然后计算表达式运算。

2、后缀自增(a++)自减(a--),先计算表达式运行,然后进行自增或者自减。


相关文章:

  • JAVA之“==”和“equals”的区别
  • JAVA之equals对于引用类型比较的方式不同呢
  • JAVA之String,StringBuffer与StringBuilder三者之间的区别
  • JAVA之冒泡(Bubble)排序
  • JAVA之选择排序
  • JAVA之插入排序
  • JAVA之类,构造函数和构造代码块
  • JAVA面试题之冒泡排序,插入排序及选择排序
  • Linux安装JDK步骤
  • Linux之ssh,scp命令的使用
  • Linux之ssh免密登录
  • Hadoop-2.8.0安装教程---单机/伪分布式配置
  • Java之序列化与反序列化
  • Hadoop之常用shell命令整理
  • Itext笔记之pdf页眉页脚
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • Android优雅地处理按钮重复点击
  • ECMAScript6(0):ES6简明参考手册
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • javascript数组去重/查找/插入/删除
  • SQLServer之创建数据库快照
  • tweak 支持第三方库
  • 程序员最讨厌的9句话,你可有补充?
  • 分布式事物理论与实践
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 来,膜拜下android roadmap,强大的执行力
  • 排序算法之--选择排序
  • 收藏好这篇,别再只说“数据劫持”了
  • 自动记录MySQL慢查询快照脚本
  • RDS-Mysql 物理备份恢复到本地数据库上
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • ​业务双活的数据切换思路设计(下)
  • #QT项目实战(天气预报)
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (转)重识new
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • (转载)从 Java 代码到 Java 堆
  • **PHP分步表单提交思路(分页表单提交)
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .NET序列化 serializable,反序列化
  • ?php echo $logosrc[0];?,如何在一行中显示logo和标题?
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • []FET-430SIM508 研究日志 11.3.31
  • []利用定点式具实现:文件读取,完成不同进制之间的