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

目录
相关文章
|
9月前
|
小程序 Java 编译器
初识java(下)
初识java(下)
64 0
|
5月前
|
Java 数据库连接 API
Java是什么?
Java是什么?
30 0
|
10月前
|
分布式计算 前端开发 JavaScript
初识Java
初识Java
46 1
|
11月前
|
负载均衡 Java 应用服务中间件
[Java]ITOO初步了解
[Java]ITOO初步了解
69 0
|
12月前
|
存储 Java
|
Java
Java常见的坑(二)
你猜上述程序输出的是什么? 是 ABC easy as 123 吗? 你执行了输出操作,你才发现输出的是 ABC easy as [C@6e8cf4c6 ,这么一串丑陋的数字是什么鬼? 实际上我们知道字符串与任何数值的相加都会变为字符串,上述事例也不例外, numbers输出其实实际上是调用了Object.toString()方法,让numbers转变为'[c' + '@' + 无符号的十六进制数。
40 0
|
编解码 Java
1068 万绿丛中一点红(JAVA)
对于计算机而言,颜色不过是像素点对应的一个 24 位的数值。现给定一幅分辨率为 M×N 的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点的颜色与其周围 8 个相邻像素的颜色差充分大。
1068 万绿丛中一点红(JAVA)
|
网络协议 Java Linux
关于 Java 18 你想知道的一切(上)
关于 Java 18 你想知道的一切(上)
关于 Java 18 你想知道的一切(上)
|
存储 Java
Java - 9 个小技巧让你的 if else 看起来更优雅(一)
Java - 9 个小技巧让你的 if else 看起来更优雅(一)
339 0
Java - 9 个小技巧让你的 if else 看起来更优雅(一)
|
Java
Java - 9 个小技巧让你的 if else 看起来更优雅(二)
Java - 9 个小技巧让你的 if else 看起来更优雅(二)
189 0