本人从编译后的代码来看a++和++a的区别:
先看代码1:
int a=1;
a++;
System.out.println(a);
++a;
System.out.println(a);
编译后的代码1:
int a = 1;
a++;
System.out.println(a);
a++;
System.out.println(a);
输出:2 3
可见当单独使用时,a++和++a没有区别,都被编译成a++了。
再看代码2:
int a=1;
int b=a++;
System.out.println(a);
System.out.println(b);
int c=++a;
System.out.println(a);
System.out.println(c);
int d=(++a)+(++a)+(++a);
System.out.println(a);
System.out.println(d);
编译后的代码2:
int a = 1;
int b = a++;
System.out.println(a);
System.out.println(b);
a++;
int c = a;
System.out.println(a);
System.out.println(c);
a++;
a++;
int d = a++ + a + a;
System.out.println(a);
System.out.println(d);
输出:2 1 3 3 6 15
可以看出所谓的a++的“先用后加,”++a的“先加后用”的实现了。
分享到:
相关推荐
在eclipse中运行如下代码,很多小伙伴在纠结到底应该是多少,其实正确结果应该是0!!! int i = 0; i = i++; System.out.println("i的值是 : " + i); 这是和JVM的内存分配有关,JVM在处理这段带代码时,会先把i++的...
(基于JSP的完整java毕业设计)JSP+access手机销售系统(论文+系统+开题+封面+扉页+需求分析+任务书)(附源码).rar(基于JSP的完整java毕业设计)JSP+access手机销售系统(论文+系统+开题+封面+扉页+需求分析+任务书)...
java+++mysql++BS结构的进销存系统Java源码
(基于JSP的完整java毕业设计)JSP+SQL学生考试成绩分析(源代码+论wen).rar(基于JSP的完整java毕业设计)JSP+SQL学生考试成绩分析(源代码+论wen).rar(基于JSP的完整java毕业设计)JSP+SQL学生考试成绩分析(源代码+...
java+selenium+maven+testng自动化测试框架实例(实际项目)
Java点餐订餐系统+Java学习资料+Java教程第2集+02-需求分析。
Java点餐订餐系统+Java学习资料+Java教程第3集+03-页面分析。
Java点餐订餐系统+Java学习资料+Java教程第6集+06-数据库分析。
Java点餐订餐系统+Java学习资料+Java教程第14集+14-点餐页面-功能分析。
纯java调用ws-security+CXF实现的webservice安全接口
JAVA WEB大作业 JSP+SERVLET+JAVABEAN模式开发............2010年寒假最后三天在学校做的,很简单
Java人事管理系统源码+论文+答辩PPT Java人事管理系统源码+论文+答辩PPT Java人事管理系统源码+论文+答辩PPT
基于JAVA的文件传输(源代码+分析文档)设计与实现 基于JAVA的文件传输(源代码+分析文档)设计与实现 基于JAVA的文件传输(源代码+分析文档)设计与实现 基于JAVA的文件传输(源代码+分析文档)设计与实现 基于JAVA的文件...
Java中:struts2+jQuery+ajax调用(引用) 代码,解析,源码,demo,实例,分析
用案例学Java Web整合开发:Java+Eclipse+Struts 2+Ajax
Java 开发--JSP+access手机销售系统(论文+系统+开题+封面+扉页+需求分析+任务书)
在线选课系统:包括学生和老师两种用户,学生可进行选课查询,老师可进行添加课程和查询功能。使用java servlet+jsp+mysql+css+js制作
Java设计模式(图解+框架源码分析+实战)- 黑马课件
千里之行购物网站实现技术java+javaScript+Html+sqlServer2005 前台功能:客户购物、查询商品等 后台功能:管理商品、管理用户等
深入分析Java++Web技术内幕++修订版PDF,好东西大家一起分享