求大神解答!参数传递问题 本帖最后由 u012372268 于 2014-11-20 15:36:41 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://blog.csdn.net/niuniu20008/article/details/2953785 java的参数传递模式是值传递,只是将变量中的值复制一份,然后赋值给形参,整个方法中值的变化不影响原有变量中的值。不过需要注意以下两点:(1)方法有返回值时,将返回值赋值给原变量,例如 square(int x)方法的作用是返回x*x,若果单纯的执行square(a),则a的值不会发生任何改变,但如执行语句a=square(a),则变量a先将所代表的值赋值给形参x,然后执行square()方法,此时变量a任是原值,最后执行“=”运算,将方法返回的值赋值给变量a,此时变量a的值才发生改变,但在执行方法时,a的值没有发生任何改变。这一点容易引起混淆,以为在执行方法时,a的值已经发生改变;(2)还有一个容易引起混淆的地方时,引用变量的值传递。引用变量中存储的是对象在堆中的地址,在参数传递时,由于是值传递,传给形参的也是对象在堆中的地址,此时形参的变化就是对象的变化。 以上两点容易混淆,要理清楚,要把握住:java的参数传递方式——值传递。 http://blog.csdn.net/cocoa_cactus/article/details/16992091 [求助]前辈们帮忙推荐下一些看起来简单易懂的设计模式方面的书 刚安装的JCreator 可是往里面简单输出一行代码 提示如下 望高手指点 JDK以前安装的 可以很好的使用 java 数据类型,急用,在线等 学不会的JAVA,消不了的忧愁 求教:如何辨别一个文件是可执行文件? 请问怎样用java查到所连的数据库使用的字符集编码? 如何判断字符串的编码方式? (分多快抢啊) 我回来了,高兴,散分 想学JAVA,但不知从何入手 新人报道,问个老生常谈的问题。。Java编程思想怎么看 split函数如果保留最后一个空的位置? 表达式解析问题?求版主觖疑难问题
(1)方法有返回值时,将返回值赋值给原变量,例如 square(int x)方法的作用是返回x*x,若果单纯的执行square(a),则a的
值不会发生任何改变,但如执行语句a=square(a),则变量a先将所代表的值赋值给形参x,然后执行square()方法,此时变量a任是原值,最后执行“=”运算,将方法返回的值赋值给变量a,此时变量a的值才发生改变,但在执行方法时,a的值没有发生任何改变。这一点容易引起混淆,以为在执行方法时,a的值已经发生改变;
(2)还有一个容易引起混淆的地方时,引用变量的值传递。引用变量中存储的是对象在堆中的地址,在参数传递时,由于是值传递,传给形参的也是对象在堆中的地址,此时形参的变化就是对象的变化。
以上两点容易混淆,要理清楚,要把握住:java的参数传递方式——值传递。