Java中关于i++与++i的问题

简介:

在《Java程序员面试宝典》里面有提到i++这个部分,j++是一个依赖于java里面的“中间缓存变量机制”来实现的。通俗的说

++在前就是“先加后赋”(++j)

++在后就是“先赋后加”(j++)

package cn.xy.test;

public class TestPlus
{
	private static int a()
	{
		int i = 10;
		int a = 0;
		a = i++ + i++;

		// temp1 = i; 10
		// i = i + 1; 11
		// temp2 = i; 11
		// i = i + 1; 12
		// a = temp1 + temp2 = 21;
		return a;
	}

	private static int b()
	{
		int i = 10;
		int b = 0;
		b = ++i + ++i;

		// i = i + 1; 11
		// temp1 = i; 11
		// i = i + 1; 12
		// temp2 = i; 12
		// b = temp1 + temp2 = 23;
		return b;
	}

	private static int c()
	{
		int i = 10;
		int c = 0;
		c = ++i + i++;

		// i = i + 1; 11
		// temp1 = i; 11
		// temp2 = i 11
		// i = i + 1; 12
		// c = temp1 + temp2 = 22
		return c;
	}

	private static int d()
	{
		int i = 10;
		int d = 0;
		d = i++ + ++i;

		// temp1 = i; 10
		// i = i + 1; 11
		// i = i + 1; 12
		// temp2 = i; 12
		// d = temp1 + temp2 = 22;
		return d;
	}

	public static void main(String[] args)
	{
		System.out.println(a());
		System.out.println(b());
		System.out.println(c());
		System.out.println(d());
	}
}

原帖地址:http://blog.csdn.net/zlqqhs/article/details/8288800

目录
相关文章
|
存储 DataWorks 数据处理
DataWorks如何预估费用?
DataWorks如何预估费用?
227 1
|
Android开发 开发者
RecyclerView定制:通用ItemDecoration及全展开RecyclerView的实现
RecyclerView定制:通用ItemDecoration及全展开RecyclerView的实现
523 0
RecyclerView定制:通用ItemDecoration及全展开RecyclerView的实现
|
存储 运维 监控
阿里云原生Lindorm TSDB数据库,驱动工业IT&OT超融合数字化系统升级
阿里云 Lindorm 数据库面向工业场景的最佳实践案例。
856 0
阿里云原生Lindorm TSDB数据库,驱动工业IT&OT超融合数字化系统升级
|
Android开发 C++ Windows
【Android 逆向】Android 中常用的 so 动态库 ( /system/lib/libc.so 动态库 | libc++.so 动态库 | libstdc++.so 动态库 )
【Android 逆向】Android 中常用的 so 动态库 ( /system/lib/libc.so 动态库 | libc++.so 动态库 | libstdc++.so 动态库 )
604 0
【Android 逆向】Android 中常用的 so 动态库 ( /system/lib/libc.so 动态库 | libc++.so 动态库 | libstdc++.so 动态库 )
|
前端开发 JavaScript 应用服务中间件
diffy做流量比对的实践和样例
因为要想做这个流量比对,那得有前端代码,后端代码,nginx,测试同学想要熟悉diffy的功能,需要有修改前后端代码的能力,我们的AIMP项目部署起来相对复杂,所以我编写了一个小项目,用于同学们测试。
1088 0
diffy做流量比对的实践和样例
|
算法 搜索推荐 决策智能
手淘促活那些事儿 | 智能投放算法框架助力用户增长
作为淘系用户增长算法团队,我们的定位是为淘系用户增长提供基础的用户理解、用户触达干预等算法能力,探索增长相关的玩法和机制,与产品、运营、开发等兄弟团队紧密配合,完成淘系用户增长的目标。
4271 0
手淘促活那些事儿 | 智能投放算法框架助力用户增长
|
存储 小程序 API
wxwork和wx.qy判断企业微信小程序编译运行环境
根据官方文档有两种方式可以判断: 1、方法一: 调用获取系统信息API【uni.getSystemInfoSync()】,获取environment 字段判断。 在官方文档中特别说明:在企业微信中调用此接口时,会额外返回一个 environment 字段(微信中不返回),如此字段值为 wxwork,则表示当前小程序运行在企业微信环境中。 注意:只有运行在企业微信环境中,才能调用【wx.qy】的接口。 2、方法二: 根据上面一个提示,告诉我们在企微环境中,才可以调用【wx.qy】以获取版本信息。
703 0
|
存储 机器学习/深度学习 缓存
阿里云容器服务团队实践——Alluxio优化数倍提升云上Kubernetes深度学习训练性能
近些年,以深度学习为代表的人工智能技术取得了飞速的发展,正落地应用于各行各业。越来越多的用户在云上构建人工智能训练平台,利用云平台的弹性计算能力满足高速增长的AI业务模型训练方面的需求,然而这种“本地存储+云上训练”的训练模式加剧了计算存储分离架构带来的远程数据访问的性能影响。
4736 0
阿里云容器服务团队实践——Alluxio优化数倍提升云上Kubernetes深度学习训练性能
|
存储 边缘计算 网络协议
利用阿里云搭建WordPress网站 – 动静分离和CDN加速
WordPress是一种非常流行的博客网站平台,也可以当作一个内容管理系统(CMS)来使用, 是世界上使用最广泛的博客系统之一。WordPress有非常多优秀的插件,使得这个开源产品变得非常容易扩展,满足不同的需求。
6407 1
如何将钉钉和企业邮箱结合起来使用
最近在研究一个目前常见的企业办公模式,企业邮箱和钉钉的结合。 企业邮箱已经成为企业在现今互联网时代中不可缺少的通讯工具之一,企业邮箱的地址格式一般为“员工姓名@公司域名”,相对于个人邮箱,企业邮箱能为企业带来更多价值。
8405 0