a++和++a的区别,能举个例子吗
9个回答
展开全部
a++和++a的区别为:加1操作不同、操作期间a值不同、过程对象不同。
一、加1操作不同
1、a++:a++先执行加1操作。
2、++a:++a后执行加1操作。
二、过程对象不同
1、a++:a++的过程对象为a参数变量。
2、++a:++a的过程对象为a++表达式。
/iknow-pic.cdn.bcebos.com/64380cd7912397dd9be98f645682b2b7d0a28739"target="_blank"title="点击查看大图"class="ikqb_img_alink">/iknow-pic.cdn.bcebos.com/64380cd7912397dd9be98f645682b2b7d0a28739?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc="https://iknow-pic.cdn.bcebos.com/64380cd7912397dd9be98f645682b2b7d0a28739"/>
三、操作期间a值不同
1、a++:a++在操作期间的a值为原值。
2、++a:++a在操作期间的a值为原值+1。
举个例子:
1、a=1;b=a++;运算后:b=1,a=2。
2、a=1;b=++a;运算后:b=2,a=2。
一、加1操作不同
1、a++:a++先执行加1操作。
2、++a:++a后执行加1操作。
二、过程对象不同
1、a++:a++的过程对象为a参数变量。
2、++a:++a的过程对象为a++表达式。
/iknow-pic.cdn.bcebos.com/64380cd7912397dd9be98f645682b2b7d0a28739"target="_blank"title="点击查看大图"class="ikqb_img_alink">/iknow-pic.cdn.bcebos.com/64380cd7912397dd9be98f645682b2b7d0a28739?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc="https://iknow-pic.cdn.bcebos.com/64380cd7912397dd9be98f645682b2b7d0a28739"/>
三、操作期间a值不同
1、a++:a++在操作期间的a值为原值。
2、++a:++a在操作期间的a值为原值+1。
举个例子:
1、a=1;b=a++;运算后:b=1,a=2。
2、a=1;b=++a;运算后:b=2,a=2。
展开全部
a++和++a的区别为:加1操作不同、操作期间a值不同、过程对象不同。
一、加1操作不同
1、a++:a++先执行加1操作。
2、++a:++a后执行加1操作。
二、过程对象不同
1、a++:a++的过程对象为a参数变量。
2、++a:++a的过程对象为a++表达式。
三、操作期间a值不同
1、a++:a++在操作期间的a值为原值。
2、++a:++a在操作期间的a值为原值+1。
举个例子:
1、a=1;b=a++;运算后:b=1,a=2。
2、a=1;b=++a;运算后:b=2,a=2。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a++ 的含义是先赋值后相加,如 b=a++; 先将a的值赋给b,然后a再加上1;++a的含义是先相加后赋值,如 b=++a 先将a加上1,然后再把加上1的a赋给b.
int a=1;
b=a++; ---> b=a ,b=1;a+1,a=2;
b=++a;--->b=a+1,b=2; 此时的a已经是2
int a=1;
b=a++; ---> b=a ,b=1;a+1,a=2;
b=++a;--->b=a+1,b=2; 此时的a已经是2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2018-02-23 · 百度知道合伙人官方认证企业
尚学堂科技有限公司
北京尚学堂科技有限公司是一家从事JAVA、大数据、web前端、网络在线教育、互联网架构师、Android、ios技术开发、咨询为一体的软件公司。公司由海外留学人员和国内IT人士创建。
向TA提问
关注
展开全部
后缀自增法(a++): 先进行表达式运算,再进行自增运算。
前缀自增法(++a): 先进行自增运算,再进行表达式运算。
举例1如下:
public class Operation {
public static void main(String[] args) {
int a = 5;
/**
* int b 相当于:5 + 6 + 7 = 18
* 执行完a++[运算]后a进行自增,不是执行完此条完整语句后a才自增,而且在同一条语句中a++以后的a都是自增以后的值 */
*/
int b = a++ + a++ + a;
// a经过两次自增,所以它的值是7
System.out.println("a=" + a);
System.out.println("b=" + b);
}}
举例2如下:
public class Operation {
public static void main(String[] args) {
int a = 5;
/**
* int b 相当于:6 + 7 + 7 = 20
* 执行++a[运算]时a先进行自增.而且在同一条语句中++a以后的a都是自增以后的值
*/
int b = ++a + ++a + a;
// a经过两次自增,所以它的值是7
System.out.println("a=" + a);
System.out.println("b=" + b);
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a艹做完表达式后自增,艹a先自增再做表达式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |