A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王小刚 中级黑马   /  2012-3-28 19:01  /  1588 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王小刚 于 2012-3-28 19:28 编辑

public class Test
  {      
         static int x=5;
         static void main(String[] args)
        {       
             change(x);
              x++;
              System.out.println(x);
        }
      static void change(int m)
     {
                m+=2;
      }
}

  为什么输出结果是 6
   不明白呀
     不是应该是 8 吗

3 个回复

倒序浏览
哥们,代码发全好不好、、
回复 使用道具 举报
你的代码不全,x的初始值是多少呢?
我分析了一下,你x初始值应该是5;
你的change方法是没有返回值的。所以调用这个方法等于没对x做任何改变。
x初始值是5,经过一个没有返回值的方法,x仍是:5,再经过x++,之后进行输出,结果肯定是6了。
如果想实现change的方法,你应该这样写change()

static int change(int m)
        {
                m+=2;
               return m;
        }
回复 使用道具 举报
刚才代码没发全 不好意思
    2楼说的真好
       我懂了
  难怪呀
    碰到几个这样的题了
    就是想不明白
      呵呵
  现在OK了
    3K
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马