Java 自增问题。 num = num ++ * 2 ;

publicstaticvoidmain(Stringargs[]){intnum=50;num=num++*2;System.out.println(num);}程序输... public static void main(String args[]) {
int num = 50 ;
num = num ++ * 2 ;
System.out.println(num) ;
}
程序输出多少?为什么这么输出?
展开
 我来答
str夜风
2017-06-30 · TA获得超过272个赞
知道小有建树答主
回答量:333
采纳率:68%
帮助的人:196万
展开全部
输出100。
其实计较这东西毫无意义,这就是有些老师在教学生的时候闲的没事死扣这个东西。

num++和++num的区别就是,num++是先执行赋值再进行++运算,就是在当前步执行完,下一步执行前进行增值。
++num是先进行++运算再进行赋值,即当前步执行前先给num进行增值再进行其他运算
追问
这个程序num++没起作用么?
追答
没起作用啊,因为你这个num在    num = num ++ * 2 ;  
这一步不是被重新赋值了么,如果你把赋值对象换成另一个变量就能看到结果了
百度网友5c73ec8
2019-05-07
知道答主
回答量:20
采纳率:0%
帮助的人:1.3万
展开全部
public class demo {
public static void main(String[]args) {
int num=50;
int x=num++*2;
System.out.println(num);//51
System.out.println(x);//100
}
}

这个就相当于num=50x2=100,然后,num在自增+1=51

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xdyuan33333
2017-06-30 · 超过78用户采纳过TA的回答
知道小有建树答主
回答量:164
采纳率:70%
帮助的人:73.8万
展开全部
num十十,意思是先让num参与运算,之后再自增,所以结果100
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2018-08-28
展开全部
num在被赋值时地址改变了,所以是100
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2020-03-14
展开全部
num = num ++ *2;
先进行num*2,再进行num++,最后再进行赋值
1. A = num * 2;
2. num = num + 1;
3. num = A;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式