为了账号安全,请及时绑定邮箱和手机立即绑定

程序怎么运行错误啊?怎么调试?

这个程序怎么调整啊!a b的值应该是41啊

http://img1.sycdn.imooc.com//565ee4ec000151af08030433.jpg

正在回答

4 回答

public static void main(String[] args) {

int a=40;

int c=a++;     //此时a==41, c==40

int b=++a;     //此时a==42,b==42

System.out.println("a="+a);


0 回复 有任何疑惑可以回复我~

是啊,所以C是40啊,这个没有错啊。关键是a b的值怎么加到2了?是不是Eclipse需要调试下?

0 回复 有任何疑惑可以回复我~
#1

静以修身淡以明志

a++是a=40,然后执行a=a+1=41 ++a是a=a+1=42(因为++a是在a++后,所以执行++a时,a的值已经为41了),b=a=42
2015-12-02 回复 有任何疑惑可以回复我~

a++是先执行表达式后再自增,执行表达式时使用的是a的原值。
++a是先自增再执行表达示,执行表达式时使用的是自增后的a。
例:
int a=0
printf("%d",a++); //输出0,执行完后a=1

int a=0
printf("%d",++a);//输出1,执行完后a=1

0 回复 有任何疑惑可以回复我~
#1

Deanrao 提问者

是啊,所以C是40啊,这个没有错啊。关键是a b的值怎么加到2了?是不是Eclipse需要调试下?
2015-12-02 回复 有任何疑惑可以回复我~

a++是先执行表达式后再自增,执行表达式时使用的是a的原值。
++a是先自增再执行表达示,执行表达式时使用的是自增后的a。

0 回复 有任何疑惑可以回复我~
#1

Deanrao 提问者

是啊,所以C是40啊,这个没有错啊。关键是a b的值怎么加到2了?
2015-12-02 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165453    人
  • 解答问题       17585    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

程序怎么运行错误啊?怎么调试?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信