黑马程序员技术交流社区

标题: 一个很简单的问题,求解释... [打印本页]

作者: 王小刚    时间: 2012-3-28 19:01
标题: 一个很简单的问题,求解释...
本帖最后由 王小刚 于 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 吗
作者: 朱鹏举    时间: 2012-3-28 19:17
哥们,代码发全好不好、、
作者: 杨华威    时间: 2012-3-28 19:23
你的代码不全,x的初始值是多少呢?
我分析了一下,你x初始值应该是5;
你的change方法是没有返回值的。所以调用这个方法等于没对x做任何改变。
x初始值是5,经过一个没有返回值的方法,x仍是:5,再经过x++,之后进行输出,结果肯定是6了。
如果想实现change的方法,你应该这样写change()

static int change(int m)
        {
                m+=2;
               return m;
        }

作者: 王小刚    时间: 2012-3-28 19:31
刚才代码没发全 不好意思
    2楼说的真好
       我懂了
  难怪呀
    碰到几个这样的题了
    就是想不明白
      呵呵
  现在OK了
    3K




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2